campo-sirio/htmlhelp/ba/batbfrr_corpo.html

320 lines
13 KiB
HTML
Raw Normal View History

<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> &nbsp;&nbsp;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> &nbsp;&nbsp;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> &nbsp;&nbsp;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> &nbsp;&nbsp;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>&nbsp;&nbsp; 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> &nbsp;&nbsp;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> &nbsp;&nbsp;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>&nbsp;&nbsp; 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> &nbsp;&nbsp;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> &nbsp;&nbsp;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> &nbsp;&nbsp;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> &nbsp;&nbsp;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> &nbsp;&nbsp;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> &nbsp;&nbsp;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>&nbsp;&nbsp; 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>&nbsp;&nbsp; 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>&nbsp;&nbsp; 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>&nbsp;&nbsp; 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>&nbsp;&nbsp; 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>&nbsp;&nbsp; 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> &nbsp;&nbsp; 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>&nbsp;&nbsp; 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>&nbsp;&nbsp; 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>