W Capitally funkcje takie jak Import i Podatki pozwalają definiować złożoną logikę za pomocą prostego edytora no-code. Wszystkie wbudowane presety są tworzone przy użyciu tego samego edytora — dzięki temu możesz korzystać z pełnych możliwości aplikacji i dostosować ją do swoich potrzeb.
Ten artykuł przeprowadzi Cię przez wspólne funkcjonalności. Szczegółowe informacje znajdziesz w artykułach dotyczących Importu i Podatków .
Elementy składowe
Presety są budowane przy użyciu Wyciągów. Podczas ich wykonywania każdy wyciąg jest przetwarzany kolejno, aż do napotkania wyciągu Exit lub zakończenia listy wyciągów.
Gdy wyciąg musi obliczyć wartość, używane jest wyrażenie . Może to być stała wartość, np. aktywo lub konkretna liczba, wartość parametru, np. kolumna danych lub typ transakcji, albo formuły umożliwiające złożone obliczenia.
Możesz traktować to jak prosty język skryptowy lub złożoną formułę w Excelu. Udostępnia podstawowe koncepcje, takie jak wyciągi, wyrażenia, zmienne, funkcje i pętle. Wszystko jest jednak budowane w sposób wizualny, bez pisania kodu.
Fragmenty kodu
Skorzystaj z wbudowanych fragmentów kodu jako dobrego punktu wyjścia. Możesz je wstawiać w dowolnym miejscu z menu Dodaj wyciąg
Podejmowanie decyzji za pomocą instrukcji If
Najbardziej podstawowym wyciągiem jest instrukcja If . Pozwala ona podejmować decyzje na podstawie dowolnych parametrów — jeśli warunki są spełnione, zagnieżdżone wyciągi zostaną wykonane. Jeśli nie są spełnione, sprawdzany jest kolejny blok else lub else if .
Wstawianie wyciągów i bloków if
Aby wstawić nowy wyciąg, najedź kursorem na przestrzeń przed, po lub między istniejącymi wyciągami i kliknij niebieski pojawi się niebieski separator i wybierz instrukcję lub preset z menu.

Aby wstawić nowy blok „If", najedź kursorem na przestrzeń przed, po lub pomiędzy istniejącymi blokami if/else i kliknij szary separator, który się pojawi

Modyfikowanie ich
Każda instrukcja i blok If ma menu, za pomocą którego możesz je Kopiować, Wycinać, Duplikować i Usuwać.
Po skopiowaniu lub wycięciu instrukcji możesz ją wkleić w ten sam sposób, w jaki dodajesz nowe instrukcje — pojawi się tam opcja Wklej.
Możesz kopiować i wklejać między dwoma różnymi Presetami podatkowymi, a nawet między dwoma różnymi projektami.
And / Or
Gdy potrzebne są złożone warunki, możesz opakować pierwszy warunek w blok And/Or i w ten sposób łączyć wiele warunków.

Ustawianie parametrów za pomocą instrukcji Set
Możesz modyfikować parametr lub zmienną obiektu za pomocą instrukcji Set . Wystarczy wybrać parametr do zmodyfikowania i podać wartość.
Waluta opłaty będzie taka sama jak Waluta wartości
Modyfikowanie istniejącej wartości zamiast jej zastępowania
Klikając listę rozwijaną to , możesz wybrać różne tryby przypisania, takie jak dodawanie, mnożenie, dołączanie lub poprzedzanie tekstu itd.
Wartość zostanie zwiększona o kolumnę Kwota, a do Notatki zostanie dołączony Opis
Przekształcanie wartości
Proste wartości skalarne, takie jak tekst czy liczby, mogą zostać przekształcone przed przypisaniem. Klikając fx, możesz wybrać jedną z transformacji. Możesz łączyć ze sobą wiele transformacji i zmieniać ich kolejność metodą przeciągnij i upuść. Ten sam przycisk fx pojawia się wszędzie tam, gdzie mapowanie wyszukuje aktywo, rynek lub źródło ceny na podstawie kolumny lub formuły, dzięki czemu wartość może zostać oczyszczona przed uruchomieniem wyszukiwania.
Wartość stanie się zaokrągloną wartością bezwzględną kolumny KwotaZastępowanie tekstu
Przekształcenie Replace pozwala zastąpić wystąpienia pasującego tekstu czymś innym. Na przykład możesz zastąpić słowo (np. .GR na .EU) lub usunąć coś, zastępując to niczym.

Replace obsługuje również Wyrażenia regularne , w tym tzw. grupy przechwytywania i odwołania wsteczne. Wystarczy przełączyć przycisk (.*) .
Załóżmy, że masz ciąg „apple orange banana" i chcesz zamienić miejscami dwa pierwsze słowa. Możesz użyć wzorca ([a-z]+) [a-z]+ ([a-z]+) i zastąpić go przez $2 $1 , aby uzyskać „orange apple banana".
Wyodrębnianie tekstu
Zamiast wyodrębniać, możesz po prostu dopasować tę część ciągu, która ma zostać użyta. Najlepiej sprawdza się to z Wyrażeniami regularnymi, ponieważ wyodrębniona zostanie pierwsza grupa przechwytywania.
Rozwijając powyższy przykład z „apple orange banana", użycie wzorca [a-z]+ ([a-z]+) [a-z]+ wyodrębni tylko środkowe słowo — „orange".
Mapowanie wartości
W przypadku niektórych parametrów, takich jak Typ aktywa lub Typ transakcji, możesz również mapować wartość z jednej na drugą. Kliknij odwrócone S ikona obok fx aby dodać mapowanie.
Mapowanie sprawdza, czy nadchodząca wartość spełnia określony warunek. Jeśli tak – zostanie użyta wybrana wartość. Mapowania są dopasowywane kolejno, a wygrywa pierwsze pasujące.

Rzutowanie wartości między typami
Parametry mogą mieć niezgodne typy. Na przykład tekst zostanie automatycznie przekonwertowany na liczbę lub datę, o ile zawiera sensowną wartość (np. 2024-11-01 lub 1st Nov 2024).
Działa to również dla Kont, Walut, Rynków i typów transakcji – każda wartość tekstowa zostanie użyta do wyszukania w danych projektu lub danych rynkowych.
W przypadku aktywów możesz dodatkowo określić, które typy aktywów i rynki mają być uwzględnione oraz w jakiej kolejności pierwszeństwa — search in asset types i search in markets — a także search remote assets, co decyduje o tym, czy wyszukiwanie wykracza poza Twój projekt do katalogu rynkowego.
Każde z nich przyjmuje kolumnę lub formułę, a nie tylko stałą wartość. Gdy to nastąpi, obsługuje te same transformacje fx i mapowania odwróconego S, co instrukcja Set, więc z tickera brokera można usunąć przyrostek (AAPL.US → AAPL), lub nazwy typów aktywów z pliku można zmapować na te używane w Capitally przed uruchomieniem wyszukiwania. Wpisanie stałej wartości z powrotem w pole usuwa przypisane do niego transformacje.

Szczegóły i konfiguracja własnego aktywa w mapowaniu aktywa zawiera trzy dodatkowe wyrażenia — asset name, symbol oraz ISIN. Rozszerzają one zakres wyszukiwania, dzięki czemu wiersz, którego wartość wyszukiwania jest pusta, nadal znajduje aktywo po nazwie lub numerze ISIN, a także opisują własne aktywo oferowane, gdy nic nie pasuje. Instrukcje znajdujące się poniżej kształtują to aktywo dalej, a dostępne są tylko te, które mogą to zrobić: If, Set, Variable, Block, Exit, Comment, Update Asset Taxonomies, Use value-based pricing, Use interest-based pricing, Set interest parameters oraz Add interest parameters. Odczytują one wiersz, ale zapisują tylko tworzone aktywo, więc Add interest parameters nie może wskazywać na Aktywo. Mapowanie konta zawiera ten sam rodzaj bloku w sekcji Konfiguracja własnego konta.
Żaden z bloków nie zapisuje danych w projekcie samodzielnie. Przygotowuje on wersję roboczą, a aktywo lub konto jest tworzone dopiero po kliknięciu przycisku Create w niesparowanym wierszu podczas importu.
Mapowanie do Źródło danych rynkowych posiada własny element sterujący: przełącznik optional, opisany w aplikacji jako use manual prices instead of failing. Gdy jest wyłączony, symbol, którego nie ma w katalogu Capitally, powoduje błąd wiersza. Gdy jest włączony, wiersz jest importowany, a aktywo pozostaje bez źródła ceny, więc wyceniasz je ręcznie. Obejmuje to tylko potwierdzony brak — wyszukiwanie, które zwraca błąd lub jest w trakcie przetwarzania, nadal zatrzymuje wiersz.
Definiowanie zmiennych
Podobnie jak w każdym języku skryptowym, możesz zdefiniować zmienną przechowującą wartość do późniejszego ponownego użycia. Każda zmienna ma określony typ i wartość początkową. Po jej zdefiniowaniu można się do niej odwoływać lub ustawiać ją jak każdy inny parametr.
Domyślnie wszystkie zmienne są lokalne – co oznacza, że są dostępne tylko w bloku, w którym zostały zadeklarowane (włącznie z zagnieżdżonymi blokami) i tylko po ich zadeklarowaniu.
Możesz przełączyć je na współdzielone, co oznacza, że ich wartość zostanie zainicjowana tylko raz i będzie dostępna nie tylko w całym programie, ale również między jego kolejnymi wywołaniami – np. dla każdego wiersza importu lub każdego zdarzenia podatkowego.

Komentarze
Obliczenia są pomocne tylko wtedy, gdy rozumiesz liczby. Możesz dodawać bogato sformatowane komentarze w dowolnym miejscu presetu, aby lepiej opisać logikę.
