Sistemata stampa doc. vendita. Corretti bug stampe sconti e condiz. vendita.
git-svn-id: svn://10.65.10.50/trunk@1934 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									5964b25487
								
							
						
					
					
						commit
						a586455adb
					
				@ -1,4 +1,6 @@
 | 
				
			|||||||
#include "ve4.h"
 | 
					
 | 
				
			||||||
 | 
					#include "batbtip.h"
 | 
				
			||||||
 | 
					//#include "ve4.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TOOLBAR "" 0 20 60 2
 | 
					TOOLBAR "" 0 20 60 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										182
									
								
								ve/ve1100.cpp
									
									
									
									
									
								
							
							
						
						
									
										182
									
								
								ve/ve1100.cpp
									
									
									
									
									
								
							@ -1,3 +1,4 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include <applicat.h>
 | 
					#include <applicat.h>
 | 
				
			||||||
#include <config.h>
 | 
					#include <config.h>
 | 
				
			||||||
#include <form.h>
 | 
					#include <form.h>
 | 
				
			||||||
@ -10,43 +11,6 @@
 | 
				
			|||||||
#include <urldefid.h>
 | 
					#include <urldefid.h>
 | 
				
			||||||
#include <utility.h>
 | 
					#include <utility.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// !! fatto (in ordine d'esecuzione):
 | 
					 | 
				
			||||||
// !! ------------------------------
 | 
					 | 
				
			||||||
// !! - lettura parametri linea di comando per eventuale esecuzione batch
 | 
					 | 
				
			||||||
// !! - impostazione di flag di interattività posto a true se non ci sono parametri sulla linea
 | 
					 | 
				
			||||||
// !!   di comando; influisce su:
 | 
					 | 
				
			||||||
// !!   - apertura maschera richiesta dati
 | 
					 | 
				
			||||||
// !!   - richiesta di stampa definitiva
 | 
					 | 
				
			||||||
// !!   - richiesta d'interruzione in caso di stato non valido durante stampa definitiva
 | 
					 | 
				
			||||||
// !!   - interruzione forzata in caso di impossibilità di rinumerazione definitiva
 | 
					 | 
				
			||||||
// !! - impostazione di flag di stampa definitiva (da linea di comando o richiesta con box);
 | 
					 | 
				
			||||||
// !!   influisce su:
 | 
					 | 
				
			||||||
// !!   - controllo stati durante la stampa
 | 
					 | 
				
			||||||
// !!   - lancio della procedura di rinumerazione definitiva
 | 
					 | 
				
			||||||
// !! - lettura tabelle codice numerazione e tipo documento
 | 
					 | 
				
			||||||
// !! - lancio batch della stampa se sono presenti i parametri sulla linea di comando
 | 
					 | 
				
			||||||
// !! - creazione e apertura della maschera e lettura dati
 | 
					 | 
				
			||||||
// !! - impostazione della regione del cursore del form
 | 
					 | 
				
			||||||
// !! - ciclo di lettura del form con stampa della posizione corrente e lancio (eventuale)
 | 
					 | 
				
			||||||
// !!   della rinumerazione
 | 
					 | 
				
			||||||
// !! - intercettazione dei seguenti messaggi custom nel form:
 | 
					 | 
				
			||||||
// !!   - _ISAMREAD per letture generiche dal database
 | 
					 | 
				
			||||||
// !!   - _TABLEREAD per lettura generiche da tabelle del database
 | 
					 | 
				
			||||||
// !!   - _DITTA per ottenere dati di configurazione sulla ditta in uso
 | 
					 | 
				
			||||||
// !!   - _CIFRELETTERE per la conversione di un valore in lettere
 | 
					 | 
				
			||||||
// !! - chiusura applicazione
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// !! da fare:                                       
 | 
					 | 
				
			||||||
// !! -------
 | 
					 | 
				
			||||||
// !! - verificare le messaggistiche verso l'utente e il controllo dell'interattività
 | 
					 | 
				
			||||||
// !! - aggiungere lettura del tipo di modulo dal form (quando sarà fatto)
 | 
					 | 
				
			||||||
// !! - completare routine di scelta di cosa fare al cambio del modulo
 | 
					 | 
				
			||||||
// !! - aggiungere tutti gli altri messaggi di gestione dei documenti di vendita (clienti,
 | 
					 | 
				
			||||||
// !!   totalizzatori, calcoli, ecc.)
 | 
					 | 
				
			||||||
// !! - tutto il resto!
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include "ve1100.h"
 | 
					#include "ve1100.h"
 | 
				
			||||||
#include "ve0100b.h"
 | 
					#include "ve0100b.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -58,9 +22,12 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
class TDocVen_Form: public TForm { 
 | 
					class TDocVen_Form: public TForm { 
 | 
				
			||||||
  TRelation &_firmrel; // relazione di gestione dei dati della ditta corrente
 | 
					  TRelation &_firmrel; // relazione di gestione dei dati della ditta corrente
 | 
				
			||||||
 | 
						TString _module; // codice del modulo di carta associato a questo al form
 | 
				
			||||||
protected:
 | 
					protected:
 | 
				
			||||||
  virtual bool validate(TForm_item &, TToken_string &);
 | 
						virtual void extended_parse_general(TScanner &); // gestione dei parametri estesi nella sezione general
 | 
				
			||||||
 | 
					  virtual bool validate(TForm_item &, TToken_string &); // gestione dei messaggi estesi nei campi
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
 | 
						const TString &get_module_code() { return _module; } // ritorna il codice del modulo di carta
 | 
				
			||||||
  TDocVen_Form(const char *, TRelation &);
 | 
					  TDocVen_Form(const char *, TRelation &);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -68,12 +35,17 @@ public:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
TDocVen_Form::TDocVen_Form(const char* name, TRelation &rel): TForm(name), _firmrel(rel) {}
 | 
					TDocVen_Form::TDocVen_Form(const char* name, TRelation &rel): TForm(name), _firmrel(rel) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TDocVen_Form::extended_parse_general(TScanner &scanner) {
 | 
				
			||||||
 | 
						if (scanner.popkey() == "MO") _module = scanner.string(); // se viene riconosciuto il token per l'impostazione del modulo legge il codice...
 | 
				
			||||||
 | 
						else scanner.push(); // ...altrimenti rimette il token nella coda dello scanner
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool TDocVen_Form::validate(TForm_item &cf, TToken_string &s) {
 | 
					bool TDocVen_Form::validate(TForm_item &cf, TToken_string &s) {
 | 
				
			||||||
  const TString code(s.get(0)); // prende il primo parametro, il codice del messaggio
 | 
					  const TString code(s.get(0)); // prende il primo parametro, il codice del messaggio
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (code== "_ISAMREAD") {
 | 
					  if (code== "_ISAMREAD") {
 | 
				
			||||||
    // lettura generica di un file del database
 | 
					    // lettura generica di un file del database
 | 
				
			||||||
    // sintassi: _ISAMREAD <file> <espressione input>,<espressione input>,... <espressione output>,<espressione output>,...
 | 
					    // sintassi: _ISAMREAD,<file>,<espressione input>[!<espressione input>!...],{<campo file>|<espressione output>[!<espressione output>!...]}
 | 
				
			||||||
    // dove: <file> è il numero logico del file o il nome della tabella
 | 
					    // dove: <file> è il numero logico del file o il nome della tabella
 | 
				
			||||||
    //       <espressione input> è un'espressione del tipo <campo file>=<espressione campi form>
 | 
					    //       <espressione input> è un'espressione del tipo <campo file>=<espressione campi form>
 | 
				
			||||||
    //       <espressione campi form> è un'espressione di costanti numeriche, stringhe e valori di campi della form (indicati con il loro numero preceduto da #)
 | 
					    //       <espressione campi form> è un'espressione di costanti numeriche, stringhe e valori di campi della form (indicati con il loro numero preceduto da #)
 | 
				
			||||||
@ -85,7 +57,8 @@ bool TDocVen_Form::validate(TForm_item &cf, TToken_string &s) {
 | 
				
			|||||||
    TString f_code(s.get()); // prende il codice del file da leggere
 | 
					    TString f_code(s.get()); // prende il codice del file da leggere
 | 
				
			||||||
    if (atoi(f_code) != 0) file= new TLocalisamfile(atoi(f_code)); // se il codice è numerico allora è un file
 | 
					    if (atoi(f_code) != 0) file= new TLocalisamfile(atoi(f_code)); // se il codice è numerico allora è un file
 | 
				
			||||||
    else file= new TTable(f_code); // altrimenti è una tabella
 | 
					    else file= new TTable(f_code); // altrimenti è una tabella
 | 
				
			||||||
    TToken_string in(s.get(), ',');
 | 
					    file->zero(); // vuota il record corrente del file
 | 
				
			||||||
 | 
					    TToken_string in(s.get(), '!');
 | 
				
			||||||
    for (i=0; i<in.items(); i++) { // scansione sugli elementi dell'input
 | 
					    for (i=0; i<in.items(); i++) { // scansione sugli elementi dell'input
 | 
				
			||||||
      TString curr(in.get(i));
 | 
					      TString curr(in.get(i));
 | 
				
			||||||
      poseq= curr.find("=="); // divide la stringa corrente in lvalue e rvalue
 | 
					      poseq= curr.find("=="); // divide la stringa corrente in lvalue e rvalue
 | 
				
			||||||
@ -93,8 +66,8 @@ bool TDocVen_Form::validate(TForm_item &cf, TToken_string &s) {
 | 
				
			|||||||
        poseq= curr.find('=');
 | 
					        poseq= curr.find('=');
 | 
				
			||||||
        if (poseq != -1) posrv= poseq+1;
 | 
					        if (poseq != -1) posrv= poseq+1;
 | 
				
			||||||
      } else posrv= poseq+2;
 | 
					      } else posrv= poseq+2;
 | 
				
			||||||
      const TString &fld= curr.left(poseq); // preleva il nome del campo del file alla sinistra dell'uguale
 | 
					      TString fld(curr.left(poseq)); // preleva il nome del campo del file alla sinistra dell'uguale
 | 
				
			||||||
      const TString &expr= curr.mid(posrv); // preleva l'espressione di assegnamento alla destra dell'uguale
 | 
					      TString expr(curr.mid(posrv)); // preleva l'espressione di assegnamento alla destra dell'uguale
 | 
				
			||||||
      TExpression rval(expr, _strexpr);
 | 
					      TExpression rval(expr, _strexpr);
 | 
				
			||||||
      for (j=0; j<rval.numvar(); j++) { // scansione delle variabili dell'espressione di rvalue
 | 
					      for (j=0; j<rval.numvar(); j++) { // scansione delle variabili dell'espressione di rvalue
 | 
				
			||||||
        TString var= rval.varname(j);
 | 
					        TString var= rval.varname(j);
 | 
				
			||||||
@ -105,7 +78,7 @@ bool TDocVen_Form::validate(TForm_item &cf, TToken_string &s) {
 | 
				
			|||||||
      file->put(fld, (const char *)rval); // scrive il risultato dell'espressione nel campo del file
 | 
					      file->put(fld, (const char *)rval); // scrive il risultato dell'espressione nel campo del file
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (file->read()== NOERR) { // tenta una lettura del file
 | 
					    if (file->read()== NOERR) { // tenta una lettura del file
 | 
				
			||||||
      TToken_string out(s.get(), ',');
 | 
					      TToken_string out(s.get(), '!');
 | 
				
			||||||
      for (i=0; i<out.items(); i++) { // scansione sugli elementi dell'output
 | 
					      for (i=0; i<out.items(); i++) { // scansione sugli elementi dell'output
 | 
				
			||||||
        TString curr(out.get(i));
 | 
					        TString curr(out.get(i));
 | 
				
			||||||
        poseq= curr.find("=="); // divide la stringa corrente in lvalue e rvalue
 | 
					        poseq= curr.find("=="); // divide la stringa corrente in lvalue e rvalue
 | 
				
			||||||
@ -117,7 +90,7 @@ bool TDocVen_Form::validate(TForm_item &cf, TToken_string &s) {
 | 
				
			|||||||
          const TString &dat= file->get(curr); // preleva il nome del campo del file e lo legge dal record
 | 
					          const TString &dat= file->get(curr); // preleva il nome del campo del file e lo legge dal record
 | 
				
			||||||
          cf.set(dat); // setta il campo letto dal file nel campo corrente della form   
 | 
					          cf.set(dat); // setta il campo letto dal file nel campo corrente della form   
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
          TString fld= curr.left(poseq); // preleva il nome del campo del form alla sinistra dell'uguale
 | 
					          TString fld(curr.left(poseq)); // preleva il nome del campo del form alla sinistra dell'uguale
 | 
				
			||||||
          const TString &dat= file->get(curr.mid(posrv)); // preleva il nome del campo del file alla destra dell'uguale e lo legge dal record
 | 
					          const TString &dat= file->get(curr.mid(posrv)); // preleva il nome del campo del file alla destra dell'uguale e lo legge dal record
 | 
				
			||||||
          if (fld[0]=='#') fld.ltrim(1);
 | 
					          if (fld[0]=='#') fld.ltrim(1);
 | 
				
			||||||
          if (fld.right(1)== "@") { // se c'è la a-commerciale è un gruppo
 | 
					          if (fld.right(1)== "@") { // se c'è la a-commerciale è un gruppo
 | 
				
			||||||
@ -148,11 +121,12 @@ bool TDocVen_Form::validate(TForm_item &cf, TToken_string &s) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  if (code== "_TABLEREAD") {
 | 
					  if (code== "_TABLEREAD") {
 | 
				
			||||||
    // lettura generica di un campo di una tabella
 | 
					    // lettura generica di un campo di una tabella
 | 
				
			||||||
    // sintassi: _TABLEREAD <tabella> <chiave> <campo file>
 | 
					    // sintassi: _TABLEREAD,<tabella>,<chiave>,<campo file>
 | 
				
			||||||
    // dove: <tabella> nome tabella da leggere
 | 
					    // dove: <tabella> nome tabella da leggere
 | 
				
			||||||
    //       <chiave> costante stringa o riferimento a campo della form (preceduto da '#') da usare come chiave di ricerca
 | 
					    //       <chiave> costante stringa o riferimento a campo della form (preceduto da '#') da usare come chiave di ricerca
 | 
				
			||||||
    //       <campo file> identificativo del campo da leggere dalla tabella
 | 
					    //       <campo file> identificativo del campo da leggere dalla tabella
 | 
				
			||||||
    TTable tab(s.get()); // prende il nome della tabella
 | 
					    TTable tab(s.get()); // prende il nome della tabella
 | 
				
			||||||
 | 
					    tab.zero(); // vuota il record corrente della tabella
 | 
				
			||||||
    TString in(s.get()); // prende il valore o il campo da usare come codice di ricerca
 | 
					    TString in(s.get()); // prende il valore o il campo da usare come codice di ricerca
 | 
				
			||||||
    if (in.left(1)== '#') {
 | 
					    if (in.left(1)== '#') {
 | 
				
			||||||
      in.ltrim(1);
 | 
					      in.ltrim(1);
 | 
				
			||||||
@ -169,25 +143,25 @@ bool TDocVen_Form::validate(TForm_item &cf, TToken_string &s) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  if (code== "_DITTA") {
 | 
					  if (code== "_DITTA") {
 | 
				
			||||||
    // lettura dei dati della ditta
 | 
					    // lettura dei dati della ditta
 | 
				
			||||||
    // sintassi: _DITTA {<campo relazione>|<macro>}
 | 
					    // sintassi: _DITTA,{<campo relazione>|<macro>}
 | 
				
			||||||
    // dove: <campo relazione> è un riferimento alla relazione di gestione dei dati della ditta (es. 113@->DENCOM è la denominazione del comune di residenza della ditta)
 | 
					    // dove: <campo relazione> è un riferimento alla relazione di gestione dei dati della ditta (es. 113@->DENCOM è la denominazione del comune di residenza della ditta)
 | 
				
			||||||
    //       <macro> è uno delle macro seguenti:
 | 
					    //       <macro> è uno delle macro seguenti:
 | 
				
			||||||
    //         &RAGSOC  ragione sociale
 | 
					    //         !RAGSOC  ragione sociale
 | 
				
			||||||
    //         &IND     indirizzo (fiscale se c'è, oppure di residenza)
 | 
					    //         !IND     indirizzo (fiscale se c'è, oppure di residenza)
 | 
				
			||||||
    //         &NUM     numero civico (fiscale se c'è, oppure di residenza)
 | 
					    //         !NUM     numero civico (fiscale se c'è, oppure di residenza)
 | 
				
			||||||
    //         &CAP     CAP (fiscale se c'è, oppure di residenza)
 | 
					    //         !CAP     CAP (fiscale se c'è, oppure di residenza)
 | 
				
			||||||
    //         &COM     comune (fiscale se c'è, oppure di residenza)
 | 
					    //         !COM     comune (fiscale se c'è, oppure di residenza)
 | 
				
			||||||
    //         &IVA     partita iva
 | 
					    //         !IVA     partita iva
 | 
				
			||||||
    //         &CF      codice fiscale
 | 
					    //         !CF      codice fiscale
 | 
				
			||||||
    //         &TEL     numero di telefono (con prefisso)
 | 
					    //         !TEL     numero di telefono (con prefisso)
 | 
				
			||||||
    //         &FAX     numero di fax (con prefisso)
 | 
					    //         !FAX     numero di fax (con prefisso)
 | 
				
			||||||
    // nota: la relazione di della ditta è così strutturata:
 | 
					    // nota: la relazione di della ditta è così strutturata:
 | 
				
			||||||
    //       %NDITTE (9) Dati ditte
 | 
					    //       %NDITTE (9) Dati ditte
 | 
				
			||||||
    //       + %ANAGR (6) Anagrafica generale (indirizzo, ecc.)
 | 
					    //       + %ANAGR (6) Anagrafica generale (indirizzo, ecc.)
 | 
				
			||||||
    //          + %COMUNI (113@) Comune di residenza
 | 
					    //          + %COMUNI (113@) Comune di residenza
 | 
				
			||||||
    //          + %COMUNI (213@) Comune di residenza fiscale
 | 
					    //          + %COMUNI (213@) Comune di residenza fiscale
 | 
				
			||||||
    TString in(s.get());
 | 
					    TString in(s.get());
 | 
				
			||||||
    if (in[0]=='&') {
 | 
					    if (in[0]=='!') {
 | 
				
			||||||
      in.ltrim(1);
 | 
					      in.ltrim(1);
 | 
				
			||||||
      bool _fisc= _firmrel.lfile(6).get("INDRF").not_empty();
 | 
					      bool _fisc= _firmrel.lfile(6).get("INDRF").not_empty();
 | 
				
			||||||
      if (in=="RAGSOC") cf.set(_firmrel.lfile().get("RAGSOC"));
 | 
					      if (in=="RAGSOC") cf.set(_firmrel.lfile().get("RAGSOC"));
 | 
				
			||||||
@ -228,13 +202,13 @@ bool TDocVen_Form::validate(TForm_item &cf, TToken_string &s) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  if (code== "_CIFRELETTERE") {
 | 
					  if (code== "_CIFRELETTERE") {
 | 
				
			||||||
    // conversione di un reale da cifre a lettere
 | 
					    // conversione di un reale da cifre a lettere
 | 
				
			||||||
    // sintassi: _CIFRELETTERE [<campo form>]
 | 
					    // sintassi: _CIFRELETTERE[,<campo form>]
 | 
				
			||||||
    // dove: <campo form> è il campo della form (preceduto da '#') da cui prendere il valore, se non è specificato è sottointeso il campo corrente
 | 
					    // dove: <campo form> è il campo della form (preceduto da '#') da cui prendere il valore, se non è specificato è sottointeso il campo corrente
 | 
				
			||||||
    // nota: prende il valore del campo specificato e scrive la sua conversione in lettere nel campo corrente
 | 
					    // nota: prende il valore del campo specificato e scrive la sua conversione in lettere nel campo corrente
 | 
				
			||||||
    TString in;
 | 
					    TString in;
 | 
				
			||||||
    if (s.items()==2) {
 | 
					    if (s.items()==2) {
 | 
				
			||||||
      in= s.get();
 | 
					      in= s.get();
 | 
				
			||||||
      if (in.left(1)== '#') in.ltrim(1);
 | 
					      if (in[0]== '#') in.ltrim(1);
 | 
				
			||||||
      TForm_item &fi= cf.find_field(in);
 | 
					      TForm_item &fi= cf.find_field(in);
 | 
				
			||||||
      in= fi.get();
 | 
					      in= fi.get();
 | 
				
			||||||
    } else in= cf.get();
 | 
					    } else in= cf.get();
 | 
				
			||||||
@ -275,7 +249,7 @@ protected:
 | 
				
			|||||||
  int select(void);
 | 
					  int select(void);
 | 
				
			||||||
  virtual void print(void);
 | 
					  virtual void print(void);
 | 
				
			||||||
  virtual void on_firm_change(void);
 | 
					  virtual void on_firm_change(void);
 | 
				
			||||||
  virtual behaviour on_module_change(const TString &); // funzione chiamata ad ogni cambio modulo durante la stampa
 | 
					  virtual behaviour on_module_change(const TString &, TString &); // funzione chiamata ad ogni cambio modulo durante la stampa
 | 
				
			||||||
  virtual bool query_final_print(void); // funzione chiamata all'inizializzazione per sapere se la stampa è definitiva
 | 
					  virtual bool query_final_print(void); // funzione chiamata all'inizializzazione per sapere se la stampa è definitiva
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -293,6 +267,7 @@ bool TStampa_Doc_Vendita::create() {
 | 
				
			|||||||
    _provv= argv(4); // il terzo è il flag di numerazione provvisoria
 | 
					    _provv= argv(4); // il terzo è il flag di numerazione provvisoria
 | 
				
			||||||
    _dalnum= atol(argv(5)); // il quarto è il numero di documento di partenza
 | 
					    _dalnum= atol(argv(5)); // il quarto è il numero di documento di partenza
 | 
				
			||||||
    _alnum= atol(argv(6)); // il quinto è il numero di documento di fine
 | 
					    _alnum= atol(argv(6)); // il quinto è il numero di documento di fine
 | 
				
			||||||
 | 
							_definitiva= (strcmp(argv(7), "D")==0); // il sesto è se la stampa è definitiva (rinumerazione dei documenti)
 | 
				
			||||||
    _interattivo= FALSE;
 | 
					    _interattivo= FALSE;
 | 
				
			||||||
    print();
 | 
					    print();
 | 
				
			||||||
  } else { // oppure lancio della maschera
 | 
					  } else { // oppure lancio della maschera
 | 
				
			||||||
@ -318,7 +293,6 @@ int TStampa_Doc_Vendita::select() {
 | 
				
			|||||||
  if (m.run() == K_ENTER) {
 | 
					  if (m.run() == K_ENTER) {
 | 
				
			||||||
    _codnum= m.get(F_CODNUM); // lettura dei dati dalla maschera
 | 
					    _codnum= m.get(F_CODNUM); // lettura dei dati dalla maschera
 | 
				
			||||||
    _anno= m.get_int(F_ANNO);
 | 
					    _anno= m.get_int(F_ANNO);
 | 
				
			||||||
    //_provv= (m.get_bool(F_PROVV))?("P"):("D");
 | 
					 | 
				
			||||||
    _provv= m.get(F_PROVV);
 | 
					    _provv= m.get(F_PROVV);
 | 
				
			||||||
    _dalnum= m.get_long(F_DA_NDOC);
 | 
					    _dalnum= m.get_long(F_DA_NDOC);
 | 
				
			||||||
    _alnum= m.get_long(F_A_NDOC);
 | 
					    _alnum= m.get_long(F_A_NDOC);
 | 
				
			||||||
@ -336,82 +310,96 @@ void TStampa_Doc_Vendita::print() {
 | 
				
			|||||||
  _definitiva= query_final_print(); // legge il flag di stampa definitiva
 | 
					  _definitiva= query_final_print(); // legge il flag di stampa definitiva
 | 
				
			||||||
  printer().open(); // apre la stampante
 | 
					  printer().open(); // apre la stampante
 | 
				
			||||||
  TFilename nomeform, profilo; // istanzia le stringhe per il nome del form di stampa e del profilo di configurazione
 | 
					  TFilename nomeform, profilo; // istanzia le stringhe per il nome del form di stampa e del profilo di configurazione
 | 
				
			||||||
  TString modulo, modulo_prec;          // istanzia le stringhe per l'inseguimento del modulo di carta
 | 
					  TString modulo_prec;  // istanzia la stringa per l'inseguimento del modulo di carta
 | 
				
			||||||
  //TToken_string stati("",',');                // token string con gli stati validi dei documenti
 | 
					 | 
				
			||||||
  TTable tip("%TIP"); // istanzia la tabella dei tipi di documento per i profili
 | 
					  TTable tip("%TIP"); // istanzia la tabella dei tipi di documento per i profili
 | 
				
			||||||
  TRelation rel(LF_DOC); // istanzia la relazione sul file principale
 | 
					  TRelation rel(LF_DOC); // istanzia la relazione sul file principale
 | 
				
			||||||
  TLocalisamfile &doc= rel.lfile();     // prende il riferimento al file principale
 | 
					 | 
				
			||||||
  TCursor cur(&rel); // crea il cursore principale dalla relazione
 | 
					  TCursor cur(&rel); // crea il cursore principale dalla relazione
 | 
				
			||||||
 | 
					  TLocalisamfile &doc= cur.file(); // prende il riferimento al file principale
 | 
				
			||||||
 | 
					  doc.zero(); // vuota il record del file 
 | 
				
			||||||
  doc.put("CODNUM", _codnum); // compone la chiave per il record di inizio cursore
 | 
					  doc.put("CODNUM", _codnum); // compone la chiave per il record di inizio cursore
 | 
				
			||||||
  doc.put("ANNO", _anno);
 | 
					  doc.put("ANNO", _anno);
 | 
				
			||||||
  doc.put("PROVV", _provv);
 | 
					  doc.put("PROVV", _provv);
 | 
				
			||||||
  doc.put("NDOC", _dalnum);
 | 
					  doc.put("NDOC", _dalnum);
 | 
				
			||||||
  doc.read(); // posiziona il file sul record
 | 
					  doc.read(); // posiziona il file sul record
 | 
				
			||||||
  TRectype darec= doc.curr(); // copia il record di inizio cursore
 | 
					  TRectype darec= doc.curr(); // copia il record di inizio cursore
 | 
				
			||||||
  doc.put("NDOC", _alnum);                      // compone la chiave per il record di fine cursore
 | 
					  doc.zero(); // vuota il record del file 
 | 
				
			||||||
 | 
					  doc.put("CODNUM", _codnum); // compone la chiave per il record di fine cursore
 | 
				
			||||||
 | 
					  doc.put("ANNO", _anno);
 | 
				
			||||||
 | 
					  doc.put("PROVV", _provv);
 | 
				
			||||||
 | 
					  doc.put("NDOC", _alnum);
 | 
				
			||||||
  doc.read(); // posiziona il file sul record
 | 
					  doc.read(); // posiziona il file sul record
 | 
				
			||||||
  TRectype arec= doc.curr(); // copia il record di fine cursore
 | 
					  TRectype arec= doc.curr(); // copia il record di fine cursore
 | 
				
			||||||
  cur.setregion(darec, arec);           // imposta il filtro sul cursore di stampa
 | 
					  cur.setregion(darec, arec); // imposta il filtro sul cursore di stampa (nell'ordine giusto :-)
 | 
				
			||||||
  for (int i= 0; i<cur.items(); i++)// ciclo sugli elementi del cursore di stampa
 | 
					  for (cur= 0; cur.pos()<cur.items(); ++cur) { // ciclo sugli elementi del cursore di stampa
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    cur= i;                     // posiziona il cursore
 | 
					 | 
				
			||||||
    tip.put("CODTAB", doc.get("TIPODOC")); // posiziona la tabella dei tipi di documento
 | 
					    tip.put("CODTAB", doc.get("TIPODOC")); // posiziona la tabella dei tipi di documento
 | 
				
			||||||
    int err=tip.read();
 | 
					    int err=tip.read(); // legge la tabella
 | 
				
			||||||
    if (err==NOERR)                     // legge la tabella
 | 
					    if (err==NOERR) { // se non ci sono errori procede con la stampa
 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      nomeform= tip.get("S5"); // legge il nome del form di stampa
 | 
					      nomeform= tip.get("S5"); // legge il nome del form di stampa
 | 
				
			||||||
      profilo= tip.get("S4"); // legge il nome del profilo di configurazione
 | 
					      profilo= tip.get("S4"); // legge il nome del profilo di configurazione
 | 
				
			||||||
      profilo.ext("ini");
 | 
					      profilo.ext("ini"); // aggiunge l'estensione al nome del file del profilo
 | 
				
			||||||
      TConfig config(profilo, "STAMPA"); // apre il file di configurazione del profilo
 | 
					      TConfig config(profilo, "STAMPA"); // apre il file di configurazione del profilo
 | 
				
			||||||
      TToken_string stati((const char*)config.get("STATIVALIDI"), ','); // legge gli stati validi di questo tipo di documento
 | 
					      TToken_string stati((const char*)config.get("STATIVALIDI"), ','); // legge gli stati validi di questo tipo di documento
 | 
				
			||||||
      if (_definitiva && (stati.get_pos(doc.get("STATO"))== -1))        // se lo stato del doc. corrente non è valido...
 | 
					      if (_definitiva && (stati.get_pos(doc.get("STATO"))== -1)) { // se lo stato del doc. corrente non è valido...
 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        if (_interattivo) error_box("Non è possibile stampare un documento con stato non valido"); // ...viene mostrato un messaggio (solo in modo interattivo)...
 | 
					        if (_interattivo) error_box("Non è possibile stampare un documento con stato non valido"); // ...viene mostrato un messaggio (solo in modo interattivo)...
 | 
				
			||||||
        break; // ...e la stampa viene interrotta
 | 
					        break; // ...e la stampa viene interrotta
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      behaviour whattodo= go; // istanzia la variabile di comportamento
 | 
					      behaviour whattodo= go; // istanzia la variabile di comportamento
 | 
				
			||||||
      TDocVen_Form f(nomeform, *_firmrel); // istanzia il form
 | 
					      TDocVen_Form f(nomeform, *_firmrel); // istanzia il form
 | 
				
			||||||
            // !! modulo= f.get_module_code(); // legge dal form il codice del modulo di carta per la stampa
 | 
					      const TString &modulo= f.get_module_code(); // legge dal form il codice del modulo di carta per la stampa
 | 
				
			||||||
      if (modulo_prec.empty()) modulo_prec= modulo; // se siamo al primo passaggio la variabile di modulo precedente viene riempita
 | 
					      if (modulo_prec.empty()) modulo_prec= modulo; // se siamo al primo passaggio la variabile di modulo precedente viene riempita
 | 
				
			||||||
            if (modulo != modulo_prec) whattodo= on_module_change(modulo); // se il modulo è cambiato dalla stampa precedente interroga la funzione per sapere che comportamento tenere
 | 
					      if (modulo != modulo_prec) whattodo= on_module_change(modulo, modulo_prec); // se il modulo è cambiato dalla stampa precedente interroga la funzione per sapere che comportamento tenere
 | 
				
			||||||
            if (whattodo==cancel)             // se non si può procedere la stampa viene interrotta
 | 
					      if (whattodo==cancel) break; // se non si può procedere la stampa viene interrotta
 | 
				
			||||||
              break;
 | 
					      else if (whattodo==go) { // altrimenti prosegue
 | 
				
			||||||
            else if (whattodo==go)            // altrimenti prosegue
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
        TCursor &fcur= *(f.cursor()); // ricava il riferimento al cursore originale del form
 | 
					        TCursor &fcur= *(f.cursor()); // ricava il riferimento al cursore originale del form
 | 
				
			||||||
              darec= arec= doc.curr(); // prepara i record per il filtro
 | 
					        TLocalisamfile &rdoc= fcur.file(); // ricava il riferimento al file principale del cursore del form
 | 
				
			||||||
              fcur.setregion(darec, arec); // setta il filtro sul form (solo il record corrente)
 | 
					        TRectype darec_r(rdoc.curr());  // istanzia il record di filtro per il cursore
 | 
				
			||||||
              f.print(0,0); // stampa il record corrente del form
 | 
					        darec_r.zero(); // vuota il record
 | 
				
			||||||
              if (_definitiva && (numerazione_definitiva(doc) != NOERR))      // se la stampa è definitiva viene lanciata la procedura di rinumerazione
 | 
					        darec_r.put("CODNUM", _codnum); // compone la chiave parziale per il filtro sul cursore dal file principale del cursore di selezione dei documenti
 | 
				
			||||||
              {
 | 
					        darec_r.put("ANNO", _anno);
 | 
				
			||||||
 | 
					        darec_r.put("PROVV", _provv);
 | 
				
			||||||
 | 
					        darec_r.put("NDOC", doc.get("NDOC"));
 | 
				
			||||||
 | 
					        TRectype arec_r(darec_r); // istanzia il secondo record per il filtro sul cursore
 | 
				
			||||||
 | 
					        fcur.setregion(darec_r, arec_r); // setta il filtro sul cursore del form
 | 
				
			||||||
 | 
					        f.print(); // stampa il form corrente
 | 
				
			||||||
 | 
					        if (_definitiva && (numerazione_definitiva(doc) != NOERR)) { // se la stampa è definitiva viene lanciata la procedura di rinumerazione
 | 
				
			||||||
          if (_interattivo) error_box("Non è possibile completare la procedura di numerazione definitiva dei documenti");
 | 
					          if (_interattivo) error_box("Non è possibile completare la procedura di numerazione definitiva dei documenti");
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
              }
 | 
					    } else {
 | 
				
			||||||
            else
 | 
					      error_box("Il documento corrente non è stato trovato nella tabella dei tipi di documento (errore %d)", err);
 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
              // error_box("Il documento corrente non può essere trovato nella tabella dei tipi di documento");
 | 
					 | 
				
			||||||
              error_box ("Errore %d leggendo da %TIP.", err);
 | 
					 | 
				
			||||||
      break;
 | 
					      break;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  printer().close(); // chiude la stampante
 | 
					  printer().close(); // chiude la stampante
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      behaviour TStampa_Doc_Vendita::on_module_change(const TString &modulo) {
 | 
					behaviour TStampa_Doc_Vendita::on_module_change(const TString &modulo, TString &modulo_prec) {
 | 
				
			||||||
        // !! qui va messa la reazione al cambio di modulo
 | 
						if (!_interattivo) return skip; // se siamo in interattivo il documento viene saltato...
 | 
				
			||||||
        // !! - se non si è in interattivo bisogna, immagino, ritornare sempre "skip"
 | 
						else { // ...altrimenti viene chiesto all'utente il da farsi
 | 
				
			||||||
        // !! - se si è in interattivo bisogna chiedere all'utente il da farsi, eventualmente
 | 
							int risp= yesnocancel_box("Il modulo di carta è cambiato: inserisci il modulo '%s' e premi 'Sì' per continuare, 'No' per saltare il documento o 'Cancel' per interrompere la stampa", modulo);
 | 
				
			||||||
        // !!   fornendo il nome esteso del modulo da inserire facendo una seek sulla tabella
 | 
						  behaviour ret;
 | 
				
			||||||
        return skip;
 | 
						  switch (risp) {
 | 
				
			||||||
 | 
						  	case K_YES:
 | 
				
			||||||
 | 
						  		modulo_prec= modulo; // aggiorna l'inseguitore dei moduli
 | 
				
			||||||
 | 
						  		ret= go; // la stampa può continuare
 | 
				
			||||||
 | 
						  		break;
 | 
				
			||||||
 | 
						  	case K_NO:
 | 
				
			||||||
 | 
						  		ret= skip; // il documento viene saltato
 | 
				
			||||||
 | 
						  		break;
 | 
				
			||||||
 | 
						  	case K_ESC:
 | 
				
			||||||
 | 
						  		ret= cancel; // la stampa viene interrotta
 | 
				
			||||||
 | 
						  		break;
 | 
				
			||||||
 | 
						  }
 | 
				
			||||||
 | 
						  return ret;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool TStampa_Doc_Vendita::query_final_print() {
 | 
					bool TStampa_Doc_Vendita::query_final_print() {
 | 
				
			||||||
  if (_interattivo) { // se siamo in interattivo viene richiesto all'utente se la stampa è definitiva o meno
 | 
					  if (_interattivo) { // se siamo in interattivo viene richiesto all'utente se la stampa è definitiva o meno
 | 
				
			||||||
    if (yesno_box("E' una stampa definitiva?")) return TRUE;
 | 
					    if (yesno_box("E' una stampa definitiva?")) return TRUE;
 | 
				
			||||||
    else return FALSE;
 | 
					    else return FALSE;
 | 
				
			||||||
        } else return (strcmp(argv(7), "D")==0); // altrimenti lo legge dalla linea di comando
 | 
					  } else return _definitiva; // altrimenti ritorna il valore letto dalla linea di comando
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -5,6 +5,7 @@ PAGE "STAMPA DOCUMENTI VENDITA" -1 -1 40 19
 | 
				
			|||||||
STRING F_CODNUM 4 4
 | 
					STRING F_CODNUM 4 4
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
        PROMPT 1 1 "Codice Num. "
 | 
					        PROMPT 1 1 "Codice Num. "
 | 
				
			||||||
 | 
					        FLAG "U"
 | 
				
			||||||
        USE NUM
 | 
					        USE NUM
 | 
				
			||||||
        INPUT CODTAB F_CODNUM
 | 
					        INPUT CODTAB F_CODNUM
 | 
				
			||||||
        DISPLAY "Cod. Num." CODTAB
 | 
					        DISPLAY "Cod. Num." CODTAB
 | 
				
			||||||
@ -19,9 +20,11 @@ BEGIN
 | 
				
			|||||||
        CHECKTYPE REQUIRED
 | 
					        CHECKTYPE REQUIRED
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
BOOLEAN F_PROVV
 | 
					LIST F_PROVV 8
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
        PROMPT 26 4 "Provvis."
 | 
					        PROMPT 26 4 ""
 | 
				
			||||||
 | 
					        ITEM "P|Provvis."
 | 
				
			||||||
 | 
					        ITEM "D|Definit."
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RADIOBUTTON F_DATA_O_NUM 20
 | 
					RADIOBUTTON F_DATA_O_NUM 20
 | 
				
			||||||
@ -44,7 +47,7 @@ END
 | 
				
			|||||||
NUMBER F_DA_NDOC 7 0
 | 
					NUMBER F_DA_NDOC 7 0
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
        PROMPT 2 8  "Dal num. "
 | 
					        PROMPT 2 8  "Dal num. "
 | 
				
			||||||
        USE 33 KEY 1
 | 
					        USE 33 KEY 1 SELECT CODNUM==#F_CODNUM|ANNO==#F_ANNO
 | 
				
			||||||
        JOIN 20 INTO CODCF=CODCF TIPOCF=TIPOCF
 | 
					        JOIN 20 INTO CODCF=CODCF TIPOCF=TIPOCF
 | 
				
			||||||
        JOIN 13 TO 20 INTO COM=COMCF
 | 
					        JOIN 13 TO 20 INTO COM=COMCF
 | 
				
			||||||
        INPUT CODNUM F_CODNUM SELECT
 | 
					        INPUT CODNUM F_CODNUM SELECT
 | 
				
			||||||
 | 
				
			|||||||
@ -58,7 +58,7 @@ bool TTabelle_sconti::user_create() {
 | 
				
			|||||||
			sci_k_id[2]= F_I_ZONE;
 | 
								sci_k_id[2]= F_I_ZONE;
 | 
				
			||||||
			sci_k_id[3]= F_I_CONDPAG;
 | 
								sci_k_id[3]= F_I_CONDPAG;
 | 
				
			||||||
			for (i=0; i<4; i++) {
 | 
								for (i=0; i<4; i++) {
 | 
				
			||||||
        if (prassid.get_bool("ScoKey", "ve", i)) { // se nel file di config. il campo è abilitato...
 | 
					        if (prassid.get_bool("SCOKEY", "ve", i)) { // se nel file di config. il campo è abilitato...
 | 
				
			||||||
        	REVIVE(sci_k_id[i]); // ...il campo viene abilitato anche sulla maschera...
 | 
					        	REVIVE(sci_k_id[i]); // ...il campo viene abilitato anche sulla maschera...
 | 
				
			||||||
        	gotcha= TRUE; // ...e viene settato il flag di ok
 | 
					        	gotcha= TRUE; // ...e viene settato il flag di ok
 | 
				
			||||||
        } else KILL(sci_k_id[i]); // se nel file di config. il campo non è abilitato viene disabilitato anche sulla maschera
 | 
					        } else KILL(sci_k_id[i]); // se nel file di config. il campo non è abilitato viene disabilitato anche sulla maschera
 | 
				
			||||||
 | 
				
			|||||||
@ -67,7 +67,7 @@ bool TCondizioni_vendita::user_create() {
 | 
				
			|||||||
	TConfig prassid(CONFIG_DITTA, "ve"); // apre il file di configurazione della ditta corrente
 | 
						TConfig prassid(CONFIG_DITTA, "ve"); // apre il file di configurazione della ditta corrente
 | 
				
			||||||
	switch (_condven[0]) {
 | 
						switch (_condven[0]) {
 | 
				
			||||||
		case 'L': { // listini
 | 
							case 'L': { // listini
 | 
				
			||||||
			if (!(prassid.get_bool("Ges", NULL, A_LISTINI))) error_box("L'archivio Listini non è abilititato"); // controlla che l'archivio listini sia abilitato
 | 
								if (!(prassid.get_bool("GES", NULL, A_LISTINI))) error_box("L'archivio Listini non è abilititato"); // controlla che l'archivio listini sia abilitato
 | 
				
			||||||
			else {
 | 
								else {
 | 
				
			||||||
				// eliminazione campi di altri archivi
 | 
									// eliminazione campi di altri archivi
 | 
				
			||||||
				DESTROY(F_C_COD);
 | 
									DESTROY(F_C_COD);
 | 
				
			||||||
@ -77,17 +77,17 @@ bool TCondizioni_vendita::user_create() {
 | 
				
			|||||||
				DESTROY(F_C_OBBLIG);
 | 
									DESTROY(F_C_OBBLIG);
 | 
				
			||||||
				set_search_field(F_L_COD); // impostazione del campo di ricerca
 | 
									set_search_field(F_L_COD); // impostazione del campo di ricerca
 | 
				
			||||||
				_msk->set_handler(F_LC_CODSUCC, handle_codsucc); // setta l'handler per il campo di codice successivo
 | 
									_msk->set_handler(F_LC_CODSUCC, handle_codsucc); // setta l'handler per il campo di codice successivo
 | 
				
			||||||
				_codlis_catven= prassid.get_bool("CodLisCV"); // setta il booleano di abilitazione delle categoria di vendita
 | 
									_codlis_catven= prassid.get_bool("CODLISCV"); // setta il booleano di abilitazione delle categoria di vendita
 | 
				
			||||||
				if (!_codlis_catven) KILL(F_L_CATVEN); // disabilita condizionalmente le categorie di vendita
 | 
									if (!_codlis_catven) KILL(F_L_CATVEN); // disabilita condizionalmente le categorie di vendita
 | 
				
			||||||
				_gest_um= prassid.get_bool("GesUM", NULL, A_LISTINI); // setta il booleano di abilitazione delle unità di misura
 | 
									_gest_um= prassid.get_bool("GESUM", NULL, A_LISTINI); // setta il booleano di abilitazione delle unità di misura
 | 
				
			||||||
				_gest_sca= prassid.get_bool("GesSca", NULL, A_LISTINI); // setta il booleano di abilitazione degli scaglioni
 | 
									_gest_sca= prassid.get_bool("GESSCA", NULL, A_LISTINI); // setta il booleano di abilitazione degli scaglioni
 | 
				
			||||||
				_gest_so= prassid.get_bool("GesSO", NULL, A_LISTINI); // setta il booleano di abilitazione degli sconti/omaggi
 | 
									_gest_so= prassid.get_bool("GESSO", NULL, A_LISTINI); // setta il booleano di abilitazione degli sconti/omaggi
 | 
				
			||||||
 				gotcha= TRUE;
 | 
					 				gotcha= TRUE;
 | 
				
			||||||
 			}
 | 
					 			}
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		case 'C': // contratti
 | 
							case 'C': // contratti
 | 
				
			||||||
			if (!(prassid.get_bool("Ges", NULL, A_CONTRATTI))) error_box("L'archivio Contratti non è abilititato"); // controlla che l'archivio listini sia abilitato
 | 
								if (!(prassid.get_bool("GES", NULL, A_CONTRATTI))) error_box("L'archivio Contratti non è abilititato"); // controlla che l'archivio listini sia abilitato
 | 
				
			||||||
			else {
 | 
								else {
 | 
				
			||||||
				// settaggio dei campi da eliminare
 | 
									// settaggio dei campi da eliminare
 | 
				
			||||||
				DESTROY(F_L_COD);
 | 
									DESTROY(F_L_COD);
 | 
				
			||||||
@ -95,14 +95,14 @@ bool TCondizioni_vendita::user_create() {
 | 
				
			|||||||
				DESTROY(F_L_CATVEN);
 | 
									DESTROY(F_L_CATVEN);
 | 
				
			||||||
				DESTROY(F_LC_CODSUCC);
 | 
									DESTROY(F_LC_CODSUCC);
 | 
				
			||||||
  	    set_search_field(F_C_COD); // impostazione del campo di ricerca
 | 
					  	    set_search_field(F_C_COD); // impostazione del campo di ricerca
 | 
				
			||||||
				_gest_um= prassid.get_bool("GesUM", NULL, A_CONTRATTI); // setta il booleano di abilitazione delle unità di misura
 | 
									_gest_um= prassid.get_bool("GESUM", NULL, A_CONTRATTI); // setta il booleano di abilitazione delle unità di misura
 | 
				
			||||||
				_gest_sca= prassid.get_bool("GesSca", NULL, A_CONTRATTI); // setta il booleano di abilitazione degli scaglioni
 | 
									_gest_sca= prassid.get_bool("GESSCA", NULL, A_CONTRATTI); // setta il booleano di abilitazione degli scaglioni
 | 
				
			||||||
				_gest_so= prassid.get_bool("GesSO", NULL, A_CONTRATTI); // setta il booleano di abilitazione degli sconti/omaggi
 | 
									_gest_so= prassid.get_bool("GESSO", NULL, A_CONTRATTI); // setta il booleano di abilitazione degli sconti/omaggi
 | 
				
			||||||
 				gotcha= TRUE;
 | 
					 				gotcha= TRUE;
 | 
				
			||||||
 			}
 | 
					 			}
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
		case 'O': // offerte
 | 
							case 'O': // offerte
 | 
				
			||||||
			if (!(prassid.get_bool("Ges", NULL, A_OFFERTE))) error_box("L'archivio Offerte non è abilititato"); // controlla che l'archivio listini sia abilitato
 | 
								if (!(prassid.get_bool("GES", NULL, A_OFFERTE))) error_box("L'archivio Offerte non è abilititato"); // controlla che l'archivio listini sia abilitato
 | 
				
			||||||
			else {
 | 
								else {
 | 
				
			||||||
				// settaggio dei campi da eliminare
 | 
									// settaggio dei campi da eliminare
 | 
				
			||||||
				DESTROY(F_L_COD);
 | 
									DESTROY(F_L_COD);
 | 
				
			||||||
@ -113,9 +113,9 @@ bool TCondizioni_vendita::user_create() {
 | 
				
			|||||||
				DESTROY(F_C_OBBLIG);
 | 
									DESTROY(F_C_OBBLIG);
 | 
				
			||||||
				set_search_field(F_O_COD); // impostazione del campo di ricerca
 | 
									set_search_field(F_O_COD); // impostazione del campo di ricerca
 | 
				
			||||||
				_msk->set_handler(F_LC_CODSUCC, handle_codsucc); // setta l'handler per il campo di codice successivo
 | 
									_msk->set_handler(F_LC_CODSUCC, handle_codsucc); // setta l'handler per il campo di codice successivo
 | 
				
			||||||
				_gest_um= prassid.get_bool("GesUM", NULL, A_OFFERTE); // setta il booleano di abilitazione delle unità di misura
 | 
									_gest_um= prassid.get_bool("GESUM", NULL, A_OFFERTE); // setta il booleano di abilitazione delle unità di misura
 | 
				
			||||||
				_gest_sca= prassid.get_bool("GesSca", NULL, A_OFFERTE); // setta il booleano di abilitazione degli scaglioni
 | 
									_gest_sca= prassid.get_bool("GESSCA", NULL, A_OFFERTE); // setta il booleano di abilitazione degli scaglioni
 | 
				
			||||||
				_gest_so= prassid.get_bool("GesSO", NULL, A_OFFERTE); // setta il booleano di abilitazione degli sconti/omaggi
 | 
									_gest_so= prassid.get_bool("GESSO", NULL, A_OFFERTE); // setta il booleano di abilitazione degli sconti/omaggi
 | 
				
			||||||
 				gotcha= TRUE;
 | 
					 				gotcha= TRUE;
 | 
				
			||||||
 			}
 | 
					 			}
 | 
				
			||||||
			break;		
 | 
								break;		
 | 
				
			||||||
@ -132,7 +132,7 @@ bool TCondizioni_vendita::user_create() {
 | 
				
			|||||||
		if (!_gest_um) _msk->disable(F_GESTUM); // disabilita condizionalmente il booleano di gestione delle unità di misura
 | 
							if (!_gest_um) _msk->disable(F_GESTUM); // disabilita condizionalmente il booleano di gestione delle unità di misura
 | 
				
			||||||
		if (!_gest_sca) _msk->disable(F_GESTSCAGL); // disabilita condizionalmente il booleano di gestione degli scaglioni
 | 
							if (!_gest_sca) _msk->disable(F_GESTSCAGL); // disabilita condizionalmente il booleano di gestione degli scaglioni
 | 
				
			||||||
		if (!_gest_so) _msk->disable(F_GESTSCO); // disabilita condizionalmente il booleano di gestione degli sconti/omaggi
 | 
							if (!_gest_so) _msk->disable(F_GESTSCO); // disabilita condizionalmente il booleano di gestione degli sconti/omaggi
 | 
				
			||||||
		_gest_val= prassid.get_bool("GesVal"); // legge il booleano di abilitazione delle gastione delle valute
 | 
							_gest_val= prassid.get_bool("GESVAL"); // legge il booleano di abilitazione delle gastione delle valute
 | 
				
			||||||
		if (!_gest_val) { // se la gestione delle valute è disabilitata i campi di gestione vengono disabilitati
 | 
							if (!_gest_val) { // se la gestione delle valute è disabilitata i campi di gestione vengono disabilitati
 | 
				
			||||||
			_msk->disable(F_CODVAL);
 | 
								_msk->disable(F_CODVAL);
 | 
				
			||||||
			_msk->disable(F_CAMBIO);
 | 
								_msk->disable(F_CAMBIO);
 | 
				
			||||||
 | 
				
			|||||||
@ -89,7 +89,7 @@ bool TRighe_condizioni_vendita::user_create() {
 | 
				
			|||||||
    _msk->hide(F_R_O_RICERCA);
 | 
					    _msk->hide(F_R_O_RICERCA);
 | 
				
			||||||
    _msk->hide(F_R_CO_CODLOTTO);
 | 
					    _msk->hide(F_R_CO_CODLOTTO);
 | 
				
			||||||
    _msk->hide(F_R_O_ARTES);
 | 
					    _msk->hide(F_R_O_ARTES);
 | 
				
			||||||
    _codlis_catven= prassid.get_bool("CodLisCV"); // setta il booleano di abilitazione di CATVEN
 | 
					    _codlis_catven= prassid.get_bool("COSLISCV"); // setta il booleano di abilitazione di CATVEN
 | 
				
			||||||
    if (!_codlis_catven) KILL(F_R_L_CATVEN); // disabilita condizionalmente le categorie di vendita
 | 
					    if (!_codlis_catven) KILL(F_R_L_CATVEN); // disabilita condizionalmente le categorie di vendita
 | 
				
			||||||
    set_search_field(F_R_L_RICERCA); // impostazione del campo di ricerca
 | 
					    set_search_field(F_R_L_RICERCA); // impostazione del campo di ricerca
 | 
				
			||||||
    _msk->set_handler(F_R_L_COD, handle_cod); // impostazione dell'handler sul campo di controllo della testata
 | 
					    _msk->set_handler(F_R_L_COD, handle_cod); // impostazione dell'handler sul campo di controllo della testata
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										18
									
								
								ve/veacc.frm
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								ve/veacc.frm
									
									
									
									
									
								
							@ -1,4 +1,3 @@
 | 
				
			|||||||
<<<<<<< veacc.frm
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Completare la sezione "iva" nel body
 | 
					// Completare la sezione "iva" nel body
 | 
				
			||||||
// Manca il campo "causale" nella section footer
 | 
					// Manca il campo "causale" nella section footer
 | 
				
			||||||
@ -6,8 +5,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// Una volta completato, togliere dalla relazione i files che non servono.
 | 
					// Una volta completato, togliere dalla relazione i files che non servono.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
=======
 | 
					 | 
				
			||||||
>>>>>>> 1.2
 | 
					 | 
				
			||||||
USE 33
 | 
					USE 33
 | 
				
			||||||
JOIN 34 ALIAS 101 INTO CODNUM=CODNUM ANNO=ANNO PROVV=PROVV NDOC=NDOC
 | 
					JOIN 34 ALIAS 101 INTO CODNUM=CODNUM ANNO=ANNO PROVV=PROVV NDOC=NDOC
 | 
				
			||||||
JOIN 17 ALIAS 201 INTO TIPOCF=TIPOCF CODCF=CODCF
 | 
					JOIN 17 ALIAS 201 INTO TIPOCF=TIPOCF CODCF=CODCF
 | 
				
			||||||
@ -129,11 +126,7 @@ BEGIN
 | 
				
			|||||||
 PROMPT 15 6 ""
 | 
					 PROMPT 15 6 ""
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<<<<<<< veacc.frm
 | 
					 | 
				
			||||||
STRINGA 9 
 | 
					STRINGA 9 
 | 
				
			||||||
=======
 | 
					 | 
				
			||||||
NUMERO 11
 | 
					 | 
				
			||||||
>>>>>>> 1.2
 | 
					 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "reg.soc.trib...."
 | 
					 KEY "reg.soc.trib...."
 | 
				
			||||||
 PROMPT 5 6 "REG.SOC.TRIB.R.E. 8897"
 | 
					 PROMPT 5 6 "REG.SOC.TRIB.R.E. 8897"
 | 
				
			||||||
@ -208,13 +201,8 @@ BEGIN
 | 
				
			|||||||
 FIELD 1102@->CAPCOM
 | 
					 FIELD 1102@->CAPCOM
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<<<<<<< veacc.frm
 | 
					 | 
				
			||||||
STRINGA 85 50 1
 | 
					STRINGA 85 50 1
 | 
				
			||||||
=======
 | 
					 | 
				
			||||||
STRINGA 83 30 1
 | 
					 | 
				
			||||||
>>>>>>> 1.2
 | 
					 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
<<<<<<< veacc.frm
 | 
					 | 
				
			||||||
 FLAGS "H"
 | 
					 FLAGS "H"
 | 
				
			||||||
 PROMPT 1 1 ""
 | 
					 PROMPT 1 1 ""
 | 
				
			||||||
 FIELD 16->COM
 | 
					 FIELD 16->COM
 | 
				
			||||||
@ -222,8 +210,6 @@ END
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
STRINGA 86 30 1
 | 
					STRINGA 86 30 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
=======
 | 
					 | 
				
			||||||
>>>>>>> 1.2
 | 
					 | 
				
			||||||
 KEY "destinazione, comune"
 | 
					 KEY "destinazione, comune"
 | 
				
			||||||
 PROMPT 1 14 ""
 | 
					 PROMPT 1 14 ""
 | 
				
			||||||
 FIELD 1102@->DENCOM
 | 
					 FIELD 1102@->DENCOM
 | 
				
			||||||
@ -240,12 +226,8 @@ DATA 23 8 1
 | 
				
			|||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "data conferma"
 | 
					 KEY "data conferma"
 | 
				
			||||||
 PROMPT 28 19 ""
 | 
					 PROMPT 28 19 ""
 | 
				
			||||||
<<<<<<< veacc.frm
 | 
					 | 
				
			||||||
 FIELD DATADOCRIF
 | 
					 FIELD DATADOCRIF
 | 
				
			||||||
 FORMAT "1444-"
 | 
					 FORMAT "1444-"
 | 
				
			||||||
=======
 | 
					 | 
				
			||||||
 FIELD 33->DATADOCRIF
 | 
					 | 
				
			||||||
>>>>>>> 1.2
 | 
					 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 24 48 1
 | 
					STRINGA 24 48 1
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										259
									
								
								ve/vebol.frm
									
									
									
									
									
								
							
							
						
						
									
										259
									
								
								ve/vebol.frm
									
									
									
									
									
								
							@ -1,40 +1,34 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// - Manca la gestione del campo "causale"
 | 
					USE 34
 | 
				
			||||||
// - Il cliente deve essere gestito con il nuovo messaggio _CLIENTE, per ora è gestito con
 | 
					JOIN 33 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
 | 
				
			||||||
//   l'aggancio alla relazione
 | 
					JOIN 17 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF
 | 
				
			||||||
// - Controllare la posizione dei campi precendentemente compositi (indirizzi, comuni, ecc.)
 | 
					JOIN 20 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF
 | 
				
			||||||
 | 
					JOIN 16 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
 | 
				
			||||||
USE 33
 | 
					 | 
				
			||||||
JOIN 34                 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
 | 
					 | 
				
			||||||
JOIN 17                 INTO TIPOCF==TIPOCF CODCF==CODCF
 | 
					 | 
				
			||||||
JOIN 20                 INTO TIPOCF==TIPOCF CODCF==CODCF
 | 
					 | 
				
			||||||
JOIN 16                 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
 | 
					 | 
				
			||||||
JOIN 16 TO 17 ALIAS 116 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 47 INTO CODART==CODART
 | 
				
			||||||
JOIN 52                 INTO TIPOCF==TIPOCF CODCF==CODCF
 | 
					JOIN %CPG TO 33 ALIAS 201 INTO CODTAB==CODPAG
 | 
				
			||||||
JOIN %CPG               INTO CODTAB==CODPAG
 | 
					JOIN %AGE TO 33 ALIAS 202 INTO CODTAB==CODAG
 | 
				
			||||||
JOIN %AGE               INTO CODTAB==CODAG
 | 
					JOIN %POR TO 33 ALIAS 203 INTO CODTAB==CODPORTO
 | 
				
			||||||
JOIN %POR               INTO CODTAB==CODPORTO
 | 
					JOIN %BAN TO 33 ALIAS 204 INTO CODTAB==CODABIA+CODCABA
 | 
				
			||||||
JOIN %BAN               INTO CODTAB==CODABIA+CODCABA
 | 
					JOIN %VET TO 33 ALIAS 205 INTO CODTAB==CODVETT1
 | 
				
			||||||
JOIN %VET               INTO CODTAB==CODVETT1
 | 
					JOIN %ASP TO 33 ALIAS 206 INTO CODTAB==ASPBENI1
 | 
				
			||||||
JOIN %ASP               INTO CODTAB==ASPBENI1
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
DESCRIPTION
 | 
					DESCRIPTION
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  33->* "Documenti di vendita"
 | 
					 | 
				
			||||||
  34->* "Righe documenti di vendita"
 | 
					  34->* "Righe documenti di vendita"
 | 
				
			||||||
 | 
					  33->* "Documenti di vendita"
 | 
				
			||||||
  17->* "Clienti/Fornitori per vendite"
 | 
					  17->* "Clienti/Fornitori per vendite"
 | 
				
			||||||
  20->* "Clienti/Fornitori"
 | 
					  20->* "Clienti/Fornitori"
 | 
				
			||||||
  47  ->* "Righe listini"
 | 
					  16->* "Indirizzi di spedizione (destinazione)"
 | 
				
			||||||
  52  ->* "Contratti clienti"
 | 
					  116@->* "Indirizzi di spedizione (destinatario)"
 | 
				
			||||||
  16  ->* "Indirizzi di spedizione"
 | 
					  47->* "Anagrafica magazzino"
 | 
				
			||||||
  116->* "Indirizzi di spedizione"
 | 
					  201@->* "Tabella condizioni di pagamento"
 | 
				
			||||||
  %CPG->* "Condizioni di pagamento"
 | 
					  202@->* "Tabella agenti"
 | 
				
			||||||
  %AGE ->* "Agenti"
 | 
					  203@->* "Tabella porto"
 | 
				
			||||||
  %MSP ->* "Modalità di spedizioni"
 | 
					  204@->* "Tabella banche"
 | 
				
			||||||
  %POR ->* "Modalità di consegna"
 | 
					  205@->* "Tabella vettori"
 | 
				
			||||||
  %BAN ->* "Banche"
 | 
					  206@->* "Tabella apsetto beni"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GENERAL
 | 
					GENERAL
 | 
				
			||||||
@ -42,349 +36,360 @@ BEGIN
 | 
				
			|||||||
  OFFSET 0 0
 | 
					  OFFSET 0 0
 | 
				
			||||||
  FONT "Courier New"
 | 
					  FONT "Courier New"
 | 
				
			||||||
  SIZE 12
 | 
					  SIZE 12
 | 
				
			||||||
 | 
					  MODULE BUFFETTI_BOLLA_01
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SECTION HEADER ODD 33
 | 
					SECTION HEADER ODD 33
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 1 36 1
 | 
					STRING 1 36 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "nome ditta"
 | 
					 KEY "nome ditta"
 | 
				
			||||||
 PROMPT 5 6 ""
 | 
					 PROMPT 5 6 ""
 | 
				
			||||||
 MESSAGE _DITTA &RAGSOC
 | 
					 MESSAGE _DITTA,!RAGSOC
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 2 36 1
 | 
					STRING 2 36 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "indirizzo ditta"
 | 
					 KEY "indirizzo ditta"
 | 
				
			||||||
 PROMPT 5 7 ""
 | 
					 PROMPT 5 7 ""
 | 
				
			||||||
 MESSAGE _DITTA &IND
 | 
					 MESSAGE _DITTA,!IND
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 3 5 1
 | 
					STRING 3 5 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "cap ditta"
 | 
					 KEY "cap ditta"
 | 
				
			||||||
 PROMPT 5 8 ""
 | 
					 PROMPT 5 8 ""
 | 
				
			||||||
 MESSAGE _DITTA &CAP
 | 
					 MESSAGE _DITTA,!CAP
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 4 30 1
 | 
					STRING 4 30 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "comune ditta"
 | 
					 KEY "comune ditta"
 | 
				
			||||||
 PROMPT 12 8 ""
 | 
					 PROMPT 12 8 ""
 | 
				
			||||||
 MESSAGE _DITTA &COM
 | 
					 MESSAGE _DITTA,!COM
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 5 5 1
 | 
					STRING 5 5 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "scritta P.IVA"
 | 
					 KEY "scritta P.IVA"
 | 
				
			||||||
 PROMPT 5 9 "P.IVA"
 | 
					 PROMPT 5 9 "P.IVA"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 6 16 1
 | 
					STRING 6 16 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "partita iva ditta"
 | 
					 KEY "partita iva ditta"
 | 
				
			||||||
 PROMPT 11 9 ""
 | 
					 PROMPT 11 9 ""
 | 
				
			||||||
 MESSAGE _DITTA &IVA
 | 
					 MESSAGE _DITTA,!IVA
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 7 9 1
 | 
					STRING 7 9 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "scritta COD.FISC."
 | 
					 KEY "scritta COD.FISC."
 | 
				
			||||||
 PROMPT 5 10 "COD.FISC."
 | 
					 PROMPT 5 10 "COD.FISC."
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 8 16 1
 | 
					STRING 8 16 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "codice fiscale ditta"
 | 
					 KEY "codice fiscale ditta"
 | 
				
			||||||
 PROMPT 15 10 ""
 | 
					 PROMPT 15 10 ""
 | 
				
			||||||
 MESSAGE _DITTA &CF
 | 
					 MESSAGE _DITTA,!CF
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 14 35 2
 | 
					STRING 14 35 2
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "destinatario, ditta"
 | 
					 KEY "destinatario, ditta"
 | 
				
			||||||
 PROMPT 44 16 ""
 | 
					 PROMPT 44 16 ""
 | 
				
			||||||
 FIELD 20->RAGSOC
 | 
					 FIELD 20->RAGSOC
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 15 35 2
 | 
					STRING 15 35 2
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "destinatario, indirizzo"
 | 
					 KEY "destinatario, indirizzo"
 | 
				
			||||||
 PROMPT 44 18 ""
 | 
					 PROMPT 44 18 ""
 | 
				
			||||||
 FIELD 20->INDCF
 | 
					 FIELD 20->INDCF
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 48 5 1
 | 
					STRING 48 5 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 FLAGS "H"
 | 
					 KEY ""
 | 
				
			||||||
 PROMPT 1 1 ""
 | 
					 PROMPT 1 1 ""
 | 
				
			||||||
 | 
					 FLAGS "H"
 | 
				
			||||||
 FIELD 116@->COM
 | 
					 FIELD 116@->COM
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 16 5 1
 | 
					STRING 16 5 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "destinatario, cap"
 | 
					 KEY "destinatario, cap"
 | 
				
			||||||
 PROMPT 44 20 ""
 | 
					 PROMPT 44 20 ""
 | 
				
			||||||
 MESSAGE _ISAMREAD 13 COM==#48 CAPCOM
 | 
					 MESSAGE _ISAMREAD,13,COM==#48,CAPCOM
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 17 30 2
 | 
					STRING 17 30 2
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "destinatario, comune"
 | 
					 KEY "destinatario, comune"
 | 
				
			||||||
 PROMPT 50 20 ""
 | 
					 PROMPT 50 20 ""
 | 
				
			||||||
 MESSAGE _ISAMREAD 13 COM==#48 DENCOM
 | 
					 MESSAGE _ISAMREAD,13,COM==#48,DENCOM
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 18 2 1
 | 
					STRING 18 2 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "destinatario, procincia"
 | 
					 KEY "destinatario, procincia"
 | 
				
			||||||
 PROMPT 72 21 ""
 | 
					 PROMPT 72 21 ""
 | 
				
			||||||
 MESSAGE _ISAMREAD 13 COM=#48 PROVCOM
 | 
					 MESSAGE _ISAMREAD,13,COM=#48,PROVCOM
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DATA 19 8 1
 | 
					DATE 19 8 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "data bolla"
 | 
					 KEY "data bolla"
 | 
				
			||||||
 PROMPT 60 25 ""
 | 
					 PROMPT 60 25 ""
 | 
				
			||||||
 FIELD DATADOC
 | 
					 FIELD 33->DATADOC
 | 
				
			||||||
 FORMAT "1442-"
 | 
					 FORMAT "1442-"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
NUMERO 20
 | 
					NUMBER 20
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "numero bolla"
 | 
					 KEY "numero bolla"
 | 
				
			||||||
 PROMPT 71 25 ""
 | 
					 PROMPT 71 25 ""
 | 
				
			||||||
 FIELD NDOC
 | 
					 FIELD 33->NDOC
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 21 30 2
 | 
					STRING 21 30 2
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "destinazione, indirizzo"
 | 
					 KEY "destinazione, indirizzo"
 | 
				
			||||||
 PROMPT 5 16 ""
 | 
					 PROMPT 5 16 ""
 | 
				
			||||||
 FIELD 16->INDIR
 | 
					 FIELD 16->INDIR
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 32 5 1
 | 
					STRING 32 5 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "destinazione, cap"
 | 
					 KEY "destinazione, cap"
 | 
				
			||||||
 PROMPT 5 18 ""
 | 
					 PROMPT 5 18 ""
 | 
				
			||||||
 FIELD 16->CAP
 | 
					 FIELD 16->CAP
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 49 5 1
 | 
					STRING 49 5 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 FLAGS "H"
 | 
					 KEY ""
 | 
				
			||||||
 PROMPT 1 1 ""
 | 
					 PROMPT 1 1 ""
 | 
				
			||||||
 | 
					 FLAGS "H"
 | 
				
			||||||
 FIELD 16->COM
 | 
					 FIELD 16->COM
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 33 21 1
 | 
					STRING 33 21 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "destinazione, comune"
 | 
					 KEY "destinazione, comune"
 | 
				
			||||||
 PROMPT 5 20 ""
 | 
					 PROMPT 5 20 ""
 | 
				
			||||||
 MESSAGE _ISAMREAD 13 COM=#49 DENCOM
 | 
					 MESSAGE _ISAMREAD,13,COM=#49,DENCOM
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 34 2
 | 
					STRING 34 2
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "destinazione, provincia"
 | 
					 KEY "destinazione, provincia"
 | 
				
			||||||
 PROMPT 28 20 ""
 | 
					 PROMPT 28 20 ""
 | 
				
			||||||
 MESSAGE _ISAMREAD 13 COM=#49 PROVCOM
 | 
					 MESSAGE _ISAMREAD,13,COM=#49,PROVCOM
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
NUMERO 22
 | 
					NUMBER 22
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "ordine"
 | 
					 KEY "ordine"
 | 
				
			||||||
 PROMPT 3 25 ""
 | 
					 PROMPT 3 25 ""
 | 
				
			||||||
 FIELD NUMDOCRIF
 | 
					 FIELD 33->NUMDOCRIF
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DATA 23 8 1
 | 
					DATE 23 8 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "data conferma"
 | 
					 KEY "data conferma"
 | 
				
			||||||
 PROMPT 16 25 ""
 | 
					 PROMPT 16 25 ""
 | 
				
			||||||
 FIELD DATADOCRIF
 | 
					 FIELD 33->DATADOCRIF
 | 
				
			||||||
 FORMAT "1442-"
 | 
					 FORMAT "1442-"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 24 48 1
 | 
					STRING 24 48 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "condizioni pagamento"
 | 
					 KEY "condizioni pagamento"
 | 
				
			||||||
 PROMPT 3 27 ""
 | 
					 PROMPT 3 27 ""
 | 
				
			||||||
 FIELD %CPG->S0
 | 
					 FIELD 201@->S0
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 25 29 1
 | 
					STRING 25 29 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "banca appoggio"
 | 
					 KEY "banca appoggio"
 | 
				
			||||||
 PROMPT 53 27 ""
 | 
					 PROMPT 53 27 ""
 | 
				
			||||||
 FIELD %BAN->S0
 | 
					 FIELD 204@->S0
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 26 7 1
 | 
					STRING 26 7 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "codice cliente"
 | 
					 KEY "codice cliente"
 | 
				
			||||||
 PROMPT 3 29 ""
 | 
					 PROMPT 3 29 ""
 | 
				
			||||||
 FIELD CODCF
 | 
					 FIELD 33->CODCF
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 27 11 1
 | 
					STRING 27 11 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "partita iva cliente"
 | 
					 KEY "partita iva cliente"
 | 
				
			||||||
 PROMPT 12 29 ""
 | 
					 PROMPT 12 29 ""
 | 
				
			||||||
 FIELD 20->PAIV
 | 
					 FIELD 20->PAIV
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 28 18 1
 | 
					STRING 28 18 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "porto"
 | 
					 KEY "porto"
 | 
				
			||||||
 PROMPT 41 25 ""
 | 
					 PROMPT 41 25 ""
 | 
				
			||||||
 FIELD %POR->S0
 | 
					 FIELD 203@->S0
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
NUMERO 29
 | 
					NUMBER 29
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "codice agente"
 | 
					 KEY "codice agente"
 | 
				
			||||||
 PROMPT 29 29 ""
 | 
					 PROMPT 29 29 ""
 | 
				
			||||||
 FIELD CODAG
 | 
					 FIELD 33->CODAG
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 30 28 1
 | 
					STRING 30 28 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "nome agente"
 | 
					 KEY "nome agente"
 | 
				
			||||||
 PROMPT 33 29 ""
 | 
					 PROMPT 33 29 ""
 | 
				
			||||||
 FIELD %AGE->S0
 | 
					 FIELD 202@->S0
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SECTION BODY ODD 24
 | 
					SECTION BODY ODD 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 32 13 1
 | 
					STRING 32 13 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "codice articolo"
 | 
					 KEY "codice articolo"
 | 
				
			||||||
 PROMPT 5 34 ""
 | 
					 PROMPT 5 1 ""
 | 
				
			||||||
 FIELD 34->CODART
 | 
					 FIELD 34->CODART
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 33 30 1
 | 
					STRING 33 30 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "descrizione articolo"
 | 
					 KEY "descrizione articolo"
 | 
				
			||||||
 PROMPT 25 34 ""
 | 
					 PROMPT 25 1 ""
 | 
				
			||||||
 FIELD 47->DESCR
 | 
					 FIELD 47->DESCR
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 34 2 1
 | 
					STRING 34 2 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "unità di misura"
 | 
					 KEY "unità di misura"
 | 
				
			||||||
 PROMPT 56 34 ""
 | 
					 PROMPT 56 1 ""
 | 
				
			||||||
 FIELD 34->UMQTA
 | 
					 FIELD 34->UMQTA
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 35 10 1
 | 
					NUMBER 35 6 3
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "quantità"
 | 
					 KEY "quantità"
 | 
				
			||||||
 PROMPT 60 34 ""
 | 
					 PROMPT 60 1 ""
 | 
				
			||||||
 | 
					 PICTURE "@@@@@@,###"
 | 
				
			||||||
 FIELD 34->QTA
 | 
					 FIELD 34->QTA
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 36 10 1
 | 
					STRING 36 10 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "quantità lettere"
 | 
					 KEY "quantità lettere"
 | 
				
			||||||
 PROMPT 72 34 ""
 | 
					 PROMPT 72 1 ""
 | 
				
			||||||
 FIELD 34->QTA
 | 
					 MESSAGE _CIFRELETTERE,#35
 | 
				
			||||||
 MESSAGE _CIFRELETTERE
 | 
					 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SECTION FOOTER ODD 9
 | 
					SECTION FOOTER ODD 9
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 47 5 1
 | 
					STRING 47 5 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "scritta SEGUE"
 | 
					 KEY "scritta SEGUE"
 | 
				
			||||||
 PROMPT 72 70 "SEGUE"
 | 
					 PROMPT 72 9 "SEGUE"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SECTION FOOTER LAST 9
 | 
					SECTION FOOTER LAST 9
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LISTA 37 1 1
 | 
					LIST 37 1 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "trasporto a cura del mittente"
 | 
					 KEY "trasporto a cura del mittente"
 | 
				
			||||||
 PROMPT 4 59 ""
 | 
					 PROMPT 4 1 ""
 | 
				
			||||||
 | 
					 FIELD 33->CODSPMEZZO
 | 
				
			||||||
 | 
					 ITEM "|"
 | 
				
			||||||
 | 
					 ITEM "D|"
 | 
				
			||||||
 | 
					 ITEM "V|"
 | 
				
			||||||
 ITEM "M|x"
 | 
					 ITEM "M|x"
 | 
				
			||||||
 FIELD CODSPMEZZO
 | 
					 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LISTA 38 1 1
 | 
					LIST 38 1 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "trasporto a cura del destinatario"
 | 
					 KEY "trasporto a cura del destinatario"
 | 
				
			||||||
 PROMPT 13 59 ""
 | 
					 PROMPT 13 1 ""
 | 
				
			||||||
 | 
					 FIELD 33->CODSPMEZZO
 | 
				
			||||||
 | 
					 ITEM "|"
 | 
				
			||||||
 ITEM "D|x"
 | 
					 ITEM "D|x"
 | 
				
			||||||
 FIELD CODSPMEZZO
 | 
					 ITEM "V|"
 | 
				
			||||||
 | 
					 ITEM "M|"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LISTA 39 1 1
 | 
					LIST 39 1 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "trasporto a cura del vettore"
 | 
					 KEY "trasporto a cura del vettore"
 | 
				
			||||||
 PROMPT 23 59 ""
 | 
					 PROMPT 23 1 ""
 | 
				
			||||||
 | 
					 FIELD 33->CODSPMEZZO
 | 
				
			||||||
 | 
					 ITEM "|"
 | 
				
			||||||
 | 
					 ITEM "D|"
 | 
				
			||||||
 ITEM "V|x"
 | 
					 ITEM "V|x"
 | 
				
			||||||
 FIELD CODSPMEZZO
 | 
					 ITEM "M|"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 40 45 1
 | 
					STRING 40 45 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "nome vettore"
 | 
					 KEY "nome vettore"
 | 
				
			||||||
 PROMPT 3 62 ""
 | 
					 PROMPT 3 4 ""
 | 
				
			||||||
 FIELD %VET->S0
 | 
					 FIELD 205@->S0
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 41 45 1
 | 
					STRING 41 45 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "indirizzo vettore"
 | 
					 KEY "indirizzo vettore"
 | 
				
			||||||
 PROMPT 3 64 ""
 | 
					 PROMPT 3 6 ""
 | 
				
			||||||
 FIELD %VET->S1
 | 
					 FIELD 205@->S1
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DATA 42 8 1
 | 
					DATE 42 8 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "data inizio trasporto"
 | 
					 KEY "data inizio trasporto"
 | 
				
			||||||
 PROMPT 51 61 ""
 | 
					 PROMPT 51 3 ""
 | 
				
			||||||
 FIELD DATAPART
 | 
					 FIELD 33->DATAPART
 | 
				
			||||||
 FORMAT "1442-"
 | 
					 FORMAT "1442-"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 43 5 1
 | 
					STRING 43 5 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "ora inizio trasporto"
 | 
					 KEY "ora inizio trasporto"
 | 
				
			||||||
 PROMPT 60 61 ""
 | 
					 PROMPT 60 3 ""
 | 
				
			||||||
 FIELD ORAPART
 | 
					 FIELD 33->ORAPART
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 44 27 1
 | 
					STRING 44 27 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "aspetto beni"
 | 
					 KEY "aspetto beni"
 | 
				
			||||||
 PROMPT 37 59 ""
 | 
					 PROMPT 37 1 ""
 | 
				
			||||||
 FIELD %ASP->S0
 | 
					 FIELD 206@->S0
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 45 7 1
 | 
					STRING 45 7 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "peso"
 | 
					 KEY "peso"
 | 
				
			||||||
 PROMPT 73 59 ""
 | 
					 PROMPT 73 1 ""
 | 
				
			||||||
 FIELD PNETTO
 | 
					 FIELD 33->PNETTO
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 46 5 1
 | 
					STRING 46 5 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "colli"
 | 
					 KEY "colli"
 | 
				
			||||||
 PROMPT 66 59 ""
 | 
					 PROMPT 66 1 ""
 | 
				
			||||||
 FIELD NCOLLI
 | 
					 FIELD 33->NCOLLI
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										73
									
								
								ve/vefat.frm
									
									
									
									
									
								
							
							
						
						
									
										73
									
								
								ve/vefat.frm
									
									
									
									
									
								
							@ -1,4 +1,3 @@
 | 
				
			|||||||
<<<<<<< vefat.frm
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
// - I FIELD sul file 20 (clifo) vanno sostituiti con messaggi _CLIENTE.
 | 
					// - I FIELD sul file 20 (clifo) vanno sostituiti con messaggi _CLIENTE.
 | 
				
			||||||
// - "Cliente provincia" e' gestito dalla relazione. Dovra' essere gestito da un messaggio _CLIENTE
 | 
					// - "Cliente provincia" e' gestito dalla relazione. Dovra' essere gestito da un messaggio _CLIENTE
 | 
				
			||||||
@ -19,10 +18,7 @@
 | 
				
			|||||||
//
 | 
					//
 | 
				
			||||||
// Togliere dalla relazione i files che non servono, quando tutti i campi sono OK.
 | 
					// Togliere dalla relazione i files che non servono, quando tutti i campi sono OK.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
=======
 | 
					 | 
				
			||||||
>>>>>>> 1.2
 | 
					 | 
				
			||||||
USE 33
 | 
					USE 33
 | 
				
			||||||
<<<<<<< vefat.frm
 | 
					 | 
				
			||||||
JOIN 34                 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
 | 
					JOIN 34                 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
 | 
				
			||||||
JOIN 17                 INTO TIPOCF==TIPOCF CODCF==CODCF
 | 
					JOIN 17                 INTO TIPOCF==TIPOCF CODCF==CODCF
 | 
				
			||||||
JOIN 20                 INTO TIPOCF==TIPOCF CODCF==CODCF
 | 
					JOIN 20                 INTO TIPOCF==TIPOCF CODCF==CODCF
 | 
				
			||||||
@ -37,34 +33,11 @@ JOIN %POR               INTO CODTAB==CODPORTO
 | 
				
			|||||||
JOIN %BAN               INTO CODTAB==CODABIA+CODCABA
 | 
					JOIN %BAN               INTO CODTAB==CODABIA+CODCABA
 | 
				
			||||||
JOIN %VET               INTO CODTAB==CODVETT1
 | 
					JOIN %VET               INTO CODTAB==CODVETT1
 | 
				
			||||||
JOIN %ASP               INTO CODTAB==ASPBENI1
 | 
					JOIN %ASP               INTO CODTAB==ASPBENI1
 | 
				
			||||||
=======
 | 
					 | 
				
			||||||
JOIN 34 ALIAS 101 INTO CODNUM=CODNUM ANNO=ANNO PROVV=PROVV NDOC=NDOC
 | 
					 | 
				
			||||||
JOIN 17 ALIAS 201 INTO TIPOCF=TIPOCF CODCF=CODCF
 | 
					 | 
				
			||||||
JOIN 20 ALIAS 202 INTO TIPOCF=TIPOCF CODCF=CODCF
 | 
					 | 
				
			||||||
JOIN %CPG ALIAS 301 INTO CODTAB=CODPAG
 | 
					 | 
				
			||||||
JOIN %VAL ALIAS 302 INTO CODTAB=CODVAL
 | 
					 | 
				
			||||||
JOIN %LNG ALIAS 303 INTO CODTAB=CODLIN
 | 
					 | 
				
			||||||
JOIN AGE ALIAS 304 INTO CODTAB=CODAG
 | 
					 | 
				
			||||||
JOIN MSP ALIAS 305 INTO CODTAB=CODSPMEZZO
 | 
					 | 
				
			||||||
JOIN POR ALIAS 306 INTO CODTAB=CODPORTO
 | 
					 | 
				
			||||||
JOIN 47 TO 101@ ALIAS 401 INTO CODART=CODART
 | 
					 | 
				
			||||||
JOIN 52 ALIAS 601 INTO TIPOCF=TIPOCF CODCF=CODCF
 | 
					 | 
				
			||||||
JOIN 16 ALIAS 701 INTO TIPOCF=TIPOCF CODCF=CODCF CODIND=CODINDSP
 | 
					 | 
				
			||||||
JOIN 16 TO 201@ ALIAS 801 INTO TIPOCF=TIPOCF CODCF=CODCF CODIND=CODINDSP
 | 
					 | 
				
			||||||
JOIN %BAN ALIAS 901 INTO CODTAB=CODABIA+CODCABA
 | 
					 | 
				
			||||||
JOIN %BAN ALIAS 902 INTO CODTAB=CODABIP+CODCABP
 | 
					 | 
				
			||||||
JOIN NDO ALIAS 1001 INTO CODTAB=CODNOTESP1
 | 
					 | 
				
			||||||
JOIN NDO ALIAS 1002 INTO CODTAB=CODNOTESP2
 | 
					 | 
				
			||||||
JOIN 13 TO 304@ ALIAS 1101 INTO COM=COMCF
 | 
					 | 
				
			||||||
JOIN 13 TO 304@ ALIAS 1102 INTO COM=COM
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
>>>>>>> 1.2
 | 
					 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DESCRIPTION
 | 
					DESCRIPTION
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  33->* "Documenti di vendita"
 | 
					  33->* "Documenti di vendita"
 | 
				
			||||||
<<<<<<< vefat.frm
 | 
					 | 
				
			||||||
  34->* "Righe documenti di vendita"
 | 
					  34->* "Righe documenti di vendita"
 | 
				
			||||||
  17->* "Clienti/Fornitori per vendite"
 | 
					  17->* "Clienti/Fornitori per vendite"
 | 
				
			||||||
  20->* "Clienti/Fornitori"
 | 
					  20->* "Clienti/Fornitori"
 | 
				
			||||||
@ -78,27 +51,6 @@ BEGIN
 | 
				
			|||||||
  %MSP ->* "Modalità di spedizioni"
 | 
					  %MSP ->* "Modalità di spedizioni"
 | 
				
			||||||
  %POR ->* "Modalità di consegna"
 | 
					  %POR ->* "Modalità di consegna"
 | 
				
			||||||
  %BAN ->* "Banche"
 | 
					  %BAN ->* "Banche"
 | 
				
			||||||
=======
 | 
					 | 
				
			||||||
  101@->* "Righe documenti di vendita"
 | 
					 | 
				
			||||||
  201@->* "Clienti/Fornitori per vendite"
 | 
					 | 
				
			||||||
  202@->* "Clienti/Fornitori"
 | 
					 | 
				
			||||||
  301@->* "CPG"
 | 
					 | 
				
			||||||
  302@->* "VAL"
 | 
					 | 
				
			||||||
  303@->* "LNG"
 | 
					 | 
				
			||||||
  304@->* "AGE"
 | 
					 | 
				
			||||||
  305@->* "MSP"
 | 
					 | 
				
			||||||
  306@->* "POR"
 | 
					 | 
				
			||||||
  401@->* "Righe listini"
 | 
					 | 
				
			||||||
  601@->* "Contratti clienti"
 | 
					 | 
				
			||||||
  701@->* "Indirizzi di spedizione"
 | 
					 | 
				
			||||||
  801@->* "Indirizzi di spedizione"
 | 
					 | 
				
			||||||
  901@->* "Tabella banche"
 | 
					 | 
				
			||||||
  902@->* "Tabella banche"
 | 
					 | 
				
			||||||
  1001@->* "Tabella Note Documento"
 | 
					 | 
				
			||||||
  1002@->* "Tabella Note Documento"
 | 
					 | 
				
			||||||
  1101@->* "Comuni"
 | 
					 | 
				
			||||||
  1102@->* "Comuni"
 | 
					 | 
				
			||||||
>>>>>>> 1.2
 | 
					 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GENERAL
 | 
					GENERAL
 | 
				
			||||||
@ -223,23 +175,15 @@ DATA 20 8 1
 | 
				
			|||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "data conferma"
 | 
					 KEY "data conferma"
 | 
				
			||||||
 PROMPT  20 23 ""
 | 
					 PROMPT  20 23 ""
 | 
				
			||||||
<<<<<<< vefat.frm
 | 
					 | 
				
			||||||
 FIELD DATADOCRIF
 | 
					 FIELD DATADOCRIF
 | 
				
			||||||
 FORMAT "1444-"
 | 
					 FORMAT "1444-"
 | 
				
			||||||
=======
 | 
					 | 
				
			||||||
 FIELD 33->DATADOCRIF
 | 
					 | 
				
			||||||
>>>>>>> 1.2
 | 
					 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 21 49 1
 | 
					STRINGA 21 49 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "condizioni di pagamento"
 | 
					 KEY "condizioni di pagamento"
 | 
				
			||||||
 PROMPT  3 25 ""
 | 
					 PROMPT  3 25 ""
 | 
				
			||||||
<<<<<<< vefat.frm
 | 
					 | 
				
			||||||
 FIELD %CPG->S0
 | 
					 FIELD %CPG->S0
 | 
				
			||||||
=======
 | 
					 | 
				
			||||||
 FIELD 901@->S0
 | 
					 | 
				
			||||||
>>>>>>> 1.2
 | 
					 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 22 29 1
 | 
					STRINGA 22 29 1
 | 
				
			||||||
@ -285,26 +229,12 @@ BEGIN
 | 
				
			|||||||
 PROMPT  50 15 ""
 | 
					 PROMPT  50 15 ""
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<<<<<<< vefat.frm
 | 
					 | 
				
			||||||
STRINGA 30 2 1
 | 
					STRINGA 30 2 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "cliente provincia"
 | 
					 KEY "cliente provincia"
 | 
				
			||||||
 PROMPT  73 16 ""
 | 
					 PROMPT  73 16 ""
 | 
				
			||||||
 FIELD 13->PROVCOM
 | 
					 FIELD 13->PROVCOM
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
=======
 | 
					 | 
				
			||||||
STRINGA 29 20 1
 | 
					 | 
				
			||||||
BEGIN
 | 
					 | 
				
			||||||
 KEY "cliente localita 2"
 | 
					 | 
				
			||||||
 PROMPT  50 16 ""
 | 
					 | 
				
			||||||
END
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
STRINGA 30 2 1
 | 
					 | 
				
			||||||
BEGIN
 | 
					 | 
				
			||||||
 KEY "cliente provincia"
 | 
					 | 
				
			||||||
 PROMPT  73 16 ""
 | 
					 | 
				
			||||||
END
 | 
					 | 
				
			||||||
>>>>>>> 1.2
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRINGA 31 2 1
 | 
					STRINGA 31 2 1
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
@ -587,10 +517,7 @@ STRINGA 75 12 1
 | 
				
			|||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
 KEY "netto da pagare"
 | 
					 KEY "netto da pagare"
 | 
				
			||||||
 PROMPT  71 66 ""
 | 
					 PROMPT  71 66 ""
 | 
				
			||||||
<<<<<<< vefat.frm
 | 
					 | 
				
			||||||
 MESSAGE _COD_TESTA NETPAG
 | 
					 MESSAGE _COD_TESTA NETPAG
 | 
				
			||||||
=======
 | 
					 | 
				
			||||||
>>>>>>> 1.2
 | 
					 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user