USE 33 JOIN 34 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC JOIN 16 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP JOIN 47 TO 34 INTO CODART==CODART JOIN %CPG TO 33 ALIAS 201 INTO CODTAB==CODPAG JOIN %AGE TO 33 ALIAS 202 INTO CODTAB==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 JOIN 13 TO 205@ ALIAS 208 INTO COM==S9 END DESCRIPTION BEGIN 33->* "Documenti di vendita" 34->* "Righe documenti di vendita" 16->* "Indirizzi di spedizione (destinazione)" 47->* "Anagrafica magazzino" 201@->* "Tabella condizioni di pagamento" 202@->* "Tabella agenti" 203@->* "Tabella porto" 204@->* "Tabella banche" 205@->* "Tabella vettori" 206@->* "Tabella aspetto beni" 207@->* "Tabella causali di trasporto" 208@->* "Comuni" END GENERAL BEGIN OFFSET 0 0 FONT "Courier New" SIZE 12 MODULE "BUFFETTI_BOLLA_01" PRI_DECIMALS 0 3 QTA_DECIMALS 3 3 IMP_DECIMALS 0 3 EXCLUDE "," END SECTION HEADER ODD 33 STRING 1 36 1 BEGIN KEY "nome ditta" PROMPT 5 6 "" MESSAGE _DITTA,!RAGSOC END STRING 2 36 1 BEGIN KEY "indirizzo ditta" PROMPT 5 7 "" MESSAGE _DITTA,!IND END STRING 3 5 1 BEGIN KEY "cap ditta" PROMPT 5 8 "" MESSAGE _DITTA,!CAP END STRING 4 30 1 BEGIN KEY "comune ditta" PROMPT 12 8 "" MESSAGE _DITTA,!COM END STRING 5 5 1 BEGIN KEY "scritta P.IVA" PROMPT 5 9 "P.IVA" END STRING 6 16 1 BEGIN KEY "partita iva ditta" PROMPT 11 9 "" MESSAGE _DITTA,!IVA END STRING 7 9 1 BEGIN KEY "scritta COD.FISC." PROMPT 5 10 "COD.FISC." END STRING 8 16 1 BEGIN KEY "codice fiscale ditta" PROMPT 15 10 "" MESSAGE _DITTA,!CF END STRING 9 35 2 BEGIN KEY "destinatario, ditta" PROMPT 44 16 "" MESSAGE _CLIENTE,!RAGSOC END STRING 10 35 2 BEGIN KEY "destinatario, indirizzo con numero civico" PROMPT 44 18 "" MESSAGE _CLIENTE,!INDNUM END STRING 11 5 1 BEGIN KEY "destinatario, cap" PROMPT 44 20 "" MESSAGE _CLIENTE,CAPCF END STRING 12 30 2 BEGIN KEY "destinatario, comune" PROMPT 50 20 "" MESSAGE _CLIENTE,!COM->DENCOM END STRING 13 2 BEGIN KEY "destinatario, provincia" PROMPT 72 21 "" MESSAGE _CLIENTE,!COM->PROVCOM END DATE 14 8 1 BEGIN KEY "data bolla" PROMPT 60 25 "" FIELD 33->DATADOC FORMAT "1442-" END NUMBER 15 7 BEGIN KEY "numero bolla" PROMPT 71 25 "" FIELD NDOC END STRING 16 30 2 BEGIN KEY "destinazione, indirizzo" PROMPT 5 16 "" FIELD 16->INDIR END STRING 17 5 1 BEGIN KEY "destinazione, cap" PROMPT 5 18 "" FIELD 16->CAP END STRING 18 5 1 BEGIN KEY "" PROMPT 1 1 "" FLAGS "H" FIELD 16->COM END STRING 19 21 BEGIN KEY "destinazione, comune" PROMPT 5 20 "" MESSAGE _ISAMREAD,13,COM=#18,DENCOM END STRING 20 2 1 BEGIN KEY "destinazione, provincia" PROMPT 28 20 "" MESSAGE _ISAMREAD,13,COM=#18,PROVCOM END NUMBER 21 BEGIN KEY "ordine" PROMPT 3 25 "" FIELD NUMDOCRIF END DATE 22 10 BEGIN KEY "data conferma" PROMPT 16 25 "" FIELD DATADOCRIF FORMAT "1444-" END STRING 23 48 1 BEGIN KEY "condizioni pagamento" PROMPT 3 27 "" FIELD 201@->S0 END STRING 24 29 1 BEGIN KEY "banca appoggio" PROMPT 53 27 "" FIELD 204@->S0 END STRING 25 7 1 BEGIN KEY "codice cliente" PROMPT 3 29 "" FIELD CODCF END STRING 26 11 1 BEGIN KEY "partita iva cliente" PROMPT 12 29 "" MESSAGE _CLIENTE,PIVA END STRING 27 18 1 BEGIN KEY "porto" PROMPT 41 25 "" FIELD 203@->S0 END NUMBER 28 BEGIN KEY "codice agente" PROMPT 29 29 "" FIELD CODAG END STRING 29 28 1 BEGIN KEY "nome agente" PROMPT 33 29 "" FIELD 202@->S0 END END SECTION BODY ODD 5 STRING 51 13 1 BEGIN KEY "codice articolo" PROMPT 5 1 "" FIELD 34->CODART END STRING 52 25 4 BEGIN KEY "descrizione articolo" PROMPT 25 1 "" MESSAGE _DESCRIGA END STRING 53 2 BEGIN KEY "unità di misura" PROMPT 56 1 "" FIELD 34->UMQTA MESSAGE _ALIGN,#52,BOTTOM END NUMBER 54 10 BEGIN KEY "quantita" PROMPT 60 1 "" PICTURE "######" GROUP 30 FIELD 34->QTA MESSAGE _ALIGN,#52,BOTTOM END NUMBER 55 20 BEGIN KEY "quantita' lettere" PROMPT 72 1 "" FIELD 34->QTA PICTURE "LETTERE" MESSAGE _ALIGN,#52,BOTTOM END END SECTION FOOTER ODD 9 STRING 81 5 1 BEGIN KEY "scritta SEGUE" PROMPT 72 9 "SEGUE" END END SECTION FOOTER LAST 9 LIST 101 1 1 BEGIN KEY "trasporto a cura del mittente" PROMPT 4 1 "" FIELD CODSPMEZZO ITEM "|" MESSAGE DISABLE,6@|ENABLE,5@ ITEM "D| " ITEM "M|X" MESSAGE DISABLE,6@|ENABLE,5@ ITEM "V| " END LIST 102 1 1 BEGIN KEY "trasporto a cura del destinatario" PROMPT 13 1 "" FIELD CODSPMEZZO ITEM "|" MESSAGE DISABLE,6@|ENABLE,5@ ITEM "D|X" MESSAGE DISABLE,6@|ENABLE,5@ ITEM "M| " ITEM "V| " END LIST 103 1 1 BEGIN KEY "trasporto a cura del vettore" PROMPT 23 1 "" FIELD CODSPMEZZO ITEM "|" ITEM "D| " ITEM "M| " ITEM "V|X" MESSAGE DISABLE,5@|ENABLE,6@ END STRING 104 45 1 BEGIN KEY "nome vettore" PROMPT 3 4 "" FIELD 205@->S0 END STRING 105 45 1 BEGIN KEY "indirizzo vettore" PROMPT 3 6 "" FIELD 205@->S1[1,35] END STRING 106 10 1 BEGIN KEY "n civico vettore" PROMPT 30 6 "" FIELD 205@->S1[36,45] FLAGS "D" END STRING 107 25 1 BEGIN KEY "localita' vettore" PROMPT 50 6 "" FIELD 205@->S1[46,70] FLAGS "D" END STRING 108 25 1 BEGIN KEY "comune vettore" PROMPT 75 6 "" FIELD 208@->DENCOM FLAGS "D" END DATE 109 8 1 BEGIN KEY "data inizio trasporto/consegna" PROMPT 51 3 "" FIELD DATAPART FORMAT "1442-" GROUP 5 END STRING 110 5 1 BEGIN KEY "ora inizio trasporto/consegna" PROMPT 60 3 "" PICTURE "## ##" FIELD ORAPART GROUP 5 END DATE 111 8 1 BEGIN KEY "data ritiro da parte del vettore" PROMPT 51 3 "" FIELD DATAPART GROUP 6 FORMAT "1442-" END STRING 112 5 1 BEGIN KEY "ora ritiro da parte del vettore" PROMPT 60 3 "" PICTURE "## ##" FIELD ORAPART GROUP 6 END STRING 113 27 1 BEGIN KEY "aspetto beni" PROMPT 37 1 "" FIELD 206@->S0 END STRING 114 7 1 BEGIN KEY "peso" PROMPT 73 1 "" FIELD PNETTO END STRING 115 5 1 BEGIN KEY "colli" PROMPT 66 1 "" FIELD NCOLLI END STRING 116 15 BEGIN KEY "causale di trasporto" PROMPT 25 4 "" FIELD 207@->S0 FLAGS "H" END 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 // !IND indirizzo // !NUM numero civico // !INDNUM indirizzo + 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