320 lines
13 KiB
HTML
320 lines
13 KiB
HTML
|
<html>
|
|||
|
<head>
|
|||
|
<title>Formule righe di documento</title>
|
|||
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|||
|
<link rel="stylesheet" href="../stili/stile_p.css">
|
|||
|
|
|||
|
|
|||
|
<SCRIPT language=JavaScript>
|
|||
|
|
|||
|
if (document.images)
|
|||
|
{
|
|||
|
var bottone1 = new Image();bottone1.src = "../images/esercizio_ghost.jpg";
|
|||
|
var bottone2 = new Image();bottone2.src = "../images/esercizio.jpg";
|
|||
|
var bottone3 = new Image();bottone3.src = "../images/movie_ghost.jpg";
|
|||
|
var bottone4 = new Image();bottone4.src = "../images/movie.jpg";
|
|||
|
}
|
|||
|
|
|||
|
function flip(Bottone,Immagine)
|
|||
|
{
|
|||
|
if (document.images)
|
|||
|
{
|
|||
|
//alert (eval(Immagine + ".src"));
|
|||
|
document[Bottone].src = eval(Immagine + ".src");
|
|||
|
}
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
</SCRIPT>
|
|||
|
|
|||
|
|
|||
|
</head>
|
|||
|
|
|||
|
<body bgcolor="#ffffff" leftmargin="5">
|
|||
|
|
|||
|
<!-- Tabella contenitore principale -->
|
|||
|
<table border="0" align="center" width="100%" cellpadding="0" cellspacing="0">
|
|||
|
|
|||
|
<!--<tr><td><br></td></tr>-->
|
|||
|
<!--<tr><td align="right"><a name="uno">- 1 -</td></tr>-->
|
|||
|
|
|||
|
<!--<tr><td align="center"><a name="uno"><img src="./images/pagina1_p.gif"></td></tr>
|
|||
|
<tr><td><br></td></tr> -->
|
|||
|
|
|||
|
<tr><td>
|
|||
|
<!-- Tabella nomi campi e descrizioni -->
|
|||
|
<table border="0" align="center" width="100%" cellpadding="0" cellspacing="0">
|
|||
|
<tr>
|
|||
|
<td align="center" class="nc">Identificatore</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<09> un campo chiave di ricerca di 10 caratteri che indica il codice identificativo della formula da creare.
|
|||
|
Il nome che si inserisce in questo campo pu<70> essere utilizzato per la creazione di ulteriori
|
|||
|
formule che necessitano dei calcoli che scaturiranno dall<6C>esecuzione della presente,
|
|||
|
e che quindi andr<64> ad arricchire la libreria standard predisposta nel programma
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="nc">Descrizione</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<09> un campo chiave di ricerca di 50 caratteri che indica la descrizione identificativa della funzione da creare
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="nc">Picture</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>Da controllare</strong><br>
|
|||
|
<09> un campo alfanumerico di 20 caratteri che indica il metodo di visualizzazione del risultato della formula. Per definire il formato di presentazione <20> necessario indicare in quale posizione vanno inseriti i diversi elementi costitutivi sostituendo i caratteri che verranno stampati con i codici
|
|||
|
carattere predefiniti ed eventualmente intervallati da elementi fissi necessari (es.: spazi, <20>.<2E>, <20>,<2C>, <20><><EFBFBD>, ecc.).<br><br>
|
|||
|
I codici carattere predefiniti sono:<br><br>
|
|||
|
# indica che si tratta di un carattere numerico. Nel caso nella posizione indicata si abbia uno zero non significativo tale carattere non viene stampato (es.: l<>importo 400000 con formato #.###.###.### viene stampato come 400.000).<br><br>
|
|||
|
@ indica che si tratta di un carattere numerico. Nel caso nella posizione indicata si abbia uno zero non significativo tale carattere viene stampato ugualmente (es.: l<>importo 400000 con formato @.@@@.@@@.@@@ viene stampato come 0.000.400.000).<br><br>
|
|||
|
^ indica che il carattere corrispondente alla posizione non deve essere stampato (es.: la data 12-02-96 con formato @@^@@^@@ viene stampata come 12 02 96)<br><br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="nc">Formula numerica</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<09> una casella di controllo che indica se il risultato della formula del documento <20> numerica,
|
|||
|
casella selezionata, oppure di altro genere, casella deselezionata
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="nc">Importo</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>Descrizione mancante</strong>
|
|||
|
<09> una casella di controllo che indica
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="nc">Formula</td>
|
|||
|
</tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<09> un campo alfanumerico di 50 caratteri che indica l<>espressione della formula da eseguire.
|
|||
|
<09> possibile dividere le formule disponibili in due categorie: standard e particolari.
|
|||
|
Le prime sono formule che eseguono semplici calcoli matematici, logici o su stringhe, mentre le seconde riguardano una gestione specifica della parte contabile dei documenti.
|
|||
|
All<6C>interno di questi campi <20> possibile inserire delle variabili, cio<69> degli identificatori di particolari valori, quali, ad esempio, i nomi dei campi degli archivi di testata dei documenti; si ricorda che <20> possibile visualizzare il tracciato record degli archivi tramite la <strong>Gestione Archivi</strong> gi<67> illustrata nel manuale introduttivo.
|
|||
|
Inoltre <20> possibile utilizzare anche formule documento inserite dall<6C>utente in precedenza.
|
|||
|
Tutte le formule e le variabili dovranno essere inseriti in maiuscolo, diversamente non si otterr<72> il risultato desiderato in quanto tutto ci<63> che e inserito in minuscolo viene ignorato, inoltre valgono i consueti ordini di priorit<69> algebrica degli operatori aritmetici e logici e le priorit<69> imposte dalle parentesi.
|
|||
|
Per correttezza <20> necessario passare i parametri delle funzioni racchiusi tra doppi apici (<28><>); nel caso si desideri passare come parametri delle formule che contengono stringhe al loro interno occorrer<65> racchiudere queste ultime tra apici semplici (<28><>).
|
|||
|
Nella presente spiegazione si <20> convenuto racchiudere i parametri non obbligatori tra parentesi quadre ([ ]).<br><br>
|
|||
|
Le formule standard si possono illustrare nelle seguenti funzioni:<br><br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>+, -, *, /</strong> si tratta degli abituali operatori aritmetici con i consueti significati di, rispettivamente, addizione, sottrazione, moltiplicazione e divisione;
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>&&, ||, !</strong> sono gli operatori logici AND, OR e NOT e ritornano i noti valori secondo le tavole di verit<69> dell<6C>algebra booleana;
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>==, >[=], <[=], !=</strong> rappresentano gli operatori di confronto tra valori numerici,
|
|||
|
ed in particolare l<>operatore di uguaglianza, quello di maggioranza e non minoranza,
|
|||
|
quello di minoranza e non maggioranza e quello di disuguaglianza;
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>?</strong> si tratta dell<6C>operatore match, cio<69> un operatore che indica al programma di sostituire
|
|||
|
al punto interrogativo un qualsiasi carattere in modo da creare un identificatore corretto
|
|||
|
(es.: la stringa <20>S?<3F> sar<61> sostituita dal programma in stringa <20>S1<53>, <20>S2<53>, ecc.);
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>LEFT(s,n), RIGHT(s,n)</strong> sono operatori che lavorano sulle stringhe di caratteri ed indicano rispettivamente
|
|||
|
di estrarre solamente gli n caratteri sinistri o destri della stringa s passata. Es.: LEFT (<28>Mario Rossi<73>, 5)
|
|||
|
visualizza la stringa <20>Mario<69>;
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>MID(s,da,[n]), SUBSTR(s,da,[a])</strong> anche queste funzioni lavorano sulle stringhe
|
|||
|
e permettono di estrarre una parte della stringa s passata,
|
|||
|
e precisamente la prima permette di estrarre una stringa lunga n a partire dal carattere da,
|
|||
|
mentre la seconda visualizza la stringa dal carattere da al carattere a.
|
|||
|
In entrambi i casi se non viene passato l<>ultimo parametro viene estratta la stringa
|
|||
|
dal carattere d<>inizio indicato fino alla sua fine;
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>UPPER(s)</strong> permette di trasformare la stringa s passata in caratteri maiuscoli;
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>MIN(a,b), MAX(a,b)</strong> questi operatori confrontano due parametri numerici passati e restituiscono, rispettivamente, il minimo o il massimo dei due
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>ROUND(n,d)</strong> questa funzione restituisce il numero n passata come parametro troncato al decimale d-esimo;
|
|||
|
nel caso venga passato come secondo parametro un valore negativo il valore di ritorno viene arrotondato
|
|||
|
alla frazione corrispondente. Es.: per arrotondare un numero alla mille lire occorre passare il valore -3;
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>TRUNC(n,d)</strong> come il campo precedente, solamente che invece che fare l<>arrotondamento precede
|
|||
|
con il semplice troncamento dei decimali non desiderati. Es.: TRUNC(123.456,1) ritorna 123.4;
|
|||
|
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>CEIL(n,d)</strong> come il campo precedente, solamente che invece che fare l<>arrotondamento precede
|
|||
|
con il semplice troncamento dei decimali non desiderati e all<6C>approssimazione al valore superiore.
|
|||
|
Es.: CEIL(123.123,1) ritorna 123.2;
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>PERC(n,p)</strong> ritorna la percentuale p del valore passato come primo parametro.
|
|||
|
Il secondo parametro va passato come numero intero (es.: 10, 12,50, ecc.);
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>SCORP(n,p)</strong> ritorna la percentuale p di scorporo dal valore passato come primo parametro.
|
|||
|
Il secondo parametro va passato come numero intero (es.: 10, 12,50, ecc.);
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>IF(c,a,b)</strong> si tratta di una funzione logica che permette, se si verifica la condizione c di ritornare il valore di a,
|
|||
|
altrimenti ritorna il valore di b, chiaramente a e b possono essere dei valori puti, degli identificatori
|
|||
|
oppure altre funzioni
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>ANSI(s)</strong> ritorna la stringa s passata in formato ANSI
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<br>Le formule specifiche si possono illustrare nelle seguenti funzioni:<br>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>PREZZO([s],[i],[d])</strong> ritorna il prezzo unitario della riga. Il primo parametro assume il valore 0 o 1 ed indica rispettivamente se si vuole il prezzo non scontato (default) oppure scontato, il secondo se lo si vuole al netto (default) o al lordo dell<6C>IVA ed il terzo indica il numero di decimali da tenere nel calcolo; di default vengono presi 0 decimali nel caso di importi in Lire e 3 nel caso di importi in valuta;
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>IMPORTO([s],[i],[d])</strong> ritorna l<>importo (quantit<69> per prezzo della riga). Il significato dei parametri <20> identico al caso precedente.
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>SCONTO([d])</strong> riporta lo sconto applicata sulla riga con il numero d di decimali da tenere nel calcolo; di default vengono presi 0 decimali nel caso di importi in Lire e 3 nel caso di importi in valuta;
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>IVA([d])</strong> ritorna l<>importo dell<6C>imposta calcolato sulla riga con il numero d di decimali da tenere nel calcolo; di default vengono presi 0 decimali nel caso di importi in Lire e 3 nel caso di importi in valuta;
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>PROVV([d])</strong> ritorna l<>importo della provvigione calcolata sulla riga con il numero d di decimali da tenere nel calcolo; di default vengono presi 0 decimali nel caso di importi in Lire e 3 nel caso di importi in valuta;
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>TIPO()</strong> ritorna il tipo della riga secondo quanto stabilito nella tabella dei tipi riga documento;
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>IMPONIBILI([a],[b])</strong> ritorna il totale degli importi imponibili desumibile dal documento. Il primo parametro assume i valori 0 o 1 ed indica rispettivamente se il calcolo deve essere effettuato senza aggiungere (default) oppure sommando le spese, il terzo parametro indica il numero di decimali da tenere nel calcolo; di default vengono presi 0 decimali nel caso di importi in Lire e 3 nel caso di importi in valuta;
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
<tr><td><br></td></tr>
|
|||
|
<tr>
|
|||
|
<td align="center" class="testo">
|
|||
|
<strong>IMPOSTE([a],[b])</strong> ritorna il totale delle imposte desumibile dal documento. Il primo parametro assume i valori 0 o 1 ed indica rispettivamente se il calcolo deve essere effettuato senza aggiungere (default) oppure sommando le spese, il terzo parametro indica il numero di decimali da tenere nel calcolo; di default vengono presi 0 decimali nel caso di importi in Lire e 3 nel caso di importi in valuta.
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
|
|||
|
</table>
|
|||
|
|
|||
|
</td></tr>
|
|||
|
</table>
|
|||
|
|
|||
|
</body>
|
|||
|
</html>
|