In Capitally, funzionalità come Importa e Tasse ti permettono di definire logiche complesse tramite un semplice editor no-code. In realtà, tutti i preset integrati sono creati con questo editor — così puoi sfruttare appieno le potenzialità dell'applicazione e adattarla alle tue esigenze.
Questo articolo ti guiderà attraverso le funzionalità comuni. Consulta gli articoli dedicati a Importa e Tasse per ulteriori dettagli.
Elementi costitutivi
I preset sono costruiti utilizzando Estratti conto. Quando vengono valutati, ogni estratto conto viene eseguito uno alla volta, finché non si incontra uno statement di Exit oppure la lista degli statement termina.
Ogni volta che uno statement deve valutare un valore, viene utilizzata un' espressione . Queste possono variare da un valore fisso, come un asset o un numero specifico, a un valore di proprietà, come una colonna di dati o un tipo di transazione, fino a formule che consentono calcoli complessi.
Puoi trattarlo come un semplice linguaggio di scripting o come una formula Excel complessa. Offre concetti di base come statement, espressioni, variabili, funzioni e cicli. Ma tutto viene costruito in modo visuale, senza scrivere codice.
Snippet
Usa gli snippet integrati come ottimo punto di partenza. Puoi inserirli ovunque dal menu Aggiungi statement
Prendere decisioni con gli statement If
Lo statement più basilare è If . Ti permette di prendere decisioni basate su qualsiasi proprietà: se le condizioni corrispondono, gli statement annidati vengono eseguiti. In caso contrario, viene controllato il blocco else o else if successivo.
Inserire statement e blocchi If
Per inserire un nuovo statement, passa il cursore sullo spazio prima, dopo o tra gli statement esistenti e clicca sul divisore blu divisore che appare e seleziona un'istruzione o un preset dal menu.

Per inserire un nuovo blocco «If», passa il cursore sullo spazio prima, dopo o tra gli if/else esistenti e clicca sul grigio divisore che appare

Modificarli
Ogni istruzione e blocco If ha un menu che puoi usare per Copiare, Tagliare, Duplicare ed Eliminare gli elementi.
Una volta copiata o tagliata un'istruzione, puoi incollarla nello stesso modo in cui aggiungi nuove istruzioni: apparirà un'opzione Incolla.
Puoi copiare e incollare tra due Preset fiscali diversi e persino tra due Progetto diversi.
And / Or
Quando sono necessarie condizioni complesse, puoi racchiudere la prima condizione in un blocco And/Or e combinare più condizioni in questo modo.

Impostare le proprietà con l'istruzione Set
Puoi modificare la Proprietà o la Variabile di un oggetto con un'istruzione Set . Basta scegliere la proprietà da modificare e fornire un valore.
La valuta commissione sarà la stessa della valuta del valore
Modificare il valore esistente invece di sostituirlo
Cliccando sul menu a tendina to puoi selezionare diverse modalità di assegnazione, come addizione, moltiplicazione, aggiunta o prefisso di testo e così via.
Il valore verrà incrementato dalla colonna Importo, mentre la Nota verrà integrata con la Descrizione
Trasformare i valori
I valori scalari semplici, come testo o numeri, possono essere trasformati prima di essere assegnati. Cliccando su fx puoi scegliere una delle trasformazioni disponibili. Puoi applicare più trasformazioni in sequenza e riordinarle tramite drag & drop.
Il valore diventerà il valore assoluto arrotondato della colonna ImportoSostituire il testo
La trasformazione Sostituisci ti consente di sostituire le occorrenze di un testo corrispondente con qualcos'altro. Ad esempio, puoi sostituire una parola (es. .GR con .EU) oppure rimuovere qualcosa sostituendolo con niente.

Sostituisci gestisce anche le Espressioni regolari , inclusi i cosiddetti gruppi di cattura e i backreference. Basta attivare il pulsante (.*) .
Supponiamo che tu abbia la stringa «apple orange banana» e voglia scambiare le posizioni delle prime due parole. Puoi usare il pattern ([a-z]+) [a-z]+ ([a-z]+) e sostituirlo con $2 $1 per ottenere «orange apple banana».
Estrarre testo
Invece di estrarre, puoi semplicemente identificare la parte della stringa da utilizzare. Funziona meglio con le Espressioni regolari, poiché verrà estratto il primo gruppo di cattura.
Riprendendo l'esempio con «apple orange banana» visto sopra, usando [a-z]+ ([a-z]+) [a-z]+ verrà estratta solo la parola centrale: «orange».
Mappare i valori
Per alcune proprietà come il tipo di Asset o Transazione puoi anche mappare il valore da uno all'altro. Clicca sull'icona S invertita accanto a S accanto a fx per aggiungere una mappatura.
La mappatura verifica se il valore in entrata soddisfa una condizione. In caso affermativo, verrà utilizzato il valore selezionato. Le mappature vengono valutate in sequenza e vince la prima che corrisponde.

Conversione di valori tra tipi
Le proprietà possono avere tipi non corrispondenti. Ad esempio, un testo verrà convertito automaticamente in numero o data, purché contenga un valore valido (es. 2024-11-01 oppure 1st Nov 2024).
Questo vale anche per Conti, Valute, Mercati o Tipi di transazione, dove qualsiasi valore testuale verrà usato per cercare i dati del progetto o del mercato.
Per gli asset, puoi inoltre specificare quali tipi di strumento e mercati includere e in quale ordine di preferenza.

Definire le variabili
Come in qualsiasi linguaggio di scripting, puoi definire una variabile per conservare un valore da riutilizzare in seguito. Ogni variabile ha un tipo specifico e un valore iniziale. Una volta definita, può essere referenziata o impostata come qualsiasi altra proprietà.
Per impostazione predefinita, tutte le variabili sono locali — il che significa che sono disponibili solo all'interno del blocco in cui sono dichiarate (compresi i blocchi annidati) e solo dopo la loro dichiarazione.
Puoi impostarle come condivise, il che significa che il loro valore verrà inizializzato una sola volta ed è disponibile non solo nell'intero programma, ma anche tra le sue invocazioni — ad esempio per ogni riga di un'importazione o ogni evento fiscale.

Commenti
I calcoli sono utili solo se ne comprendi i numeri. Puoi aggiungere commenti con formattazione ricca in qualsiasi punto della preimpostazione per descrivere meglio la logica.
