In sintassi le parentesi quadre racchiudono degli elementi opzionali.
Sintassi: |
Descrizione: |
|
NomeCampo |
Stampa nella posizione il contenuto della variabile. La variabile può essere messa a disposizione dal programma di stampa o essere un campo calcolato. |
|
[variabile]=[@@]FormulaNumerica oppure [variabile]=[££]FormulaNumerica |
Esegue dei calcoli tra valori numerici. Se variabile viene omessa viene stampato nella posizione il risultato di FormulaNumerica altrimenti il risultato della formula viene memorizzato in Variabile (in questo caso la riga deve avere come Opzione = 1 non stampare). In formula si possono usare + - * / ( ) NomiCampi,
Variabili, valori numerici costanti. Se i primi due caratteri di una formula sono @@
tutti i calcoli vengono fatti con dei currency (calcoli vengono
arrotondati alla quarta cifra decimale). Quando il risultato è 0 viene
trasformato in “”. Se invece si usano ££ il risultato 0 rimane 0 Le funzioni utilizzabili sono: |
|
Len( arg) |
Restituisce la lunghezza in caratteri di Arg |
|
Arrot( Val
[;Tipo] [;Varr] [;Ndec]) |
Arrotonda valori numerici. Val è il valore da
arrotondare. Si può usare: Varr,
indica il valore a cui arrotondare (può ad es. essere 500) Ndec,
lo usa per calcolare il valore di arrotondamento. |
|
Instr( [start];Par1;Par2) |
Restituisce la posizione di Par2 all’interno di Par1,
eventualmente facendo partire la ricerca dal carattere numero Start |
|
Perc( Par1;Perc) |
Calcola il valore percentuale. Es. Perc(200,10)
rest. 20 |
|
PercS( Par1;Perc) |
Calcola la maggiorazione o lo sconto. PercS(200,-10) rest. 180 |
|
Scorp( Par1;Perc[;Dec]) |
Calcola lo scorporo Se Dec è specificato l’importo viene troncato a Dec decimali (Dec è positivo). |
|
ScorpS( Par1;Perc;[;Dec]) |
Calcola il valore scorporato. Se Dec è specificato l’importo dello scorporo viene troncato a Dec decimali. (Dec è positivo) |
|
Iva( Par1;Perc;Dec) |
Calcola l’I.V.A. e arrotonda a Dec decimali (Dec è positivo) (arrotonda all’ importo superiore). |
|
IvaS( Par1;Perc;Dec) |
Calcola l’importo ivato e arrotonda a Dec decimali (Dec è positivo) (arrotonda
all’ importo superiore). |
|
Cvdate( Par1) |
Trasforma la stringa Par1 in data |
|
DateDif( Data1;Data2) |
Restituisce i giorni tra le due date |
|
DateSom( Data;Par1[;Tipo]) |
Data. data di partenza per il calcolo. Par1. Espressione numerica corrispondente al numero di intervalli da aggiungere. Può essere positiva, per ottenere date future, oppure negativa, per ottenere date passate. Tipo. Espressione stringa corrispondente all'intervallo di tempo che si desidera aggiungere. Le possibili impostazioni dell’argomento |
|
Giorno( Par1) |
Restituisce il giorno del mese. Par1 Espressione
Data |
|
WGiorno( Par1[;Par2]) |
Restituisce un numero corrispondente ad un giorno
della settimana. |
|
Mese( Par1) |
Restituisce il mese. Par1 Espressione
Data |
|
Anno( Par1) |
Restituisce L’anno. Par1 Espressione
Data |
|
Val( Par1) |
Restituisce il valore numerico del parametro passato. Par1 Espressione stringa. |
|
FunzVaria(
par1;par2,……) |
E’ possibile utilizzare altre funzioni messe a disposizione dal programma di stampa. |
|
Es. incremento la variabile d’appoggio Sqta con
Quantita: Es. Stampo nella posizione definita: prezzo per
quantità Per azzerare la variabile a fine pagina occorre
mettere una riga nel piede dove si azzera la variabile: Sqta=0 |
||
[variabile]=$ FormulaStringa |
Esegue delle elaborazioni con
stringhe. Se variabile
viene omessa, viene stampato nella posizione, il risultato di FormulaStringa,
il risultato della formula viene memorizzato in Variabile
(in questo caso la riga deve avere come Opzione = 1 non stampare). |
|
Union( par1;par2[;par3,…..]) |
Unisce le stringhe Par1,par2… |
|
Mid( Par1;posP[;Lung]) |
Estrae un gruppo di caratteri della stringa Par1 a partire da posP per Lung caratteri. Se Lung viene omesso, estrae fino alla fine di Par1 |
|
Left( Par1;Lung) |
Estrae i primi Lung caratteri dalla stringa Par1 |
|
Right( Par1;Lung) |
Estrae Lung caratteri alla destra di Par1 |
|
Ucase( Par1) |
Converte in maiuscolo Par1 |
|
Lcase( Par1) |
Converte in minuscolo Par1 |
|
Riempi( Par1;Num) |
Restituisce una stringa formata da Num ripetizioni di Par1 |
|
Format( Par1;Par2) |
Trasforma un valore numerico in una stringa. |
|
RTrim( Par1) |
Toglie gli eventuali spazi a destra da Par1 |
|
LTrim( Par1) |
Toglie gli eventuali spazi a sinistra da Par1 |
|
Trim( Par1) |
Esegue RTrim e LTrim da Par1 |
|
Esempi: Metto in IndirCom tutti gli elementi di un indirizzo IndirCom =$union(CliIndir;" ";CliCap;" ";CliLocalita;" (";CliProvincia;")") Stampo il nome con la prima lettera maiuscola e le seguenti minuscole: =$union(ucase(left(nome;1));lcase(mid(nome;2))) Se si vogliono stampare i doppi apici si
dovranno mettere, come costante, tra apici singoli (es. ‘”’) Si possono stampare dei caratteri di controllo mettendo nella stringa chr$(X) con X =numero es. chr$(13) per inserire un ‘andare a capo’ Es. =$union(mid("pippo";3);chr$(65);"s";chr$(13);"fine") produrrà la stampa della stringa ppoAs poi va a capo e scrive fine
|
||
:NomeEtichetta |
Definisco un’etichetta a cui posso fare riferimento nei comandi Se e Vai |
|
Vai [:]NomeEtichetta |
La stampa salta tutti i campi tra questo campo e il
campo che contiene :NomeEtichetta. |
|
Se Ar1 Op Ar2 [;vai NomEt] Oppure Se$ Ar1 Op Ar2 [;vai NomEt] |
Salto condizionale. Op è un operatore di confronto. Gli operatori ammessi sono: >,<,>=,<=,=,<> Se il nome NomEt
(nome dell’etichetta a cui saltare) non è specificato e il test è
verificato, la riga successiva del Modello viene eseguita altrimenti viene
saltata. |
|
=IIF(Test;Val1;Val2)
|
I Test possibili sono: >,<,>=,<=,=,<> |
In caso di stampa di Variabili che potrebbero non
essere mai inizializzate (non essere mai state assegnate) occorre
inizializzarle nel seguente modo:
Variabili numeriche: Var = Var + 0
Variabili stringa :
Var =$ union(Var ; “”)
Per azzerare una variabile
Var = $""
‘Nome campo’ particolari:
RigaPari
Restituisce –1 quando si sta stampando una riga di dettaglio pari.
Durante la stampa nel corpo di alcune righe particolari ,
ad esempio le spese, il formato controlla che il codice relativo (alle spese)
non sia coinvolto direttamente nella stampa della testata o del piede. Se il
codice relativo alle spese si trova dentro una formula il cui risultato viene
memorizzato in una variabile d’appoggio le spese continuano ad essere stampate
nel corpo del documento.
Il programma controlla se il campo è contenuto in una riga di testata o di
piede con "opzione" = 0. Per non far stampare il campo nè nel corpo
nè in testata/piede, basta inserire una riga in testata o piede con il nome del
campo e "lunghezza" = 0.
Stampa immagini
Si possono stampare sui documenti delle immagini es. il
logo della ditta o le immagini
collegate agli articoli.
Per fare questo occorre predisporre sul filtro righe opportunamente compilate
Vedi "Linea".