USE 33 JOIN 34 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC JOIN 17 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF JOIN 20 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF JOIN 16 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP JOIN 16 TO 17 ALIAS 116 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP JOIN 47 TO 34 INTO CODART==CODART JOIN %CPG TO 33 ALIAS 201 INTO CODTAB==CODPAG JOIN 122 TO 33 INTO CODAGE==CODAG JOIN %POR TO 33 ALIAS 203 INTO CODTAB==CODPORTO JOIN %BAN TO 33 ALIAS 204 INTO CODTAB==CODABIA+CODCABA JOIN %VET TO 33 ALIAS 205 INTO CODTAB==CODVETT1 JOIN %ASP TO 33 ALIAS 206 INTO CODTAB==ASPBENI1 JOIN %CTR TO 33 ALIAS 207 INTO CODTAB==CAUSTRASP END DESCRIPTION BEGIN 34->* "Righe documenti di vendita" 33->* "Documenti di vendita" 17->* "Clienti/Fornitori per vendite" 20->* "Clienti/Fornitori" 16->* "Indirizzi di spedizione (destinazione)" 116@->* "Indirizzi di spedizione (destinatario)" 47->* "Anagrafica magazzino" 201@->* "Tabella condizioni di pagamento" 122->* "Archivio agenti" 203@->* "Tabella porto" 204@->* "Tabella banche" 205@->* "Tabella vettori" 206@->* "Tabella aspetto beni" END GENERAL BEGIN OFFSET 0 0 FONT "Courier New" SIZE 12 MODULE "BUFFETTI_FATTURA_01" PRI_DECIMALS 0 2 QTA_DECIMALS 3 3 IMP_DECIMALS 0 2 EXCLUDE "," END SECTION HEADER ODD 28 STRINGA 1 35 1 BEGIN KEY "nome ditta" PROMPT 3 4 "" MESSAGE _DITTA,!RAGSOC END STRINGA 2 35 1 BEGIN KEY "indirizzo ditta" PROMPT 3 5 "" MESSAGE _DITTA,!IND END STRINGA 3 5 1 BEGIN KEY "cap ditta" PROMPT 3 6 "" MESSAGE _DITTA,!CAP END STRINGA 4 30 1 BEGIN KEY "comune ditta" PROMPT 10 6 "" MESSAGE _DITTA,!COM END STRINGA 5 8 1 BEGIN KEY "scritta P.IVA" PROMPT 3 7 "P.IVA IT" END STRINGA 6 16 1 BEGIN KEY "partita iva ditta" PROMPT 12 7 "" MESSAGE _DITTA,!IVA END STRINGA 7 12 1 BEGIN KEY "scritta COD.FISC." PROMPT 3 8 "COD.FISC. IT" END STRINGA 8 16 1 BEGIN KEY "codice fiscale ditta" PROMPT 16 8 "" MESSAGE _DITTA,!CF END NUMERO 9 30 1 BEGIN KEY "reg.soc.trib...." PROMPT 3 9 "REG.SOC.TRIB.R.E. " MESSAGE _DITTA,!REGSOC FLAGS "D" END NUMERO 10 30 1 BEGIN KEY "c.c.i.a.a. ....." PROMPT 3 10 "C.C.I.A.A. " MESSAGE _DITTA,!CCIAA FLAGS "D" END STRINGA 11 10 1 BEGIN KEY "data fattura" PROMPT 58 21 "" FIELD 33->DATADOC END STRINGA 12 7 BEGIN KEY "numero fattura" PROMPT 73 21 "" FIELD 33->NDOC END STRINGA 13 4 1 BEGIN KEY "codice cliente" PROMPT 3 23 "" FIELD 33->CODCF END STRINGA 14 2 1 BEGIN KEY "codice agente" PROMPT 9 23 "" FIELD 33->CODAG END STRINGA 15 14 1 BEGIN KEY "porto" PROMPT 52 23 "" FIELD 203@->S0 END NUMERO 16 7 1 BEGIN KEY "ordine" PROMPT 12 23 "" FIELD 33->NUMDOCRIF END DATA 17 10 1 BEGIN KEY "data conferma" PROMPT 20 23 "" FIELD 33->DATADOCRIF FORMAT "1444-" END STRINGA 18 49 1 BEGIN KEY "condizioni di pagamento" PROMPT 3 25 "" FIELD 201@->S0 END STRINGA 19 29 1 BEGIN KEY "banca d'appoggio" PROMPT 54 25 "" FIELD 204@->S0 END STRINGA 20 38 2 BEGIN KEY "cliente ragione sociale " PROMPT 44 11 "" MESSAGE _CLIENTE,!RAGSOC END STRINGA 21 35 2 BEGIN KEY "cliente indirizzo con numero civico" PROMPT 44 13 "" MESSAGE _CLIENTE,!INDNUM END STRINGA 22 2 BEGIN KEY "Numero di pagina" PROMPT 80 21 "" MESSAGE _PAGENO END STRINGA 23 5 1 BEGIN KEY "cliente cap" PROMPT 44 15 "" MESSAGE _CLIENTE,!CAP END STRINGA 24 30 1 BEGIN KEY "cliente comune" PROMPT 50 15 "" MESSAGE _CLIENTE,!COM->DENCOM END STRINGA 25 2 1 BEGIN KEY "cliente provincia" PROMPT 73 16 "" MESSAGE _CLIENTE,!COM->PROVCOM END STRINGA 26 3 1 BEGIN KEY "cliente codice stato" PROMPT 44 17 "" MESSAGE _CLIENTE,STATOCF FLAGS "H" END STRINGA 27 25 1 BEGIN KEY "cliente nome stato" PROMPT 44 17 "" MESSAGE _TABLEREAD,%STA,#26,S0 END STRING 28 11 1 BEGIN KEY "partita iva cliente" PROMPT 37 23 "" MESSAGE _CLIENTE,PAIV END STRING 29 2 1 BEGIN KEY "codice iso iva cliente" PROMPT 34 23 "" MESSAGE _CLIENTE,STATOPAIV END STRING 30 15 BEGIN KEY "causale di trasporto" PROMPT 67 23 "" FIELD 207@->S0 END END SECTION BODY ODD 5 STRINGA 51 12 1 BEGIN KEY "codice articolo" FIELD 34->CODART PROMPT 2 1 "" END STRINGA 52 20 20 BEGIN KEY "descrizione articolo" MESSAGE _DESCRIGA PROMPT 16 1 "" END STRINGA 53 2 BEGIN KEY "unita' di misura" PROMPT 37 1 "" FIELD 34->UMQTA MESSAGE _ALIGN,#52,BOTTOM END NUMBER 54 9 BEGIN KEY "quantita'" PROMPT 40 1 "" FIELD 34->QTA PICTURE "#########" GROUP 30 MESSAGE _ALIGN,#52,BOTTOM END NUMBER 55 12 BEGIN KEY "prezzo unitario" PROMPT 49 1 "" FIELD 34->PREZZO PICTURE "###.###.###" GROUP 29 MESSAGE _ALIGN,#52,BOTTOM END STRINGA 56 3 BEGIN KEY "sconto" PROMPT 62 1 "" FIELD 34->SCONTO MESSAGE _ALIGN,#52,BOTTOM FLAGS "D" END NUMBER 57 12 BEGIN KEY "importo netto" PROMPT 66 1 "" FIELD 34->IMPNN PICTURE "###.###.###" GROUP 29 MESSAGE _ALIGN,#52,BOTTOM END STRINGA 58 3 BEGIN KEY "iva" PROMPT 79 1 "" FIELD 34->CODIVA MESSAGE _ALIGN,#52,BOTTOM END NUMBER 59 15 BEGIN KEY "prezzo unitario scontato" PROMPT 68 1 "" PICTURE "###.###.###.###" FIELD 34->PREZZONS GROUP 29 MESSAGE _ALIGN,#52,BOTTOM FLAGS "H" END NUMBER 60 15 BEGIN KEY "provvigione" PROMPT 68 1 "" PICTURE "###.###.###.###" FIELD 34->PROVVR MESSAGE _ALIGN,#52,BOTTOM GROUP 31 FLAGS "H" END NUMBER 61 15 BEGIN KEY "Imposta" PROMPT 68 1 "" PICTURE "###.###.###.###" FIELD 34->IMPOSTA MESSAGE _ALIGN,#52,BOTTOM GROUP 31 FLAGS "H" END END SECTION FOOTER ODD -52 STRINGA 81 5 1 BEGIN KEY "stampa 'segue' in coda" PROMPT 73 13 "SEGUE" END END SECTION FOOTER LAST -52 NUMBER 101 12 BEGIN KEY "spese" PROMPT 69 1 "" PICTURE "###.###.###" FIELD SPESE GROUP 31 END NUMBER 102 15 BEGIN KEY "spese di trasporto" PROMPT 56 1 "" PICTURE "###.###.###" FIELD SPESE FLAGS "H" GROUP 31 END NUMBER 103 15 BEGIN KEY "spese di imballo" PROMPT 56 1 "" PICTURE "###.###.###" FIELD SPESE FLAGS "H" GROUP 31 END NUMBER 104 8 BEGIN KEY "spese di incasso" PROMPT 55 11 "" PICTURE "###.###" FIELD SPESINC GROUP 31 END NUMBER 105 11 BEGIN KEY "spese bolli" PROMPT 60 11 "" FIELD BOLLI GROUP 31 FLAGS "D" END STRING 106 3 BEGIN KEY "codice iva 1" PROMPT 1 3 "" MESSAGE _RIEPILOGOIVA,1,COD,0 END NUMBER 107 12 BEGIN KEY "imponibile 1" PROMPT 6 3 "" MESSAGE _RIEPILOGOIVA,1,IMP,0 PICTURE "###.###.###" GROUP 31 END NUMBER 108 2 BEGIN KEY "iva 1" PROMPT 18 3 "" MESSAGE _RIEPILOGOIVA,1,ALI,0 PICTURE "##" END NUMBER 109 10 BEGIN KEY "imposta 1" PROMPT 22 3 "" MESSAGE _RIEPILOGOIVA,1,IVA,1 PICTURE "##.###.###" GROUP 31 END STRING 110 3 BEGIN KEY "codice iva 2" PROMPT 1 4 "" MESSAGE _RIEPILOGOIVA,1,COD,0 END NUMBER 111 12 BEGIN KEY "imponibile 2" PROMPT 6 4 "" MESSAGE _RIEPILOGOIVA,1,IMP,0 PICTURE "###.###.###" GROUP 31 END NUMBER 112 2 BEGIN KEY "iva 2" PROMPT 18 4 "" MESSAGE _RIEPILOGOIVA,1,ALI,0 PICTURE "##" END NUMBER 113 10 BEGIN KEY "imposta 2" PROMPT 22 4 "" MESSAGE _RIEPILOGOIVA,1,IVA,1 PICTURE "##.###.###" GROUP 31 END STRING 114 3 BEGIN KEY "codice iva 3" PROMPT 1 5 "" MESSAGE _RIEPILOGOIVA,1,COD,0 END NUMBER 115 12 BEGIN KEY "imponibile 3" PROMPT 6 5 "" MESSAGE _RIEPILOGOIVA,1,IMP,0 PICTURE "###.###.###" GROUP 31 END NUMBER 116 2 BEGIN KEY "iva 3" PROMPT 18 5 "" MESSAGE _RIEPILOGOIVA,1,ALI,0 PICTURE "##" END NUMBER 117 10 BEGIN KEY "imposta 3" PROMPT 22 5 "" MESSAGE _RIEPILOGOIVA,1,IVA,1 PICTURE "##.###.###" GROUP 31 END NUMBER 118 12 BEGIN KEY "imponibile 4" PROMPT 6 7 "" MESSAGE _RIEPILOGOIVA,30,IMP,0 PICTURE "###.###.###" GROUP 31 END STRINGA 119 3 BEGIN KEY "codice iva 4" PROMPT 1 7 "" MESSAGE _RIEPILOGOIVA,30,COD,0 END STRINGA 120 45 BEGIN KEY "descrizione altri 4" PROMPT 33 7 "" MESSAGE _RIEPILOGOIVA,30,DES,1 END NUMBER 121 12 BEGIN KEY "imponibile 5" PROMPT 6 8 "" MESSAGE _RIEPILOGOIVA,30,IMP,0 PICTURE "###.###.###" GROUP 31 END STRINGA 122 3 BEGIN KEY "codice iva 5" PROMPT 1 8 "" MESSAGE _RIEPILOGOIVA,30,COD,0 END STRINGA 123 45 BEGIN KEY "descrizione altri 5" PROMPT 33 8 "" MESSAGE _RIEPILOGOIVA,30,DES,1 END NUMBER 124 15 BEGIN KEY "totale imponibile" PROMPT 4 11 "" MESSAGE _TOTIMPONIBILI,29 PICTURE "###.###.###" GROUP 31 END NUMBER 125 14 BEGIN KEY "totale imposta" PROMPT 18 11 "" FIELD IMPOSTE PICTURE "###.###.###" GROUP 31 END NUMBER 126 15 BEGIN KEY "totale esenti" PROMPT 35 11 "" MESSAGE _TOTIMPONIBILI,28 PICTURE "###.###.###" GROUP 31 END NUMBER 127 15 BEGIN KEY "totale importi netti (non scontati)" PROMPT 2 1 "" FIELD TOTMER PICTURE "###.###.###" GROUP 31 END NUMBER 128 12 BEGIN KEY "totale fattura" PROMPT 69 11 "" FIELD TOTDOC PICTURE "###.###.###" GROUP 31 END DATA 129 10 1 BEGIN KEY "scadenza pagamento 1" PROMPT 1 13 "" MESSAGE _SCADENZE,DATA,0 END NUMBER 130 12 BEGIN KEY "importo scadenza 1" PROMPT 13 13 "" MESSAGE _SCADENZE,IMPORTO,1 PICTURE "###.###.###" GROUP 31 END DATA 131 10 1 BEGIN KEY "scadenza pagamento 2" PROMPT 27 13 "" MESSAGE _SCADENZE,DATA,0 END NUMBER 132 12 BEGIN KEY "importo scadenza 2" PROMPT 39 13 "" MESSAGE _SCADENZE,IMPORTO,1 PICTURE "###.###.###" GROUP 31 END DATA 133 10 1 BEGIN KEY "scadenza pagamento 3" PROMPT 1 14 "" MESSAGE _SCADENZE,DATA,0 END NUMBER 134 12 BEGIN KEY "importo scadenza 3" PROMPT 14 14 "" MESSAGE _SCADENZE,IMPORTO,1 PICTURE "###.###.###" GROUP 31 END DATA 135 10 1 BEGIN KEY "scadenza pagamento 4" PROMPT 27 14 "" MESSAGE _SCADENZE,DATA,0 END NUMBER 136 12 BEGIN KEY "importo scadenza 4" PROMPT 39 14 "" MESSAGE _SCADENZE,IMPORTO,1 PICTURE "###.###.###" GROUP 31 END DATA 137 10 1 BEGIN KEY "scadenza pagamento 5" PROMPT 3 15 "" MESSAGE _SCADENZE,DATA,0 END NUMBER 138 15 BEGIN KEY "importo scadenza 5" PROMPT 16 15 "" MESSAGE _SCADENZE,IMPORTO,1 PICTURE "###.###.###" GROUP 31 END END // NOTE SULLA COMPILAZIONE DEI FORM DI STAMPA // // SEZIONE GENERAL // =============== // Posizionamento: // e' possibile effettuari posizionamenti manuali dei form con le seguenti istruzioni: // CARATTERE // INIZIALE // FINALE // dove: // CARATTERE indica il carattere da stampare per contrassegnare il posizionamento, racchiuso tra doppi apici (eg "X") // INIZIALE indica le coordinate X ed Y per il posizionamento iniziale (dove stampare il primo carattere) // FINALE indica le coordinate X ed Y per il posizionamento finale (dove stampare il secondo carattere) // FINALE puo' essere omesso; se definito e' comunque buona norma tenere la coordinata verticale (Y) uguale // a quella indicata in INIZIALE, se diversi il programma tiene conto solo della prima. // Non e' possibile definire sia posizionamenti manuali che OFFSET, quindi o l'uno o l'altro, preferibilmente // e' meglio scegliere OFFSET. // // Modificatori di pictures: // i parametri IMP_DECIMALS, QTA_DECIMALS, e PRI_DECIMALS settano i decimali da stampare/arrotondare // per i seguenti: importi in genere, quantita', e prezzi. Il primo parametro intero e' per gli importi in lire // il secondo per gli importi in valuta. Naturalmente per le quantita' non ha senso fare una cosa del genere, ma per completezza // e' stata implementata. // PRI_DECIMALS corrisponde al gruppo 29 // QTA_DECIMALS corrisponde al gruppo 30 // IMP_DECIMALS corrisponde al gruppo 31 // pertanto tutti i campi che apparterranno al gruppo 29,30 o 31 avranno gli importi stampati al numero di decimali impostati a // seconda se il documento e' in lire o valuta. Se il numero di decimali e' 0 la picture rimarra' invariata. // Altri gruppi definiti dall'utente saranno cosi' sintatticamente impostati: // NEW_GROUP // Dove e' il numero del gruppo // e' il numero di decimali per i documenti in lire // e' il numero di decimali per i documenti in valuta // // Definizione di liste di esclusione (facoltativo): // EXCLUDE esclude dalla stampa le righe che soddisfano la condizione specificata. // Si indicano in questo modo: ",". Naturalmente si possono indicare tutti gli EXLCUDE che si vogliono. // Es: EXCLUDE "V01,ART1" escludera' tutte le righe di tipo V01 con codice articolo ART1 // EXCLUDE ",ART1" escludera' tutte le righe che hanno codice articolo ART1 // EXCLUDE "V01," escludera' tutte le righe che hanno tipo riga V01 // EXCLUDE "," non escludera' nulla. // // MESSAGGI UTENTE // =============== // Note sui messaggi della testata/body/footer: // // _ISAMREAD: // lettura generica di un file del database // sintassi: _ISAMREAD,,[!!...],{|[!!...]} // dove: è il numero logico del file o il nome della tabella // è un'espressione del tipo = // è un'espressione di costanti numeriche, stringhe e valori di campi della form (indicati con il loro numero preceduto da #) // è un'espressione del tipo = (se è un gruppo deve essere seguito da @) oppure solo (il campo della form è quello corrente) // // _TABLEREAD: // lettura generica di un campo di una tabella // sintassi: _TABLEREAD,,, // dove: nome tabella da leggere // costante stringa o riferimento a campo della form (preceduto da '#') da usare come chiave di ricerca // identificativo del campo da leggere dalla tabella // // _DITTA: // lettura dei dati della ditta // sintassi: _DITTA,{|} // dove: è un riferimento alla relazione di gestione dei dati della ditta (es. 113@->DENCOM è la denominazione del comune di residenza della ditta) // è uno delle macro seguenti: // !RAGSOC ragione sociale // !IND indirizzo (fiscale se c'è, oppure di residenza) // !NUM numero civico (fiscale se c'è, oppure di residenza) // !CAP CAP (fiscale se c'è, oppure di residenza) // !COM comune (fiscale se c'è, oppure di residenza) // !PROV provincia (fiscale se c'è, oppure di residenza) // !IVA partita iva // !CF codice fiscale // !TEL numero di telefono (con prefisso) // !FAX numero di fax (con prefisso) // !REGSOC numero di registrazione presso il Tribunale // !CCIAA numero di registrazione presso la camera di commercio // nota: la relazione della ditta è così strutturata: // %NDITTE (9) Dati ditte // + %ANAGR (6) Anagrafica generale (indirizzo, ecc.) // + %COMUNI (113@) Comune di residenza // + %COMUNI (213@) Comune di residenza fiscale // viene utilizzato perche' non e' possibile stabilire altrimenti una relazione con il file ditte // dall'interno del form. // // _CLIENTE // lettura dei dati del cliente // sintassi: _CLIENTE,{|} // dove: è un riferimento alla relazione di gestione dei dati del cliente // è uno delle macro seguenti: // !RAGSOC ragione sociale // !CAP Codice Avviamento Postale (viene implementato un messaggio perche' sugli occasionali ha un nome campo diverso!!) // !IND indirizzo // !NUM numero civico // !INDNUM indirizzo + numero civico // !INDSPED indirizzo spedizione + numero civico // !TEL primo numero di telefono (con prefisso) // !TEL2 secondo numero di telefono (con prefisso) // !TEL3 terzo numero di telefono (con prefisso) // !FAX numero di fax (con prefisso) // !COM-> accede ai campi del comune di residenza cliente // !COMN-> accede ai campi del comune di nascita del cliente // nota: la relazione del cliente è così strutturata: // CLIFO (20) Clienti/fornitori // + CFVEN (17) Clienti/fornitori per vendite // + %COMUNI (113@) Comune di residenza // + %COMUNI (213@) Comune di nascita // viene utilizzato al posto del file 17 collegato perche' vi sono particolari // accorgimenti per quanto riguarda i clienti occasionali. // // _DESCRIGA: // Messaggio per reperire e formattare anche la descrizione estesa sulle righe del documento // // _ALIGN: // allineamento della posizione di un campo rispetto ad un altro // sintassi: _ALIGN,[,][,...] // dove: è il campo della form (preceduto da '#') da cui prendere l'allineamento // è uno dei seguenti valori: // TOP allinea sulla riga d'inizio // MIDDLE allinea al centro (effettivo) // BOTTOM allinea sulla riga di fine (effettiva, non preimpostata) // LEFT allinea sulla colonna d'inizio // RIGHT allinea sulla colonna di fine // // _PAGENO: // Messaggio per stampare il numero di pagina corrente // // _RIEPILOGOIVA: // messaggio per stampare la tabella ripelogativa delle aliquote IVA e relative imposte // sintassi: _RIEPILOGOIVA,,, // dove: è uno dei seguenti: // 1 = codici IVA a regime normale // 2 = codici IVA da ventilare // 4 = codici IVA esenti // 8 = codici IVA non imponibili // 16 = codici IVA non soggetti // oppure la combinazione di uno o piu' di essi: // 12 = 4+8, 19 = 1+2+16, 29 = 1+4+8+16 ecc... // pertanto per avere i non imponibili in totale il selettore sara' 1, // per avere gli esenti il selettore sara' 4; per avere i non soggetti + esenti // il selettore sara' 20 e cosi' via. // dove: è uno dei seguenti: // COD colonna dei codici // IMP colonna degli imponibili // IVA colonna delle imposte // ALI colonna delle aliquote // DES colonna delle descrizioni (stampata solo se il regime IVA non e' normale) // dove: è uno dei seguenti: // 0 indica di non leggere il successivo codice IVA nella tabella riepilogativa // 1 indica di leggere il successivo codice IVA nella tabella riepilogativa // // _TOTIMPONIBILI: // messaggio per stampare diverse totalizzazioni di imponibili // sintassi: _TOTIMPONIBILI, // dove: funge da filtro per la somma degli imponibili // vedi _RIEPILOGOIVA per la spiegazione dei filtri selettivi // // _SCADENZE: // messaggio per stampare le scadenze // sintassi: _SCADENZE,, // dove e' uno dei seguenti: // DATA : stampa la data di scadenza // IMPORTO : stampa l'importo in scadenza // dove vale 0 o 1 se indica di rendere corrente la prossima scadenza // // CAMPI VIRTUALI // ============== // Oltre a stampare i campi normali del file e' anche possibile stampare i campi virtuali // definiti nei profili semplicemente indicandoli nella istruzione FIELD: // per la testata del documento: // BOLLI, BASESCONTO, IMPOSTE, PROVVD, SCONTOD, SPESEINC, TOTDOC, TOTMER, TOTNS, TOTPRE, TOTSPE // per le righe: // IMPLN, IMPLS, IMPNN, IMPNS, IMPOSTA, PREZZOLN, PREZZOLS, PREZZONN, PREZZONS, PROVVR, SCONTOR // oltre, naturalmente a quelli definiti dall'utente