Risolti problemi in listini, contratti, offerte e sconti. Aggiornate
maschere. Modificata stampa. git-svn-id: svn://10.65.10.50/trunk@1971 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
2cd31b0656
commit
9784b96237
@ -14,6 +14,8 @@ class TTabelle_sconti: public TRelation_application {
|
||||
TRelation *_rel; // relazione principale
|
||||
|
||||
char _sconti; // carattere che indica il tipo di tabella
|
||||
bool _catven; // abilitazione della gestione della categoria di vendita
|
||||
TString _gessco; // indicatore di abilitazione degli sconti incondizionati
|
||||
|
||||
virtual bool user_create();
|
||||
virtual bool user_destroy();
|
||||
@ -51,19 +53,24 @@ bool TTabelle_sconti::user_create() {
|
||||
gotcha= TRUE;
|
||||
break;
|
||||
case 'I': // sconti incondizionati
|
||||
_msk= new TMask("VE2100I"); // apre la maschera relativa
|
||||
set_search_field(F_I_RICERCA); // setta il campo di ricerca
|
||||
sci_k_id[0]= F_I_CATVEN; // inizializza l'array dei campi da disabilitare condizionalmente
|
||||
sci_k_id[1]= F_I_SCCLIENTI;
|
||||
sci_k_id[2]= F_I_ZONE;
|
||||
sci_k_id[3]= F_I_CONDPAG;
|
||||
for (i=0; i<4; i++) {
|
||||
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...
|
||||
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
|
||||
}
|
||||
if (!gotcha) error_box("Non ci sono campi chiave abilitati nella configurazione della ditta");
|
||||
_gessco= prassid.get("GESSCO"); // legge lo stato del parametro di abilitazione degli sconti
|
||||
if (_gessco=="A") {
|
||||
_msk= new TMask("VE2100I"); // apre la maschera relativa
|
||||
set_search_field(F_I_RICERCA); // setta il campo di ricerca
|
||||
sci_k_id[0]= F_I_CATVEN; // inizializza l'array dei campi da disabilitare condizionalmente
|
||||
sci_k_id[1]= F_I_SCCLIENTI;
|
||||
sci_k_id[2]= F_I_ZONE;
|
||||
sci_k_id[3]= F_I_CONDPAG;
|
||||
for (i=0; i<4; i++) {
|
||||
if (prassid.get_bool("SCOKEY", NULL, i)) { // se nel file di config. il campo è abilitato...
|
||||
REVIVE(sci_k_id[i]); // ...il campo viene abilitato anche sulla maschera...
|
||||
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
|
||||
}
|
||||
_catven= prassid.get_bool("CODLISCV"); // legge il parametro di abilitazione delle categorie di vendita
|
||||
if (!_catven) KILL(sci_k_id[1]); // se non è abilitato, viene disabilitato anche il campo
|
||||
if (!gotcha) error_box("Non ci sono campi chiave abilitati nella configurazione della ditta");
|
||||
} else error_box("Gli sconti incondizionati non sono abilitati nella configurazione");
|
||||
break;
|
||||
default: // messaggio di errore se si indica una tabella non valida
|
||||
error_box("Indicare la tabella sulla linea di comando (D, R o I) oppure selezionarla dalla maschera di partenza");
|
||||
|
@ -23,6 +23,7 @@ class TCondizioni_vendita: public TRelation_application {
|
||||
TString16 _condven; // stringa che indica il tipo di archivio
|
||||
TBit_array _tohide; // vettore degli identificatori di campi che devono essere nascosti
|
||||
bool _codlis_catven; // booleano di abilitazione della categoria di vendita nella chiave dei listini
|
||||
bool _codcon_codcf; // booleano di abilitazioni dei campi TIPOCF e CODCF
|
||||
bool _gest_val, _gest_um, _gest_sca, _gest_so; // booleani per l'abilitazione di valute, unità di misura, scaglioni e sconti/omaggi
|
||||
|
||||
virtual bool user_create();
|
||||
@ -75,9 +76,10 @@ bool TCondizioni_vendita::user_create() {
|
||||
DESTROY(F_C_TIPOCF);
|
||||
DESTROY(F_C_CODCF);
|
||||
DESTROY(F_C_OBBLIG);
|
||||
DESTROY(F_C_DESCF);
|
||||
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
|
||||
_codlis_catven= prassid.get_bool("CODLISCV"); // setta il booleano di abilitazione delle categoria di vendita
|
||||
_codlis_catven= prassid.get_bool("GESLISCV"); // setta il booleano di abilitazione delle categoria 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_sca= prassid.get_bool("GESSCA", NULL, A_LISTINI); // setta il booleano di abilitazione degli scaglioni
|
||||
@ -93,8 +95,14 @@ bool TCondizioni_vendita::user_create() {
|
||||
DESTROY(F_L_COD);
|
||||
DESTROY(F_O_COD);
|
||||
DESTROY(F_L_CATVEN);
|
||||
DESTROY(F_LC_CODSUCC);
|
||||
DESTROY(F_L_DESVEN);
|
||||
_codcon_codcf= prassid.get_bool("GESCONCC"); // setta il booleano di abilitazione di TIPOCF e CODCF
|
||||
if (!_codcon_codcf) { // disabilita i campi di gestione clienti/fornitori in base al flag. di config.
|
||||
KILL(F_R_C_TIPOCF);
|
||||
KILL(F_R_C_CODCF);
|
||||
}
|
||||
set_search_field(F_C_COD); // impostazione del campo di ricerca
|
||||
_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_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_so= prassid.get_bool("GESSO", NULL, A_CONTRATTI); // setta il booleano di abilitazione degli sconti/omaggi
|
||||
@ -110,9 +118,12 @@ bool TCondizioni_vendita::user_create() {
|
||||
DESTROY(F_L_CATVEN);
|
||||
DESTROY(F_C_TIPOCF);
|
||||
DESTROY(F_C_CODCF);
|
||||
DESTROY(F_C_DESCF);
|
||||
DESTROY(F_L_DESVEN);
|
||||
DESTROY(F_C_OBBLIG);
|
||||
DESTROY(F_LC_CODSUCC);
|
||||
DESTROY(F_LC_DESSUCC);
|
||||
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
|
||||
_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_so= prassid.get_bool("GESSO", NULL, A_OFFERTE); // setta il booleano di abilitazione degli sconti/omaggi
|
||||
|
623
ve/ve2200x.uml
623
ve/ve2200x.uml
@ -1,313 +1,310 @@
|
||||
#include <lffiles.h>
|
||||
#include "ve2200x.h"
|
||||
|
||||
TOOLBAR "" 0 20 60 2
|
||||
#include <toolbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Archivio condizioni di vendita " 0 0 70 20
|
||||
|
||||
STRING F_TIPO 1
|
||||
BEGIN
|
||||
PROMPT 100 100 ""
|
||||
FIELD LF_CONDV->TIPO
|
||||
FLAG "DUP"
|
||||
KEY 1
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
// campo riservato ai listini
|
||||
STRING F_L_CATVEN 2
|
||||
BEGIN
|
||||
PROMPT 2 2 "Cat. vendita "
|
||||
FIELD LF_CONDV->CATVEN
|
||||
FLAG "U"
|
||||
KEY 1
|
||||
USE %CVE
|
||||
INPUT CODTAB F_L_CATVEN
|
||||
DISPLAY "Cat." CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_L_CATVEN CODTAB
|
||||
OUTPUT F_L_DESVEN S0
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
// campo riservato ai listini
|
||||
STRING F_L_DESVEN 50
|
||||
BEGIN
|
||||
PROMPT 22 2 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
// campo riservato ai contratti
|
||||
LIST F_C_TIPOCF 7
|
||||
BEGIN
|
||||
PROMPT 2 2 "Tipo "
|
||||
FIELD LF_CONDV->TIPOCF
|
||||
KEY 1
|
||||
ITEM "C|Cliente"
|
||||
ITEM "F|Fornit."
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
// campo riservato ai contratti
|
||||
STRING F_C_CODCF 6
|
||||
BEGIN
|
||||
PROMPT 2 3 "Codice "
|
||||
FIELD LF_CONDV->CODCF
|
||||
FLAG "U"
|
||||
KEY 1
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF F_C_TIPOCF
|
||||
INPUT CODCF F_C_CODCF
|
||||
DISPLAY "C/F" TIPOCF
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
OUTPUT F_C_TIPOCF TIPOCF
|
||||
OUTPUT F_C_CODCF CODCF
|
||||
OUTPUT F_C_DESCF RAGSOC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
// campo riservato ai contratti
|
||||
STRING F_C_DESCF 50
|
||||
BEGIN
|
||||
PROMPT 22 3 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
// campo riservato ai listini
|
||||
STRING F_L_COD 3
|
||||
BEGIN
|
||||
PROMPT 2 4 "Cod. listino "
|
||||
FIELD LF_CONDV->COD
|
||||
FLAG "U"
|
||||
KEY 1
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_TIPO SELECT
|
||||
INPUT CATVEN F_L_CATVEN
|
||||
INPUT COD F_L_COD
|
||||
DISPLAY "C.V." CATVEN
|
||||
DISPLAY "Codice" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_TIPO TIPO
|
||||
OUTPUT F_L_CATVEN CATVEN
|
||||
OUTPUT F_L_COD COD
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
// campo riservato ai contratti
|
||||
NUMBER F_C_COD 3
|
||||
BEGIN
|
||||
PROMPT 2 4 "Contratto N. "
|
||||
FIELD LF_CONDV->COD
|
||||
KEY 1
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_TIPO SELECT
|
||||
INPUT TIPOCF F_C_TIPOCF
|
||||
INPUT CODCF F_C_CODCF
|
||||
INPUT COD F_C_COD
|
||||
DISPLAY "C/F" TIPOCF
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Numero" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_TIPO TIPO
|
||||
OUTPUT F_C_TIPOCF TIPOCF
|
||||
OUTPUT F_C_CODCF CODCF
|
||||
OUTPUT F_C_COD COD
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
// campo riservato alle offerte
|
||||
STRING F_O_COD 3
|
||||
BEGIN
|
||||
PROMPT 2 3 "Cod. offerta "
|
||||
FIELD LF_CONDV->COD
|
||||
FLAG "U"
|
||||
KEY 1
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_TIPO SELECT
|
||||
INPUT COD F_O_COD
|
||||
DISPLAY "Codice" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_TIPO TIPO
|
||||
OUTPUT F_O_COD COD
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 75 8
|
||||
BEGIN
|
||||
PROMPT 0 0 ""
|
||||
FLAG "R"
|
||||
END
|
||||
|
||||
STRING F_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 2 5 "Descrizione "
|
||||
FIELD LF_CONDV->DESCR
|
||||
END
|
||||
|
||||
STRING F_CODVAL 5
|
||||
BEGIN
|
||||
PROMPT 2 8 "Valuta "
|
||||
FIELD LF_CONDV->CODVAL
|
||||
FLAG "U"
|
||||
USE %VAL
|
||||
INPUT CODTAB F_CODVAL
|
||||
DISPLAY "Valuta" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CODVAL CODTAB
|
||||
MESSAGE ENABLE,F_CAMBIO|ENABLE,F_DATACAM|DISABLE,F_IMPLORDI
|
||||
MESSAGE EMPTY "1",F_CAMBIO|DISABLE,F_CAMBIO|CLEAR,F_DATACAM|DISABLE,F_DATACAM|ENABLE,F_IMPLORDI
|
||||
END
|
||||
|
||||
NUMBER F_CAMBIO 15 5
|
||||
BEGIN
|
||||
PROMPT 21 8 "Cambio "
|
||||
FIELD LF_CONDV->CAMBIO
|
||||
END
|
||||
|
||||
DATA F_DATACAM
|
||||
BEGIN
|
||||
PROMPT 49 8 "Data "
|
||||
FIELD LF_CONDV->DATACAM
|
||||
END
|
||||
|
||||
DATA F_VALIN
|
||||
BEGIN
|
||||
PROMPT 2 10 "Inizio validita` "
|
||||
FIELD LF_CONDV->VALIN
|
||||
END
|
||||
|
||||
DATA F_VALFIN
|
||||
BEGIN
|
||||
PROMPT 39 10 "Fine validita` "
|
||||
FIELD LF_CONDV->VALFIN
|
||||
END
|
||||
|
||||
BOOLEAN F_IMPLORDI
|
||||
BEGIN
|
||||
PROMPT 2 12 "Importi lordi"
|
||||
FIELD LF_CONDV->IMPLORDI
|
||||
END
|
||||
|
||||
BOOLEAN F_GESTUM
|
||||
BEGIN
|
||||
PROMPT 34 12 "Gestione unita` di misura"
|
||||
FIELD LF_CONDV->GESTUM
|
||||
END
|
||||
|
||||
BOOLEAN F_GESTSCAGL
|
||||
BEGIN
|
||||
PROMPT 2 13 "Gestione scaglioni"
|
||||
FIELD LF_CONDV->GESTSCAGL
|
||||
END
|
||||
|
||||
BOOLEAN F_GESTSCO
|
||||
BEGIN
|
||||
PROMPT 34 13 "Gestione sconti/omaggi"
|
||||
FIELD LF_CONDV->GESTSCO
|
||||
END
|
||||
|
||||
BOOLEAN F_SCONST
|
||||
BEGIN
|
||||
PROMPT 2 14 "Gestione sconti standard"
|
||||
FIELD LF_CONDV->SCONST
|
||||
END
|
||||
|
||||
// campo riservato ai contratti
|
||||
BOOLEAN F_C_OBBLIG
|
||||
BEGIN
|
||||
PROMPT 34 14 "Contratto obbligatorio"
|
||||
FIELD LF_CONDV->OBBLIG
|
||||
END
|
||||
|
||||
LIST F_SEQRIC_1 10
|
||||
BEGIN
|
||||
PROMPT 2 15 "Sequenza ricerca "
|
||||
FIELD LF_CONDV->SEQRIC[1,1]
|
||||
ITEM "A|Articoli"
|
||||
ITEM "G|Gruppo M."
|
||||
ITEM "S|Sottogr.M."
|
||||
ITEM "R|Ragg.fisc."
|
||||
STR_EXPR (#THIS_FIELD!=#F_SEQRIC_2)&&(#THIS_FIELD!=#F_SEQRIC_3)&&(#THIS_FIELD!=#F_SEQRIC_4)
|
||||
WARNING "La sequenza di ricerca deve indicare tre tipi diversi di righe"
|
||||
END
|
||||
|
||||
LIST F_SEQRIC_2 10
|
||||
BEGIN
|
||||
PROMPT 34 15 ""
|
||||
FIELD LF_CONDV->SEQRIC[2,2]
|
||||
ITEM "-|Nessuno"
|
||||
ITEM "A|Articoli"
|
||||
ITEM "G|Gruppo M."
|
||||
ITEM "S|Sottogr.M."
|
||||
ITEM "R|Ragg.fisc."
|
||||
STR_EXPR (#THIS_FIELD=="")||((#THIS_FIELD!=#F_SEQRIC_1)&&(#THIS_FIELD!=#F_SEQRIC_3)&&(#THIS_FIELD!=#F_SEQRIC_4))
|
||||
WARNING "La sequenza di ricerca deve indicare tre tipi diversi di righe"
|
||||
END
|
||||
|
||||
LIST F_SEQRIC_3 10
|
||||
BEGIN
|
||||
PROMPT 49 15 ""
|
||||
FIELD LF_CONDV->SEQRIC[3,3]
|
||||
ITEM "-|Nessuno"
|
||||
ITEM "A|Articoli"
|
||||
ITEM "G|Gruppo M."
|
||||
ITEM "S|Sottogr.M."
|
||||
ITEM "R|Ragg.fisc."
|
||||
STR_EXPR (#THIS_FIELD=="")||((#THIS_FIELD!=#F_SEQRIC_1)&&(#THIS_FIELD!=#F_SEQRIC_2)&&(#THIS_FIELD!=#F_SEQRIC_4))
|
||||
WARNING "La sequenza di ricerca deve indicare tre tipi diversi di righe"
|
||||
END
|
||||
|
||||
LIST F_SEQRIC_4 10
|
||||
BEGIN
|
||||
PROMPT 64 15 ""
|
||||
FIELD LF_CONDV->SEQRIC[4,4]
|
||||
ITEM "-|Nessuno"
|
||||
ITEM "A|Articoli"
|
||||
ITEM "G|Gruppo M."
|
||||
ITEM "S|Sottogr.M."
|
||||
ITEM "R|Ragg.fisc."
|
||||
STR_EXPR (#THIS_FIELD=="")||((#THIS_FIELD!=#F_SEQRIC_1)&&(#THIS_FIELD!=#F_SEQRIC_2)&&(#THIS_FIELD!=#F_SEQRIC_3))
|
||||
WARNING "La sequenza di ricerca deve indicare tre tipi diversi di righe"
|
||||
END
|
||||
|
||||
// campo riservato ai listini
|
||||
STRING F_LC_CODSUCC 3
|
||||
BEGIN
|
||||
PROMPT 2 16 "Listino succ. "
|
||||
FIELD LF_CONDV->CODLISSUCC
|
||||
FLAG "U"
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_TIPO SELECT
|
||||
INPUT CATVEN F_L_CATVEN SELECT
|
||||
//INPUT TIPOCF F_C_TIPOCF SELECT
|
||||
//INPUT CODCF F_C_CODCF SELECT
|
||||
INPUT COD F_LC_CODSUCC
|
||||
DISPLAY "C.V." CATVEN
|
||||
DISPLAY "Codice" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_LC_CODSUCC COD
|
||||
OUTPUT F_LC_DESSUCC DESCR
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
// campo riservato ai listini
|
||||
STRING F_LC_DESSUCC 50
|
||||
BEGIN
|
||||
PROMPT 24 16 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
// bottone di lancio dell'applicazione delle righe
|
||||
BUTTON BTN_RIGHE 63 1
|
||||
BEGIN
|
||||
PROMPT 0 -1 "Righe di questa testata"
|
||||
MESSAGE K_F5
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
#include <lffiles.h>
|
||||
#include "ve2200x.h"
|
||||
|
||||
TOOLBAR "" 0 20 60 2
|
||||
#include <toolbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Archivio condizioni di vendita " 0 0 70 20
|
||||
|
||||
STRING F_TIPO 1
|
||||
BEGIN
|
||||
PROMPT 100 100 ""
|
||||
FIELD LF_CONDV->TIPO
|
||||
FLAG "DUP"
|
||||
KEY 1
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
// campo riservato ai listini
|
||||
STRING F_L_CATVEN 2
|
||||
BEGIN
|
||||
PROMPT 2 2 "Cat. vendita "
|
||||
FIELD LF_CONDV->CATVEN
|
||||
FLAG "U"
|
||||
KEY 1
|
||||
USE %CVE
|
||||
INPUT CODTAB F_L_CATVEN
|
||||
DISPLAY "Cat." CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_L_CATVEN CODTAB
|
||||
OUTPUT F_L_DESVEN S0
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
// campo riservato ai listini
|
||||
STRING F_L_DESVEN 50
|
||||
BEGIN
|
||||
PROMPT 22 2 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
// campo riservato ai contratti
|
||||
LIST F_C_TIPOCF 7
|
||||
BEGIN
|
||||
PROMPT 2 2 "Tipo "
|
||||
FIELD LF_CONDV->TIPOCF
|
||||
KEY 1
|
||||
ITEM "C|Cliente"
|
||||
ITEM "F|Fornit."
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
// campo riservato ai contratti
|
||||
STRING F_C_CODCF 6
|
||||
BEGIN
|
||||
PROMPT 2 3 "Codice "
|
||||
FIELD LF_CONDV->CODCF
|
||||
FLAG "U"
|
||||
KEY 1
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF F_C_TIPOCF
|
||||
INPUT CODCF F_C_CODCF
|
||||
DISPLAY "C/F" TIPOCF
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
OUTPUT F_C_TIPOCF TIPOCF
|
||||
OUTPUT F_C_CODCF CODCF
|
||||
OUTPUT F_C_DESCF RAGSOC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
// campo riservato ai contratti
|
||||
STRING F_C_DESCF 50
|
||||
BEGIN
|
||||
PROMPT 22 3 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
// campo riservato ai listini
|
||||
STRING F_L_COD 3
|
||||
BEGIN
|
||||
PROMPT 2 4 "Cod. listino "
|
||||
FIELD LF_CONDV->COD
|
||||
FLAG "U"
|
||||
KEY 1
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_TIPO SELECT
|
||||
INPUT CATVEN F_L_CATVEN
|
||||
INPUT COD F_L_COD
|
||||
DISPLAY "C.V." CATVEN
|
||||
DISPLAY "Codice" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_TIPO TIPO
|
||||
OUTPUT F_L_CATVEN CATVEN
|
||||
OUTPUT F_L_COD COD
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
// campo riservato ai contratti
|
||||
NUMBER F_C_COD 3
|
||||
BEGIN
|
||||
PROMPT 2 4 "Contratto N. "
|
||||
FIELD LF_CONDV->COD
|
||||
KEY 1
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_TIPO SELECT
|
||||
INPUT TIPOCF F_C_TIPOCF
|
||||
INPUT CODCF F_C_CODCF
|
||||
INPUT COD F_C_COD
|
||||
DISPLAY "C/F" TIPOCF
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Numero" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_TIPO TIPO
|
||||
OUTPUT F_C_TIPOCF TIPOCF
|
||||
OUTPUT F_C_CODCF CODCF
|
||||
OUTPUT F_C_COD COD
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
// campo riservato alle offerte
|
||||
STRING F_O_COD 3
|
||||
BEGIN
|
||||
PROMPT 2 3 "Cod. offerta "
|
||||
FIELD LF_CONDV->COD
|
||||
FLAG "U"
|
||||
KEY 1
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_TIPO SELECT
|
||||
INPUT COD F_O_COD
|
||||
DISPLAY "Codice" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_TIPO TIPO
|
||||
OUTPUT F_O_COD COD
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 75 8
|
||||
BEGIN
|
||||
PROMPT 0 0 ""
|
||||
FLAG "R"
|
||||
END
|
||||
|
||||
STRING F_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 2 5 "Descrizione "
|
||||
FIELD LF_CONDV->DESCR
|
||||
END
|
||||
|
||||
STRING F_CODVAL 5
|
||||
BEGIN
|
||||
PROMPT 2 8 "Valuta "
|
||||
FIELD LF_CONDV->CODVAL
|
||||
FLAG "U"
|
||||
USE %VAL
|
||||
INPUT CODTAB F_CODVAL
|
||||
DISPLAY "Valuta" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CODVAL CODTAB
|
||||
MESSAGE ENABLE,F_CAMBIO|ENABLE,F_DATACAM|DISABLE,F_IMPLORDI
|
||||
MESSAGE EMPTY "1",F_CAMBIO|DISABLE,F_CAMBIO|CLEAR,F_DATACAM|DISABLE,F_DATACAM|ENABLE,F_IMPLORDI
|
||||
END
|
||||
|
||||
NUMBER F_CAMBIO 15 5
|
||||
BEGIN
|
||||
PROMPT 21 8 "Cambio "
|
||||
FIELD LF_CONDV->CAMBIO
|
||||
END
|
||||
|
||||
DATA F_DATACAM
|
||||
BEGIN
|
||||
PROMPT 49 8 "Data "
|
||||
FIELD LF_CONDV->DATACAM
|
||||
END
|
||||
|
||||
DATA F_VALIN
|
||||
BEGIN
|
||||
PROMPT 2 10 "Inizio validita` "
|
||||
FIELD LF_CONDV->VALIN
|
||||
END
|
||||
|
||||
DATA F_VALFIN
|
||||
BEGIN
|
||||
PROMPT 39 10 "Fine validita` "
|
||||
FIELD LF_CONDV->VALFIN
|
||||
END
|
||||
|
||||
BOOLEAN F_IMPLORDI
|
||||
BEGIN
|
||||
PROMPT 2 12 "Importi lordi"
|
||||
FIELD LF_CONDV->IMPLORDI
|
||||
END
|
||||
|
||||
BOOLEAN F_GESTUM
|
||||
BEGIN
|
||||
PROMPT 34 12 "Gestione unita` di misura"
|
||||
FIELD LF_CONDV->GESTUM
|
||||
END
|
||||
|
||||
BOOLEAN F_GESTSCAGL
|
||||
BEGIN
|
||||
PROMPT 2 13 "Gestione scaglioni"
|
||||
FIELD LF_CONDV->GESTSCAGL
|
||||
END
|
||||
|
||||
BOOLEAN F_GESTSCO
|
||||
BEGIN
|
||||
PROMPT 34 13 "Gestione sconti/omaggi"
|
||||
FIELD LF_CONDV->GESTSCO
|
||||
END
|
||||
|
||||
BOOLEAN F_SCONST
|
||||
BEGIN
|
||||
PROMPT 2 14 "Gestione sconti standard"
|
||||
FIELD LF_CONDV->SCONST
|
||||
END
|
||||
|
||||
// campo riservato ai contratti
|
||||
BOOLEAN F_C_OBBLIG
|
||||
BEGIN
|
||||
PROMPT 34 14 "Contratto obbligatorio"
|
||||
FIELD LF_CONDV->OBBLIG
|
||||
END
|
||||
|
||||
LIST F_SEQRIC_1 10
|
||||
BEGIN
|
||||
PROMPT 2 15 "Sequenza ricerca "
|
||||
FIELD LF_CONDV->SEQRIC[1,1]
|
||||
ITEM "A|Articoli"
|
||||
ITEM "G|Gruppo M."
|
||||
ITEM "S|Sottogr.M."
|
||||
ITEM "R|Ragg.fisc."
|
||||
END
|
||||
|
||||
LIST F_SEQRIC_2 10
|
||||
BEGIN
|
||||
PROMPT 34 15 ""
|
||||
FIELD LF_CONDV->SEQRIC[2,2]
|
||||
ITEM "-|Nessuno"
|
||||
ITEM "A|Articoli"
|
||||
ITEM "G|Gruppo M."
|
||||
ITEM "S|Sottogr.M."
|
||||
ITEM "R|Ragg.fisc."
|
||||
STR_EXPR (#THIS_FIELD=="-")||(#THIS_FIELD!=#F_SEQRIC_1)
|
||||
WARNING "La sequenza di ricerca deve indicare quattro tipi diversi di righe"
|
||||
END
|
||||
|
||||
LIST F_SEQRIC_3 10
|
||||
BEGIN
|
||||
PROMPT 49 15 ""
|
||||
FIELD LF_CONDV->SEQRIC[3,3]
|
||||
ITEM "-|Nessuno"
|
||||
ITEM "A|Articoli"
|
||||
ITEM "G|Gruppo M."
|
||||
ITEM "S|Sottogr.M."
|
||||
ITEM "R|Ragg.fisc."
|
||||
STR_EXPR (#THIS_FIELD=="-")||((#THIS_FIELD!=#F_SEQRIC_1)&&(#THIS_FIELD!=#F_SEQRIC_2))
|
||||
WARNING "La sequenza di ricerca deve indicare quattro tipi diversi di righe"
|
||||
END
|
||||
|
||||
LIST F_SEQRIC_4 10
|
||||
BEGIN
|
||||
PROMPT 64 15 ""
|
||||
FIELD LF_CONDV->SEQRIC[4,4]
|
||||
ITEM "-|Nessuno"
|
||||
ITEM "A|Articoli"
|
||||
ITEM "G|Gruppo M."
|
||||
ITEM "S|Sottogr.M."
|
||||
ITEM "R|Ragg.fisc."
|
||||
STR_EXPR (#THIS_FIELD=="-")||((#THIS_FIELD!=#F_SEQRIC_1)&&(#THIS_FIELD!=#F_SEQRIC_2)&&(#THIS_FIELD!=#F_SEQRIC_3))
|
||||
WARNING "La sequenza di ricerca deve indicare quattro tipi diversi di righe"
|
||||
END
|
||||
|
||||
// campo riservato ai listini
|
||||
STRING F_LC_CODSUCC 3
|
||||
BEGIN
|
||||
PROMPT 2 16 "Listino succ. "
|
||||
FIELD LF_CONDV->CODLISSUCC
|
||||
FLAG "U"
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_TIPO SELECT
|
||||
INPUT CATVEN F_L_CATVEN SELECT
|
||||
//INPUT TIPOCF F_C_TIPOCF SELECT
|
||||
//INPUT CODCF F_C_CODCF SELECT
|
||||
INPUT COD F_LC_CODSUCC
|
||||
DISPLAY "C.V." CATVEN
|
||||
DISPLAY "Codice" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_LC_CODSUCC COD
|
||||
OUTPUT F_LC_DESSUCC DESCR
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
// campo riservato ai listini
|
||||
STRING F_LC_DESSUCC 50
|
||||
BEGIN
|
||||
PROMPT 24 16 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
// bottone di lancio dell'applicazione delle righe
|
||||
BUTTON BTN_RIGHE 63 1
|
||||
BEGIN
|
||||
PROMPT 0 -1 "Righe di questa testata"
|
||||
MESSAGE K_F5
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -11,30 +11,14 @@
|
||||
|
||||
|
||||
|
||||
enum state { // tipo di var. per la gestione delle abilitazioni dei campi
|
||||
hidden, // nascosto, disabilitato, rimosso, distrutto, ucciso... insomma, fuori dai piedi
|
||||
disabled, // disabilitato, visibile, non riabilitabile... cioè proprio in mezzo ai piedi e senza possibilità di toglierlo
|
||||
disactivated, // disabilitato ma visibile... cioè giusto tra i piedi
|
||||
activated // attivato... cioè utilizzabile come gli altri
|
||||
};
|
||||
|
||||
// il campo unità di misura nella chiave viene gestito con i quattro stati per risolvere i
|
||||
// conflitti di abilitazione/disabilitazione incrociati tra vari flag e stati del programma:
|
||||
// il listbox del tipo di riga ha la priorità più bassa, cambia solo tra gli ultimi due stati
|
||||
// (disactivated e activated); il flag "GESTUM" nella testata cambia lo stato del campo tra
|
||||
// gli intermedi (disabled e disactivated); il tipo di archivio cambia tra il primo e il terzo
|
||||
// stato (hidden e disactivated)
|
||||
|
||||
|
||||
|
||||
class TRighe_condizioni_vendita: public TRelation_application {
|
||||
TMask *_msk; // maschera principale
|
||||
TRelation *_rel; // relazione principale
|
||||
|
||||
TString16 _rcondven; // stringa che indica il tipo di archivio
|
||||
bool _codlis_catven; // booleano di abilitazione del campo CATVEN
|
||||
|
||||
state _gest_um; // variabile di abilitazione delle unità di misura
|
||||
bool _codcon_codcf; // booleano di abilitazioni dei campi TIPOCF e CODCF
|
||||
bool _gest_um; // variabile di abilitazione delle unità di misura
|
||||
|
||||
virtual bool user_create();
|
||||
virtual bool user_destroy();
|
||||
@ -80,41 +64,52 @@ bool TRighe_condizioni_vendita::user_create() {
|
||||
TConfig prassid(CONFIG_DITTA, "ve"); // apre il file di configurazione della ditta corrente
|
||||
switch (_rcondven[0]) {
|
||||
case 'L': // listini
|
||||
_gest_um= disactivated; // attiva di default la gestione delle unità di misura pur lasciando il campo disabilitato
|
||||
DESTROY(F_R_C_TIPOCF); // settaggio dei campi da eliminare...
|
||||
DESTROY(F_R_C_CODCF);
|
||||
DESTROY(F_R_C_COD);
|
||||
DESTROY(F_R_O_COD);
|
||||
_msk->hide(F_R_C_DESCF);
|
||||
_msk->hide(F_R_C_DES);
|
||||
_msk->hide(F_R_O_DES);
|
||||
_msk->hide(F_R_C_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);
|
||||
_codlis_catven= prassid.get_bool("COSLISCV"); // setta il booleano di abilitazione di CATVEN
|
||||
_codlis_catven= prassid.get_bool("GESLISCV"); // setta il booleano di abilitazione di CATVEN
|
||||
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
|
||||
_msk->set_handler(F_R_L_COD, handle_cod); // impostazione dell'handler sul campo di controllo della testata
|
||||
gotcha= TRUE;
|
||||
break;
|
||||
case 'C': // contratti
|
||||
_gest_um= hidden; // rimuove la gestione delle unità di misura
|
||||
DESTROY(F_R_L_CATVEN); // settaggio dei campi da eliminare...
|
||||
DESTROY(F_R_L_COD);
|
||||
DESTROY(F_R_O_COD);
|
||||
DESTROY(F_R_LO_UM);
|
||||
_msk->hide(F_R_L_DESVEN);
|
||||
_msk->hide(F_R_L_DES);
|
||||
_msk->hide(F_R_O_DES);
|
||||
_msk->hide(F_R_L_RICERCA);
|
||||
_msk->hide(F_R_O_RICERCA);
|
||||
_msk->hide(F_R_O_ARTES);
|
||||
_codcon_codcf= prassid.get_bool("GESCONCC"); // setta il booleano di abilitazione di TIPOCF e CODCF
|
||||
if (!_codcon_codcf) { // disabilita i campi di gestione clienti/fornitori in base al flag. di config.
|
||||
KILL(F_R_C_TIPOCF);
|
||||
KILL(F_R_C_CODCF);
|
||||
}
|
||||
set_search_field(F_R_C_RICERCA); // impostazione del campo di ricerca
|
||||
_msk->set_handler(F_R_C_COD, handle_cod); // impostazione dell'handler sul campo di controllo della testata
|
||||
gotcha= TRUE;
|
||||
break;
|
||||
case 'O': // offerte
|
||||
_gest_um= disactivated; // attiva di default la gestione delle unità di misura pur lasciando il campo disabilitato
|
||||
DESTROY(F_R_L_CATVEN); // settaggio dei campi da eliminare...
|
||||
DESTROY(F_R_C_TIPOCF);
|
||||
DESTROY(F_R_C_CODCF);
|
||||
DESTROY(F_R_L_COD);
|
||||
DESTROY(F_R_C_COD);
|
||||
_msk->hide(F_R_C_DESCF);
|
||||
_msk->hide(F_R_L_DESVEN);
|
||||
_msk->hide(F_R_L_DES);
|
||||
_msk->hide(F_R_C_DES);
|
||||
_msk->hide(F_R_L_RICERCA);
|
||||
_msk->hide(F_R_C_RICERCA);
|
||||
set_search_field(F_R_O_RICERCA); // impostazione del campo di ricerca
|
||||
@ -129,6 +124,7 @@ bool TRighe_condizioni_vendita::user_create() {
|
||||
_rel= new TRelation(LF_RCONDV); // apre la relazione (un unico file)
|
||||
_msk->set(F_R_TIPO, _rcondven); // settaggio del campo di tipo archivio
|
||||
_msk->set_handler(F_R_TIPORIGA, handle_tiporiga); // impostazione dell'handler sul campo di selezione del tipo della riga
|
||||
_gest_um= TRUE; // abilita la gestione delle unità di misura (di default)
|
||||
hide_and_show_codriga(); // invoca la procedura di controllo della mutua esclusione dei tre campi CODRIGA
|
||||
}
|
||||
return (gotcha);
|
||||
@ -143,33 +139,18 @@ bool TRighe_condizioni_vendita::user_destroy() {
|
||||
void TRighe_condizioni_vendita::hide_and_show_codriga() {
|
||||
TMask *_msk= app()._msk; // prende il puntatore alla maschera principale dell'applicazione
|
||||
if (_msk->query_mode()) { // se la maschera è in modo query procede con i controlli...
|
||||
short id_campi[3]= { F_R_CODRIGA_A, F_R_CODRIGA_G, F_R_CODRIGA_R }; // vettore degli identificatori dei tre campi CODRIGA in mutua esclusione
|
||||
char tag_campi[3]= { 'A', 'G', 'R' }; // vettore dei tag di TIPORIGA per i tre campi CODRIGA in mutua esclusione
|
||||
state &_gest_um= app()._gest_um; // prende il riferimento al booleano di abilitazione delle unità di misura
|
||||
short id_campi_1[4]= { F_R_CODRIGA_A, F_R_CODRIGA_G, F_R_CODRIGA_S, F_R_CODRIGA_R }; // vettore degli identificatori dei tre campi CODRIGA in mutua esclusione
|
||||
short id_campi_2[4]= { F_R_DESRIGA_A, F_R_DESRIGA_G, F_R_DESRIGA_S, F_R_DESRIGA_R }; // vettore degli identificatori dei tre campi CODRIGA in mutua esclusione
|
||||
char tag_campi[4]= { 'A', 'G', 'S', 'R' }; // vettore dei tag di TIPORIGA per i tre campi CODRIGA in mutua esclusione
|
||||
bool &_gest_um= app()._gest_um; // prende il riferimento al booleano di abilitazione delle unità di misura
|
||||
TString &_rcondven= app()._rcondven; // prende il riferimento alla stringa di tipo di archivio
|
||||
char tag_campo= toupper(_msk->get(F_R_TIPORIGA)[0]); // prende il tag del campo da abilitare in TIPORIGA
|
||||
for (int i=0; i<3; i++) { // ciclo sui tre campi CODRIGA
|
||||
if (tag_campo == tag_campi[i]) { CREATE(id_campi[i]); } // il campo indicato con il tag viene reso visibile
|
||||
else { DESTROY(id_campi[i]); } // i campi non corrispondenti al tag vengono resi invisibili
|
||||
}
|
||||
if ((_gest_um != hidden) && (_gest_um != disabled)) { // se è abilitata (o abilitabile) la gestione delle unità di misura ed è stata selezionata una riga di articoli...
|
||||
if (tag_campo=='A') _gest_um= activated; // ...il campo "unità di misura" viene abilitato...
|
||||
else _gest_um= disactivated; // ...altrimenti viene disabilitato
|
||||
}
|
||||
switch (_gest_um) {
|
||||
case hidden: // se l'unità di misura deve essere fuori dai piedi...
|
||||
DESTROY(F_R_LO_UM); // ...il campo viene relativo soppresso
|
||||
break;
|
||||
case disabled: // se l'unità di misura deve essere tra i piedi (ma inutilizzabile)
|
||||
case disactivated:
|
||||
CREATE(F_R_LO_UM); // ...il campo relativo viene rimesso al mondo...
|
||||
KILL(F_R_LO_UM); // ...ma subito ucciso
|
||||
break;
|
||||
case activated: // se l'unità di misura deve funzionare...
|
||||
CREATE(F_R_LO_UM); // ...il campo relativo viene rimesso al mondo...
|
||||
REVIVE(F_R_LO_UM); // ...e lasciato vivere in pace
|
||||
break;
|
||||
for (int i=0; i<4; i++) { // ciclo sui tre campi CODRIGA
|
||||
if (tag_campo == tag_campi[i]) { CREATE(id_campi_1[i]); _msk->show(id_campi_2[i]); } // il campo indicato con il tag viene reso visibile
|
||||
else { DESTROY(id_campi_1[i]); _msk->hide(id_campi_2[i]); } // i campi non corrispondenti al tag vengono resi invisibili
|
||||
}
|
||||
if (_gest_um && (tag_campo=='A')) { REVIVE(F_R_UM); } // se la gest. delle u.m. è abilitata, il campo viene attivato se la riga è un articolo...
|
||||
else { KILL(F_R_UM); } // ...altrimenti viene disattivato
|
||||
}
|
||||
}
|
||||
|
||||
@ -180,7 +161,7 @@ bool TRighe_condizioni_vendita::handle_tiporiga(TMask_field &fld, KEY k) {
|
||||
|
||||
bool TRighe_condizioni_vendita::handle_cod(TMask_field &fld, KEY k) {
|
||||
if ((k==K_TAB) && fld.get().not_empty()) {
|
||||
state &_gest_um= app()._gest_um; // prende il riferimento al booleano di abilitazione delle unità di misura
|
||||
bool &_gest_um= app()._gest_um; // prende il riferimento al booleano di abilitazione delle unità di misura
|
||||
TString &_rcondven= app()._rcondven; // prende il riferimento alla stringa di indicazione del tipo di archivio
|
||||
TMask *_msk= app()._msk; // prende il puntatore alla maschera principale dell'applicazione
|
||||
TLocalisamfile condv(LF_CONDV); // apre il file della testata (condizioni di vendita)
|
||||
@ -200,10 +181,7 @@ bool TRighe_condizioni_vendita::handle_cod(TMask_field &fld, KEY k) {
|
||||
break;
|
||||
}
|
||||
if (condv.read()==NOERR) { // se la lettura è andata a buon fine abilita/disabilita i campi della maschera in base ai booleani della testata
|
||||
if (_gest_um != hidden) { // se le unità di misura possono essere utilizzate...
|
||||
if (!(condv.get_bool("GESTUM"))) _gest_um= disabled; // ma nella testata sono disabilitate, setta la disabilitazione del campo "unità di misura"...
|
||||
else _gest_um= disactivated; // altrimenti ne setta la possibile abilitazione
|
||||
}
|
||||
_gest_um= condv.get_bool("GESTUM"); // legge lo stato di abilitazione della gestione delle unità di misura
|
||||
hide_and_show_codriga(); // lancia la funzione che si occupa di abilitare/disabilitare il campo "unità di misura"
|
||||
if (!condv.get_bool("GESTSCAGL")) {
|
||||
KILL(F_R_NSCAGL); // disabilita il campo "numero scaglione"
|
||||
|
93
ve/ve2300x.h
93
ve/ve2300x.h
@ -1,47 +1,46 @@
|
||||
|
||||
// campi comuni a tutti gli archivi
|
||||
#define F_R_TIPO 111
|
||||
#define F_R_TIPORIGA 112
|
||||
#define F_R_CODRIGA_A 113
|
||||
#define F_R_CODRIGA_G 114
|
||||
#define F_R_CODRIGA_R 115
|
||||
#define F_R_NSCAGL 116
|
||||
#define F_R_QLIM 117
|
||||
#define F_R_PREZZO 118
|
||||
#define F_R_SCONTO 119
|
||||
#define F_R_ADDIVA 120
|
||||
#define F_R_CODIVA 121
|
||||
#define F_R_PERCPROVV 122
|
||||
#define F_R_QOM 123
|
||||
#define F_R_QBASE 124
|
||||
#define F_R_CODARTOM 125
|
||||
#define F_R_PROMAGGIO 126
|
||||
#define F_R_UMOM 127
|
||||
#define F_R_CODRIGA_S 128
|
||||
#define F_R_DESRIGA_A 161
|
||||
#define F_R_DESRIGA_G 162
|
||||
#define F_R_DESRIGA_R 163
|
||||
#define F_R_DESRIGA_S 163
|
||||
|
||||
// campi riservati ai listini
|
||||
#define F_R_L_CATVEN 131
|
||||
#define F_R_L_COD 132
|
||||
#define F_R_LO_UM 133 // comune anche alle offerte
|
||||
#define F_R_L_RICERCA 134
|
||||
#define F_R_L_DESVEN 135
|
||||
#define F_R_L_DES 136
|
||||
|
||||
// campi riservati ai contratti
|
||||
#define F_R_C_TIPOCF 141
|
||||
#define F_R_C_CODCF 142
|
||||
#define F_R_C_COD 143
|
||||
#define F_R_C_RICERCA 144
|
||||
#define F_R_C_DESCF 145
|
||||
#define F_R_C_DES 146
|
||||
|
||||
// campi riservati alle offerte
|
||||
#define F_R_O_COD 151
|
||||
#define F_R_O_RICERCA 152
|
||||
#define F_R_O_ARTES 153
|
||||
#define F_R_O_DES 154
|
||||
|
||||
|
||||
// campi comuni a tutti gli archivi
|
||||
#define F_R_TIPO 111
|
||||
#define F_R_TIPORIGA 112
|
||||
#define F_R_CODRIGA_A 113
|
||||
#define F_R_CODRIGA_G 114
|
||||
#define F_R_CODRIGA_R 115
|
||||
#define F_R_UM 133
|
||||
#define F_R_NSCAGL 116
|
||||
#define F_R_QLIM 117
|
||||
#define F_R_PREZZO 118
|
||||
#define F_R_SCONTO 119
|
||||
#define F_R_ADDIVA 120
|
||||
#define F_R_CODIVA 121
|
||||
#define F_R_PERCPROVV 122
|
||||
#define F_R_QOM 123
|
||||
#define F_R_QBASE 124
|
||||
#define F_R_CODARTOM 125
|
||||
#define F_R_PROMAGGIO 126
|
||||
#define F_R_UMOM 127
|
||||
#define F_R_CODRIGA_S 128
|
||||
#define F_R_DESRIGA_A 161
|
||||
#define F_R_DESRIGA_G 162
|
||||
#define F_R_DESRIGA_R 163
|
||||
#define F_R_DESRIGA_S 163
|
||||
|
||||
// campi riservati ai listini
|
||||
#define F_R_L_CATVEN 131
|
||||
#define F_R_L_COD 132
|
||||
#define F_R_L_RICERCA 134
|
||||
#define F_R_L_DESVEN 135
|
||||
#define F_R_L_DES 136
|
||||
|
||||
// campi riservati ai contratti
|
||||
#define F_R_C_TIPOCF 141
|
||||
#define F_R_C_CODCF 142
|
||||
#define F_R_C_COD 143
|
||||
#define F_R_C_RICERCA 144
|
||||
#define F_R_C_DESCF 145
|
||||
#define F_R_C_DES 146
|
||||
|
||||
// campi riservati alle offerte
|
||||
#define F_R_O_COD 151
|
||||
#define F_R_O_RICERCA 152
|
||||
#define F_R_O_ARTES 153
|
||||
#define F_R_O_DES 154
|
||||
|
916
ve/ve2300x.uml
916
ve/ve2300x.uml
@ -1,457 +1,459 @@
|
||||
#include <lffiles.h>
|
||||
#include "ve2300x.h"
|
||||
|
||||
TOOLBAR "" 0 20 60 2
|
||||
#include <toolbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Archivio righe condiz. di vendita " 0 0 70 20
|
||||
|
||||
STRING F_R_TIPO 1
|
||||
BEGIN
|
||||
PROMPT 100 100 ""
|
||||
FIELD LF_RCONDV->TIPO
|
||||
FLAG "DUP"
|
||||
KEY 1
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_R_L_CATVEN 2 // campo riservato ai listini
|
||||
BEGIN
|
||||
PROMPT 2 2 "Cat. vendita "
|
||||
FIELD LF_RCONDV->CATVEN
|
||||
FLAG "UP"
|
||||
KEY 1
|
||||
USE %CVE
|
||||
INPUT CODTAB F_R_L_CATVEN
|
||||
DISPLAY "Cat." CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_R_L_CATVEN CODTAB
|
||||
OUTPUT F_R_L_DESVEN S0
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_R_L_DESVEN 50 // campo riservato ai listini
|
||||
BEGIN
|
||||
PROMPT 23 2 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
LIST F_R_C_TIPOCF 7 // campo riservato ai contratti
|
||||
BEGIN
|
||||
PROMPT 2 1 "Tipo C/F "
|
||||
FIELD LF_RCONDV->TIPOCF
|
||||
FLAG "P"
|
||||
KEY 1
|
||||
ITEM "C|Cliente"
|
||||
ITEM "F|Fornit."
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_R_C_CODCF 6 // campo riservato ai contratti
|
||||
BEGIN
|
||||
PROMPT 2 2 "Cod. C/F "
|
||||
FIELD LF_RCONDV->CODCF
|
||||
FLAG "UP"
|
||||
KEY 1
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF F_R_C_TIPOCF
|
||||
INPUT CODCF F_R_C_CODCF
|
||||
DISPLAY "C/F" TIPOCF
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
OUTPUT F_R_C_TIPOCF TIPOCF
|
||||
OUTPUT F_R_C_CODCF CODCF
|
||||
OUTPUT F_R_C_DESCF RAGSOC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_R_C_DESCF 50 // campo riservato ai contratti
|
||||
BEGIN
|
||||
PROMPT 23 2 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
STRING F_R_L_COD 3 // campo riservato ai listini
|
||||
BEGIN
|
||||
PROMPT 2 3 "Listino "
|
||||
FIELD LF_RCONDV->COD
|
||||
FLAG "UPG"
|
||||
KEY 1
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_R_TIPO SELECT
|
||||
INPUT CATVEN F_R_L_CATVEN
|
||||
INPUT COD F_R_L_COD
|
||||
DISPLAY "C.V." CATVEN
|
||||
DISPLAY "Codice" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_R_TIPO TIPO
|
||||
OUTPUT F_R_L_CATVEN CATVEN
|
||||
OUTPUT F_R_L_COD COD
|
||||
OUTPUT F_R_L_DES DESCR
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_R_L_DES 50 // campo riservato ai contratti
|
||||
BEGIN
|
||||
PROMPT 23 3 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
NUMBER F_R_C_COD 3 // campo riservato ai contratti
|
||||
BEGIN
|
||||
PROMPT 2 3 "Contratto N. "
|
||||
FIELD LF_RCONDV->COD
|
||||
FLAG "PG"
|
||||
KEY 1
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_R_TIPO SELECT
|
||||
INPUT TIPOCF F_R_C_TIPOCF
|
||||
INPUT CODCF F_R_C_CODCF
|
||||
INPUT COD F_R_C_COD
|
||||
DISPLAY "C/F" TIPOCF
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Numero" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_R_TIPO TIPO
|
||||
OUTPUT F_R_C_TIPOCF TIPOCF
|
||||
OUTPUT F_R_C_CODCF CODCF
|
||||
OUTPUT F_R_C_COD COD
|
||||
OUTPUT F_R_C_DES DESCR
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_R_C_DES 50 // campo riservato ai listini
|
||||
BEGIN
|
||||
PROMPT 23 3 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
STRING F_R_O_COD 3 // campo riservato alle offerte
|
||||
BEGIN
|
||||
PROMPT 2 2 "Codice offerta "
|
||||
FIELD LF_RCONDV->COD
|
||||
FLAG "UPG"
|
||||
KEY 1
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_R_TIPO SELECT
|
||||
INPUT COD F_R_O_COD
|
||||
DISPLAY "Codice" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_R_TIPO TIPO
|
||||
OUTPUT F_R_O_COD COD
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_R_O_DES 50 // campo riservato alle offerte
|
||||
BEGIN
|
||||
PROMPT 2 4 "Descr. offerta "
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
LIST F_R_TIPORIGA 14
|
||||
BEGIN
|
||||
PROMPT 2 4 "Tipo riga "
|
||||
FIELD LF_RCONDV->TIPORIGA
|
||||
FLAG "P"
|
||||
KEY 1
|
||||
ITEM "A|Articolo"
|
||||
ITEM "G|Gruppo merc."
|
||||
ITEM "S|Sottogr. merc."
|
||||
ITEM "R|Ragg. fiscale"
|
||||
END
|
||||
|
||||
STRING F_R_CODRIGA_A 20
|
||||
BEGIN
|
||||
PROMPT 37 4 "Codice articolo "
|
||||
FIELD LF_RCONDV->CODRIGA
|
||||
FLAG "U"
|
||||
KEY 1
|
||||
USE LF_ANAGR
|
||||
INPUT CODART F_R_CODRIGA_A
|
||||
DISPLAY "Articolo@20" CODART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_R_CODRIGA_A CODART
|
||||
OUTPUT F_R_DESRIGA_A DESCR
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_R_DESRIGA_A 50
|
||||
BEGIN
|
||||
PROMPT 2 5 "Descrizione articolo "
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
STRING F_R_CODRIGA_G 3
|
||||
BEGIN
|
||||
PROMPT 2 5 "Gruppo merc. "
|
||||
FIELD LF_RCONDV->CODRIGA
|
||||
FLAG "U"
|
||||
KEY 1
|
||||
USE %GMC
|
||||
INPUT CODTAB[1,3] F_R_CODRIGA_G
|
||||
DISPLAY "Gr. merc." CODTAB[1,3]
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_R_CODRIGA_G CODTAB[1,3]
|
||||
OUTPUT F_R_DESRIGA_G S0
|
||||
CHECKTYPE REQUIRED
|
||||
MESSAGE COPY,F_R_CODRIGA_A
|
||||
END
|
||||
|
||||
STRING F_R_DESRIGA_G 50
|
||||
BEGIN
|
||||
PROMPT 23 5 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
STRING F_R_CODRIGA_S 2
|
||||
BEGIN
|
||||
PROMPT 2 5 "Sottogr. merc. "
|
||||
FIELD LF_RCONDV->CODRIGA
|
||||
FLAG "U"
|
||||
KEY 1
|
||||
USE %GMC
|
||||
INPUT CODTAB[4,5] F_R_CODRIGA_S
|
||||
DISPLAY "Sottogr. merc." CODTAB[4,5]
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_R_CODRIGA_S CODTAB[4,5]
|
||||
OUTPUT F_R_DESRIGA_S S0
|
||||
CHECKTYPE REQUIRED
|
||||
MESSAGE COPY,F_R_CODRIGA_A
|
||||
END
|
||||
|
||||
STRING F_R_DESRIGA_S 50
|
||||
BEGIN
|
||||
PROMPT 23 5 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
STRING F_R_CODRIGA_R 2
|
||||
BEGIN
|
||||
PROMPT 2 5 "Ragg.fiscale "
|
||||
FIELD LF_RCONDV->CODRIGA
|
||||
FLAG "U"
|
||||
KEY 1
|
||||
USE %RFA
|
||||
INPUT CODTAB F_R_CODRIGA_R
|
||||
DISPLAY "Ragg. fisc." CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_R_CODRIGA_R CODTAB
|
||||
OUTPUT F_R_DESRIGA_R S0
|
||||
CHECKTYPE REQUIRED
|
||||
MESSAGE COPY,F_R_CODRIGA_A
|
||||
END
|
||||
|
||||
STRING F_R_DESRIGA_R 50
|
||||
BEGIN
|
||||
PROMPT 23 5 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
STRING F_R_NSCAGL 1
|
||||
BEGIN
|
||||
PROMPT 2 7 "N.ro scaglione "
|
||||
FIELD LF_RCONDV->NSCAGL
|
||||
KEY 1
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_R_LO_UM 2 // campo riservato a listini e offerte
|
||||
BEGIN
|
||||
PROMPT 28 7 "U.M. "
|
||||
FIELD LF_RCONDV->UM
|
||||
FLAG "U"
|
||||
KEY 1
|
||||
USE LF_UMART KEY 2
|
||||
JOIN %UMS INTO CODTAB=UM
|
||||
INPUT CODART F_R_CODRIGA_A SELECT
|
||||
INPUT UM F_R_LO_UM
|
||||
DISPLAY "U.M." UM
|
||||
DISPLAY "Desccrizione@50" %UMS->S0
|
||||
OUTPUT F_R_LO_UM UM
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_R_L_RICERCA 1 // campo di aggancio per la ricerca sui listini, nascosto
|
||||
BEGIN
|
||||
PROMPT 100 100 ""
|
||||
FLAG "D"
|
||||
USE LF_RCONDV SELECT (CATVEN==#F_R_L_CATVEN)&&(COD==#F_R_L_COD)
|
||||
INPUT TIPO F_R_TIPO SELECT
|
||||
//INPUT CATVEN F_R_L_CATVEN
|
||||
//INPUT COD F_R_L_COD
|
||||
INPUT TIPORIGA F_R_TIPORIGA
|
||||
INPUT CODRIGA F_R_CODRIGA_A
|
||||
INPUT UM F_R_LO_UM
|
||||
INPUT NSCAGL F_R_NSCAGL
|
||||
DISPLAY "Tipo" TIPORIGA
|
||||
DISPLAY "Codice@20" CODRIGA
|
||||
DISPLAY "U.M." UM
|
||||
DISPLAY "N.S." NSCAGL
|
||||
OUTPUT F_R_TIPORIGA TIPORIGA
|
||||
OUTPUT F_R_CODRIGA_A CODRIGA
|
||||
OUTPUT F_R_CODRIGA_G CODRIGA
|
||||
OUTPUT F_R_CODRIGA_R CODRIGA
|
||||
OUTPUT F_R_LO_UM UM
|
||||
OUTPUT F_R_NSCAGL NSCAGL
|
||||
END
|
||||
|
||||
STRING F_R_C_RICERCA 1 // campo di aggancio per la ricerca sui contratti, nascosto
|
||||
BEGIN
|
||||
PROMPT 100 100 ""
|
||||
FLAG "D"
|
||||
USE LF_RCONDV SELECT (TIPOCF==#F_R_C_TIPOCF)&&(CODCF==#F_R_C_CODCF)&&(COD==#F_R_L_COD)
|
||||
INPUT TIPO F_R_TIPO SELECT
|
||||
//INPUT TIPOCF F_R_C_TIPOCF
|
||||
//INPUT CODCF F_R_C_CODCF
|
||||
//INPUT COD F_R_C_COD
|
||||
INPUT TIPORIGA F_R_TIPORIGA
|
||||
INPUT CODRIGA F_R_CODRIGA_A
|
||||
INPUT NSCAGL F_R_NSCAGL
|
||||
DISPLAY "Tipo" TIPORIGA
|
||||
DISPLAY "Codice@20" CODRIGA
|
||||
DISPLAY "N.S." NSCAGL
|
||||
OUTPUT F_R_TIPORIGA TIPORIGA
|
||||
OUTPUT F_R_CODRIGA_A CODRIGA
|
||||
OUTPUT F_R_CODRIGA_G CODRIGA
|
||||
OUTPUT F_R_CODRIGA_R CODRIGA
|
||||
OUTPUT F_R_NSCAGL NSCAGL
|
||||
END
|
||||
|
||||
STRING F_R_O_RICERCA 1 // campo di aggancio per la ricerca sulle offerte, nascosto
|
||||
BEGIN
|
||||
PROMPT 100 100 ""
|
||||
FLAG "D"
|
||||
USE LF_RCONDV SELECT COD==#F_R_L_COD
|
||||
INPUT TIPO F_R_TIPO SELECT
|
||||
//INPUT COD F_R_O_COD
|
||||
INPUT TIPORIGA F_R_TIPORIGA
|
||||
INPUT CODRIGA F_R_CODRIGA_A
|
||||
INPUT UM F_R_LO_UM
|
||||
INPUT NSCAGL F_R_NSCAGL
|
||||
DISPLAY "Tipo" TIPORIGA
|
||||
DISPLAY "Codice@20" CODRIGA
|
||||
DISPLAY "U.M." UM
|
||||
DISPLAY "N.S." NSCAGL
|
||||
OUTPUT F_R_TIPORIGA TIPORIGA
|
||||
OUTPUT F_R_CODRIGA_A CODRIGA
|
||||
OUTPUT F_R_CODRIGA_G CODRIGA
|
||||
OUTPUT F_R_CODRIGA_R CODRIGA
|
||||
OUTPUT F_R_LO_UM UM
|
||||
OUTPUT F_R_NSCAGL NSCAGL
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 9 // fine della chiave
|
||||
BEGIN
|
||||
PROMPT 0 0 ""
|
||||
FLAG "R"
|
||||
END
|
||||
|
||||
NUMBER F_R_QLIM 15 5
|
||||
BEGIN
|
||||
PROMPT 2 9 "Q.ta' limite scagl. "
|
||||
FIELD LF_RCONDV->QLIM
|
||||
END
|
||||
|
||||
NUMBER F_R_PREZZO 18 2
|
||||
BEGIN
|
||||
PROMPT 2 10 "Prezzo "
|
||||
FIELD LF_RCONDV->PREZZO
|
||||
END
|
||||
|
||||
STRING F_R_SCONTO 25
|
||||
BEGIN
|
||||
PROMPT 35 10 "Sconto "
|
||||
FIELD LF_RCONDV->SCONTO
|
||||
FLAG "U"
|
||||
END
|
||||
|
||||
BOOLEAN F_R_ADDIVA
|
||||
BEGIN
|
||||
PROMPT 2 11 "Addebito IVA"
|
||||
FIELD LF_RCONDV->ADDIVA
|
||||
END
|
||||
|
||||
STRING F_R_CODIVA 4
|
||||
BEGIN
|
||||
PROMPT 31 11 "Codice IVA "
|
||||
FIELD LF_RCONDV->CODIVA
|
||||
FLAG "U"
|
||||
USE %IVA
|
||||
INPUT CODTAB F_R_CODIVA
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_R_CODIVA CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
NUMBER F_R_PERCPROVV 5 2
|
||||
BEGIN
|
||||
PROMPT 2 12 "Provvigione % "
|
||||
FIELD LF_RCONDV->PERCPROVV
|
||||
NUM_EXPR (#F_R_PERCPROVV>=0)&&(#F_R_PERCPROVV<=100)
|
||||
WARNING "La percentuale di provvigione deve essere compresa tra 0 e 100"
|
||||
END
|
||||
|
||||
NUMBER F_R_QOM 15 5
|
||||
BEGIN
|
||||
PROMPT 2 13 "Q.ta' sconto/omaggio "
|
||||
FIELD LF_RCONDV->QOM
|
||||
END
|
||||
|
||||
STRING F_R_UMOM 2
|
||||
BEGIN
|
||||
PROMPT 47 13 "U.M. q.ta' omaggio "
|
||||
FIELD LF_RCONDV->UMOM
|
||||
FLAG "U"
|
||||
USE LF_UMART KEY 2
|
||||
JOIN %UMS INTO CODTAB=UM
|
||||
INPUT CODART F_R_CODARTOM SELECT
|
||||
INPUT UM F_R_UMOM
|
||||
DISPLAY "U.M." UM
|
||||
DISPLAY "Desccrizione@50" %UMS->S0
|
||||
OUTPUT F_R_UMOM UM
|
||||
END
|
||||
|
||||
NUMBER F_R_QBASE 15 5
|
||||
BEGIN
|
||||
PROMPT 2 14 "Q.ta' base sconto "
|
||||
FIELD LF_RCONDV->QBASE
|
||||
END
|
||||
|
||||
STRING F_R_CODARTOM 20
|
||||
BEGIN
|
||||
PROMPT 2 15 "Codice art. omaggio "
|
||||
FIELD LF_RCONDV->CODARTOM
|
||||
FLAG "U"
|
||||
USE LF_ANAGR
|
||||
INPUT CODART F_R_CODARTOM
|
||||
DISPLAY "Articolo@20" CODART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_R_CODARTOM CODART
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
NUMBER F_R_PROMAGGIO 18 2
|
||||
BEGIN
|
||||
PROMPT 2 16 "Prezzo omaggio "
|
||||
FIELD LF_RCONDV->PROMAGGIO
|
||||
END
|
||||
|
||||
//STRINF F_R_CO_CODLOTTO 6
|
||||
//BEGIN
|
||||
//PROMPT 2 17 "Codice lotto "
|
||||
//FIELD LF_RCONDV->CODLOTTO
|
||||
//FLAG "U"
|
||||
//END
|
||||
|
||||
BOOLEAN F_R_O_ARTES
|
||||
BEGIN
|
||||
PROMPT 47 17 "Art. in esaurimento"
|
||||
FIELD LF_RCONDV->ARTES
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
#include <lffiles.h>
|
||||
#include "ve2300x.h"
|
||||
|
||||
TOOLBAR "" 0 20 60 2
|
||||
#include <toolbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Archivio righe condiz. di vendita " 0 0 70 20
|
||||
|
||||
STRING F_R_TIPO 1
|
||||
BEGIN
|
||||
PROMPT 100 100 ""
|
||||
FIELD LF_RCONDV->TIPO
|
||||
FLAG "DUP"
|
||||
KEY 1
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_R_L_CATVEN 2 // campo riservato ai listini
|
||||
BEGIN
|
||||
PROMPT 2 2 "Cat. vendita "
|
||||
FIELD LF_RCONDV->CATVEN
|
||||
FLAG "UP"
|
||||
KEY 1
|
||||
USE %CVE
|
||||
INPUT CODTAB F_R_L_CATVEN
|
||||
DISPLAY "Cat." CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_R_L_CATVEN CODTAB
|
||||
OUTPUT F_R_L_DESVEN S0
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_R_L_DESVEN 50 // campo riservato ai listini
|
||||
BEGIN
|
||||
PROMPT 23 2 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
LIST F_R_C_TIPOCF 7 // campo riservato ai contratti
|
||||
BEGIN
|
||||
PROMPT 2 1 "Tipo C/F "
|
||||
FIELD LF_RCONDV->TIPOCF
|
||||
FLAG "P"
|
||||
KEY 1
|
||||
ITEM "C|Cliente"
|
||||
ITEM "F|Fornit."
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_R_C_CODCF 6 // campo riservato ai contratti
|
||||
BEGIN
|
||||
PROMPT 2 2 "Cod. C/F "
|
||||
FIELD LF_RCONDV->CODCF
|
||||
FLAG "UP"
|
||||
KEY 1
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF F_R_C_TIPOCF
|
||||
INPUT CODCF F_R_C_CODCF
|
||||
DISPLAY "C/F" TIPOCF
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
OUTPUT F_R_C_TIPOCF TIPOCF
|
||||
OUTPUT F_R_C_CODCF CODCF
|
||||
OUTPUT F_R_C_DESCF RAGSOC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_R_C_DESCF 50 // campo riservato ai contratti
|
||||
BEGIN
|
||||
PROMPT 23 2 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
STRING F_R_L_COD 3 // campo riservato ai listini
|
||||
BEGIN
|
||||
PROMPT 2 3 "Listino "
|
||||
FIELD LF_RCONDV->COD
|
||||
FLAG "UPG"
|
||||
KEY 1
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_R_TIPO SELECT
|
||||
INPUT CATVEN F_R_L_CATVEN
|
||||
INPUT COD F_R_L_COD
|
||||
DISPLAY "C.V." CATVEN
|
||||
DISPLAY "Codice" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_R_TIPO TIPO
|
||||
OUTPUT F_R_L_CATVEN CATVEN
|
||||
OUTPUT F_R_L_COD COD
|
||||
OUTPUT F_R_L_DES DESCR
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_R_L_DES 50 // campo riservato ai contratti
|
||||
BEGIN
|
||||
PROMPT 23 3 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
NUMBER F_R_C_COD 3 // campo riservato ai contratti
|
||||
BEGIN
|
||||
PROMPT 2 3 "Contratto N. "
|
||||
FIELD LF_RCONDV->COD
|
||||
FLAG "PG"
|
||||
KEY 1
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_R_TIPO SELECT
|
||||
INPUT TIPOCF F_R_C_TIPOCF
|
||||
INPUT CODCF F_R_C_CODCF
|
||||
INPUT COD F_R_C_COD
|
||||
DISPLAY "C/F" TIPOCF
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Numero" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_R_TIPO TIPO
|
||||
OUTPUT F_R_C_TIPOCF TIPOCF
|
||||
OUTPUT F_R_C_CODCF CODCF
|
||||
OUTPUT F_R_C_COD COD
|
||||
OUTPUT F_R_C_DES DESCR
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_R_C_DES 50 // campo riservato ai listini
|
||||
BEGIN
|
||||
PROMPT 23 3 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
STRING F_R_O_COD 3 // campo riservato alle offerte
|
||||
BEGIN
|
||||
PROMPT 2 2 "Codice offerta "
|
||||
FIELD LF_RCONDV->COD
|
||||
FLAG "UPG"
|
||||
KEY 1
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_R_TIPO SELECT
|
||||
INPUT COD F_R_O_COD
|
||||
DISPLAY "Codice" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_R_TIPO TIPO
|
||||
OUTPUT F_R_O_COD COD
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_R_O_DES 50 // campo riservato alle offerte
|
||||
BEGIN
|
||||
PROMPT 2 3 "Descr. offerta "
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
LIST F_R_TIPORIGA 14
|
||||
BEGIN
|
||||
PROMPT 2 4 "Tipo riga "
|
||||
FIELD LF_RCONDV->TIPORIGA
|
||||
FLAG "P"
|
||||
KEY 1
|
||||
ITEM "A|Articolo"
|
||||
ITEM "G|Gruppo merc."
|
||||
ITEM "S|Sottogr. merc."
|
||||
ITEM "R|Ragg. fiscale"
|
||||
END
|
||||
|
||||
STRING F_R_CODRIGA_A 20
|
||||
BEGIN
|
||||
PROMPT 37 4 "Codice articolo "
|
||||
FIELD LF_RCONDV->CODRIGA
|
||||
FLAG "U"
|
||||
KEY 1
|
||||
USE LF_ANAGR
|
||||
INPUT CODART F_R_CODRIGA_A
|
||||
DISPLAY "Articolo@20" CODART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_R_CODRIGA_A CODART
|
||||
OUTPUT F_R_DESRIGA_A DESCR
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_R_DESRIGA_A 50
|
||||
BEGIN
|
||||
PROMPT 2 5 "Descrizione articolo "
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
STRING F_R_CODRIGA_G 3
|
||||
BEGIN
|
||||
PROMPT 2 5 "Gruppo merc. "
|
||||
FIELD LF_RCONDV->CODRIGA[1,3]
|
||||
FLAG "U"
|
||||
KEY 1
|
||||
USE %GMC
|
||||
INPUT CODTAB[1,3] F_R_CODRIGA_G
|
||||
DISPLAY "Gr. merc." CODTAB[1,3]
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_R_CODRIGA_G CODTAB[1,3]
|
||||
OUTPUT F_R_DESRIGA_G S0
|
||||
CHECKTYPE REQUIRED
|
||||
MESSAGE COPY,F_R_CODRIGA_A
|
||||
END
|
||||
|
||||
STRING F_R_DESRIGA_G 50
|
||||
BEGIN
|
||||
PROMPT 23 5 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
STRING F_R_CODRIGA_S 2
|
||||
BEGIN
|
||||
PROMPT 2 5 "Sottogr. merc. "
|
||||
FIELD LF_RCONDV->CODRIGA[1,2]
|
||||
FLAG "U"
|
||||
KEY 1
|
||||
USE %GMC
|
||||
INPUT CODTAB[4,5] F_R_CODRIGA_S
|
||||
DISPLAY "Sottogr. merc." CODTAB[4,5]
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_R_CODRIGA_S CODTAB[4,5]
|
||||
OUTPUT F_R_DESRIGA_S S0
|
||||
CHECKTYPE REQUIRED
|
||||
MESSAGE COPY,F_R_CODRIGA_A
|
||||
END
|
||||
|
||||
STRING F_R_DESRIGA_S 50
|
||||
BEGIN
|
||||
PROMPT 23 5 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
STRING F_R_CODRIGA_R 2
|
||||
BEGIN
|
||||
PROMPT 2 5 "Ragg.fiscale "
|
||||
FIELD LF_RCONDV->CODRIGA[1,2]
|
||||
FLAG "U"
|
||||
KEY 1
|
||||
USE %RFA
|
||||
INPUT CODTAB F_R_CODRIGA_R
|
||||
DISPLAY "Ragg. fisc." CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_R_CODRIGA_R CODTAB
|
||||
OUTPUT F_R_DESRIGA_R S0
|
||||
CHECKTYPE REQUIRED
|
||||
MESSAGE COPY,F_R_CODRIGA_A
|
||||
END
|
||||
|
||||
STRING F_R_DESRIGA_R 50
|
||||
BEGIN
|
||||
PROMPT 23 5 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
STRING F_R_NSCAGL 1
|
||||
BEGIN
|
||||
PROMPT 2 7 "N.ro scaglione "
|
||||
FIELD LF_RCONDV->NSCAGL
|
||||
KEY 1
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_R_UM 2
|
||||
BEGIN
|
||||
PROMPT 28 7 "U.M. "
|
||||
FIELD LF_RCONDV->UM
|
||||
FLAG "U"
|
||||
KEY 1
|
||||
USE LF_UMART KEY 2
|
||||
JOIN %UMS INTO CODTAB=UM
|
||||
INPUT CODART F_R_CODRIGA_A SELECT
|
||||
INPUT UM F_R_UM
|
||||
DISPLAY "U.M." UM
|
||||
DISPLAY "Desccrizione@50" %UMS->S0
|
||||
OUTPUT F_R_UM UM
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_R_L_RICERCA 1 // campo di aggancio per la ricerca sui listini, nascosto
|
||||
BEGIN
|
||||
PROMPT 100 100 ""
|
||||
FLAG "D"
|
||||
USE LF_RCONDV SELECT (TIPO==#F_R_TIPO)&&(CATVEN==#F_R_L_CATVEN)&&(COD==#F_R_L_COD)
|
||||
//INPUT TIPO F_R_TIPO SELECT
|
||||
//INPUT CATVEN F_R_L_CATVEN
|
||||
//INPUT COD F_R_L_COD
|
||||
INPUT TIPORIGA F_R_TIPORIGA
|
||||
INPUT CODRIGA F_R_CODRIGA_A
|
||||
INPUT UM F_R_UM
|
||||
INPUT NSCAGL F_R_NSCAGL
|
||||
DISPLAY "Tipo" TIPORIGA
|
||||
DISPLAY "Codice@20" CODRIGA
|
||||
DISPLAY "U.M." UM
|
||||
DISPLAY "N.S." NSCAGL
|
||||
OUTPUT F_R_TIPORIGA TIPORIGA
|
||||
OUTPUT F_R_CODRIGA_R CODRIGA[1,2]
|
||||
OUTPUT F_R_CODRIGA_S CODRIGA[1,2]
|
||||
OUTPUT F_R_CODRIGA_G CODRIGA[1,3]
|
||||
OUTPUT F_R_CODRIGA_A CODRIGA
|
||||
OUTPUT F_R_UM UM
|
||||
OUTPUT F_R_NSCAGL NSCAGL
|
||||
END
|
||||
|
||||
STRING F_R_C_RICERCA 1 // campo di aggancio per la ricerca sui contratti, nascosto
|
||||
BEGIN
|
||||
PROMPT 100 100 ""
|
||||
FLAG "D"
|
||||
USE LF_RCONDV SELECT (TIPO==#F_R_TIPO)&&(TIPOCF==#F_R_C_TIPOCF)&&(CODCF==#F_R_C_CODCF)&&(COD==#F_R_L_COD)
|
||||
//INPUT TIPO F_R_TIPO SELECT
|
||||
//INPUT TIPOCF F_R_C_TIPOCF
|
||||
//INPUT CODCF F_R_C_CODCF
|
||||
//INPUT COD F_R_C_COD
|
||||
INPUT TIPORIGA F_R_TIPORIGA
|
||||
INPUT CODRIGA F_R_CODRIGA_A
|
||||
INPUT NSCAGL F_R_NSCAGL
|
||||
DISPLAY "Tipo" TIPORIGA
|
||||
DISPLAY "Codice@20" CODRIGA
|
||||
DISPLAY "N.S." NSCAGL
|
||||
OUTPUT F_R_TIPORIGA TIPORIGA
|
||||
OUTPUT F_R_CODRIGA_R CODRIGA[1,2]
|
||||
OUTPUT F_R_CODRIGA_S CODRIGA[1,2]
|
||||
OUTPUT F_R_CODRIGA_G CODRIGA[1,3]
|
||||
OUTPUT F_R_CODRIGA_A CODRIGA
|
||||
OUTPUT F_R_NSCAGL NSCAGL
|
||||
END
|
||||
|
||||
STRING F_R_O_RICERCA 1 // campo di aggancio per la ricerca sulle offerte, nascosto
|
||||
BEGIN
|
||||
PROMPT 100 100 ""
|
||||
FLAG "D"
|
||||
USE LF_RCONDV SELECT (TIPO==#F_R_TIPO)&&(COD==#F_R_L_COD)
|
||||
//INPUT TIPO F_R_TIPO SELECT
|
||||
//INPUT COD F_R_O_COD
|
||||
INPUT TIPORIGA F_R_TIPORIGA
|
||||
INPUT CODRIGA F_R_CODRIGA_A
|
||||
INPUT UM F_R_UM
|
||||
INPUT NSCAGL F_R_NSCAGL
|
||||
DISPLAY "Tipo" TIPORIGA
|
||||
DISPLAY "Codice@20" CODRIGA
|
||||
DISPLAY "U.M." UM
|
||||
DISPLAY "N.S." NSCAGL
|
||||
OUTPUT F_R_TIPORIGA TIPORIGA
|
||||
OUTPUT F_R_CODRIGA_R CODRIGA[1,2]
|
||||
OUTPUT F_R_CODRIGA_S CODRIGA[1,2]
|
||||
OUTPUT F_R_CODRIGA_G CODRIGA[1,3]
|
||||
OUTPUT F_R_CODRIGA_A CODRIGA
|
||||
OUTPUT F_R_UM UM
|
||||
OUTPUT F_R_NSCAGL NSCAGL
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 9 // fine della chiave
|
||||
BEGIN
|
||||
PROMPT 0 0 ""
|
||||
FLAG "R"
|
||||
END
|
||||
|
||||
NUMBER F_R_QLIM 15 5
|
||||
BEGIN
|
||||
PROMPT 2 9 "Q.ta' limite scagl. "
|
||||
FIELD LF_RCONDV->QLIM
|
||||
END
|
||||
|
||||
NUMBER F_R_PREZZO 18 2
|
||||
BEGIN
|
||||
PROMPT 2 10 "Prezzo "
|
||||
FIELD LF_RCONDV->PREZZO
|
||||
END
|
||||
|
||||
STRING F_R_SCONTO 25
|
||||
BEGIN
|
||||
PROMPT 35 10 "Sconto "
|
||||
FIELD LF_RCONDV->SCONTO
|
||||
FLAG "U"
|
||||
END
|
||||
|
||||
BOOLEAN F_R_ADDIVA
|
||||
BEGIN
|
||||
PROMPT 2 11 "Addebito IVA"
|
||||
FIELD LF_RCONDV->ADDIVA
|
||||
END
|
||||
|
||||
STRING F_R_CODIVA 4
|
||||
BEGIN
|
||||
PROMPT 31 11 "Codice IVA "
|
||||
FIELD LF_RCONDV->CODIVA
|
||||
FLAG "U"
|
||||
USE %IVA
|
||||
INPUT CODTAB F_R_CODIVA
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_R_CODIVA CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
NUMBER F_R_PERCPROVV 5 2
|
||||
BEGIN
|
||||
PROMPT 2 12 "Provvigione % "
|
||||
FIELD LF_RCONDV->PERCPROVV
|
||||
NUM_EXPR (#F_R_PERCPROVV>=0)&&(#F_R_PERCPROVV<=100)
|
||||
WARNING "La percentuale di provvigione deve essere compresa tra 0 e 100"
|
||||
END
|
||||
|
||||
NUMBER F_R_QOM 15 5
|
||||
BEGIN
|
||||
PROMPT 2 13 "Q.ta' sconto/omaggio "
|
||||
FIELD LF_RCONDV->QOM
|
||||
END
|
||||
|
||||
STRING F_R_UMOM 2
|
||||
BEGIN
|
||||
PROMPT 47 13 "U.M. q.ta' omaggio "
|
||||
FIELD LF_RCONDV->UMOM
|
||||
FLAG "U"
|
||||
USE LF_UMART KEY 2
|
||||
JOIN %UMS INTO CODTAB=UM
|
||||
INPUT CODART F_R_CODARTOM SELECT
|
||||
INPUT UM F_R_UMOM
|
||||
DISPLAY "U.M." UM
|
||||
DISPLAY "Desccrizione@50" %UMS->S0
|
||||
OUTPUT F_R_UMOM UM
|
||||
END
|
||||
|
||||
NUMBER F_R_QBASE 15 5
|
||||
BEGIN
|
||||
PROMPT 2 14 "Q.ta' base sconto "
|
||||
FIELD LF_RCONDV->QBASE
|
||||
END
|
||||
|
||||
STRING F_R_CODARTOM 20
|
||||
BEGIN
|
||||
PROMPT 2 15 "Codice art. omaggio "
|
||||
FIELD LF_RCONDV->CODARTOM
|
||||
FLAG "U"
|
||||
USE LF_ANAGR
|
||||
INPUT CODART F_R_CODARTOM
|
||||
DISPLAY "Articolo@20" CODART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_R_CODARTOM CODART
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
NUMBER F_R_PROMAGGIO 18 2
|
||||
BEGIN
|
||||
PROMPT 2 16 "Prezzo omaggio "
|
||||
FIELD LF_RCONDV->PROMAGGIO
|
||||
END
|
||||
|
||||
//STRINF F_R_CO_CODLOTTO 6
|
||||
//BEGIN
|
||||
//PROMPT 2 17 "Codice lotto "
|
||||
//FIELD LF_RCONDV->CODLOTTO
|
||||
//FLAG "U"
|
||||
//END
|
||||
|
||||
BOOLEAN F_R_O_ARTES
|
||||
BEGIN
|
||||
PROMPT 47 17 "Art. in esaurimento"
|
||||
FIELD LF_RCONDV->ARTES
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
11
ve/ve3.cpp
11
ve/ve3.cpp
@ -3,22 +3,19 @@
|
||||
#include <xvt.h>
|
||||
|
||||
//extern int ve3100(int argc, char* argv[]); // stampa tabelle sconti (di riga/di documento/incondizionati)
|
||||
extern int ve3200(int argc, char* argv[]); // stampa testate listini/contratti/offerte
|
||||
//extern int ve3300(int argc, char* argv[]); // stampa righe listini/contratti/offerte
|
||||
extern int ve3400(int argc, char* argv[]); // stampa anagrafica di magazzino
|
||||
extern int ve3200(int argc, char **argv); // stampa testate listini/contratti/offerte
|
||||
extern int ve3400(int argc, char **argv); // stampa anagrafica di magazzino
|
||||
|
||||
|
||||
|
||||
int main( int argc, char** argv) {
|
||||
int main(int argc, char **argv) {
|
||||
int rt= -1;
|
||||
const int r= (argc>1)?(atoi(&argv[1][1])):(-1);
|
||||
|
||||
switch (r) {
|
||||
//case 0: rt = ve3100(argc, argv); break;
|
||||
case 1: rt = ve3200(argc, argv); break;
|
||||
//case 2: rt = ve3300(argc, argv); break;
|
||||
case 3: rt = ve3400(argc, argv); break;
|
||||
default: error_box("Sintassi: %s -[0 [R|D|I] | 1 [L|C|O] | 2 [L|C|O] | 3]", argv[0]); break;
|
||||
default: error_box("Sintassi: %s -[0 [R|D|I] | 1 [L|C|O] | 3]", argv[0]); break;
|
||||
}
|
||||
return (rt);
|
||||
}
|
||||
|
352
ve/ve3200.cpp
352
ve/ve3200.cpp
@ -1,54 +1,98 @@
|
||||
|
||||
#include <printapp.h>
|
||||
#include <mask.h>
|
||||
#include <config.h>
|
||||
#include <execp.h>
|
||||
#include <mailbox.h>
|
||||
|
||||
#include "veconf.h"
|
||||
#include "ve3200.h"
|
||||
|
||||
|
||||
|
||||
#define UMS1 201
|
||||
#define UMS2 202
|
||||
#define RCONDV_APP "ve2 -2"
|
||||
|
||||
#define DESTROY(x) { mask.field(x).reset_key(1); mask.hide(x); }
|
||||
#define KILL(x) { mask.field(x).reset_key(1); mask.disable(x); }
|
||||
|
||||
|
||||
// !! Manca la gestione della maschera di selezione del tipo di archivio nel caso non sia
|
||||
// specificato sulla linea di comando
|
||||
// !! Manca la gestione della maschera di filtro (con i relativi handler sui vari tipi di
|
||||
// abilitazioni incrociate)
|
||||
// !! Manca la selezione del file in corso di stampa nella set_page() e la relativa impostazione
|
||||
// della pagina
|
||||
// !! Manca la creazione della struttura della stampa dei dati
|
||||
// !! Manca tutto il resto!
|
||||
#define CVE 201
|
||||
#define VAL 202
|
||||
#define UMS1 203
|
||||
#define UMS2 204
|
||||
|
||||
|
||||
|
||||
class TStampa_condizioni_vendita: public TPrint_application {
|
||||
TRelation *_rel; // relazione principale
|
||||
TString16 _condven; // stringa che indica il tipo di archivio
|
||||
bool _codlis_catven; // booleano di abilitazione della categoria di vendita nella chiave dei listini
|
||||
bool _listval; // booleano di abilitazione della stampa dei listini in valuta
|
||||
bool _testacomp, _righecomp; // booleani di selezione della stampa completa per testata e righe;
|
||||
bool _gest_val, _gest_um, _gest_sca, _gest_so; // booleani per l'abilitazione di valute, unità di misura, scaglioni e sconti/omaggi
|
||||
int _rcondv_link_id; // id del link ipertestuale all'anagrafica di magazzino
|
||||
protected:
|
||||
virtual bool user_create(void);
|
||||
virtual bool user_destroy(void);
|
||||
virtual bool set_print(int);
|
||||
virtual void set_page(int, int);
|
||||
virtual void preprocess_header(void);
|
||||
virtual void process_link(int, const char *);
|
||||
//virtual void process_link(int, const char *);
|
||||
};
|
||||
|
||||
|
||||
|
||||
bool TStampa_condizioni_vendita::user_create() {
|
||||
_rel= new TRelation(LF_CONDV); // crea la relazione principale
|
||||
_rel->add(LF_RCONDV, "TIPO==TIPO|CATVEN==CATVEN|TIPOCF==TIPOCF|CODCF==CODCF|COD==COD");
|
||||
_rel->add("%CVE", "CODTAB==CATVEN");
|
||||
_rel->add(LF_CLIFO, "TIPOCF==TIPOCF|CODCF==CODCF");
|
||||
_rel->add("%VAL", "CODTAB==CODVAL");
|
||||
_rel->add("%UMS", "CODTAB==UM", 1, LF_RCONDV, UMS1);
|
||||
_rel->add("%UMS", "CODTAB==UMOM", 1, LF_RCONDV, UMS2);
|
||||
add_cursor(new TCursor(_rel)); // costruisce il cursore sulla relazione e lo passa alla stampa
|
||||
add_file(LF_CONDV); // notifica il file della testata alla stampa
|
||||
add_file(LF_RCONDV); // notifica il file delle righe alla stampa
|
||||
enable_print_menu(); // abilita il menù di stampa
|
||||
enable_setprint_menu(); // abilita il menù di settaggio della stampa
|
||||
return TRUE;
|
||||
bool gotcha= FALSE; // booleano di avvenuta inizializzazione
|
||||
int indice; // indice delle variabili di configurazione per le abilitazioni
|
||||
_condven= "*"; // inizializzazione dell'indicatore del tipo di archivio
|
||||
if (argc()>2) _condven= argv(2); // se c'è, prende il tipo di archivio dalla linea di comando
|
||||
else {
|
||||
TMask choose("ve3200"); // istanzia la maschera di scelta del tipo di archivio
|
||||
if (choose.run() == K_ENTER) _condven= choose.get(F_TIPOCV); // prende il tipo di archivio dalla maschera
|
||||
}
|
||||
_condven.upper(); // rende la stringa upper-case
|
||||
TConfig prassid(CONFIG_DITTA, "ve"); // apre il file di configurazione della ditta corrente
|
||||
switch (_condven[0]) {
|
||||
case 'L': // listini
|
||||
indice= A_LISTINI; // setta l'indice dell'archivio listini
|
||||
if (!(prassid.get_bool("GES", NULL, indice))) error_box("L'archivio Listini non è abilititato"); // controlla che l'archivio listini sia abilitato
|
||||
else {
|
||||
_codlis_catven= prassid.get_bool("CODLISCV"); // setta il booleano di abilitazione delle categoria di vendita
|
||||
gotcha= TRUE;
|
||||
}
|
||||
break;
|
||||
case 'C': // contratti
|
||||
indice= A_CONTRATTI; // setta l'indice dell'archivio contratti
|
||||
if (!(prassid.get_bool("GES", NULL, indice))) error_box("L'archivio Contratti non è abilititato"); // controlla che l'archivio contratti sia abilitato
|
||||
else gotcha= TRUE;
|
||||
break;
|
||||
case 'O': // offerte
|
||||
indice= A_OFFERTE; // setta l'indice dell'archivio offerte
|
||||
if (!(prassid.get_bool("GES", NULL, indice))) error_box("L'archivio Offerte non è abilititato"); // controlla che l'archivio offerte sia abilitato
|
||||
else gotcha= TRUE;
|
||||
break;
|
||||
default: // messaggio di errore se si indica un archivio non valido
|
||||
error_box("Indicare l'archivio sulla linea di comando (L, C o O) oppure selezionarla dalla maschera di partenza");
|
||||
break;
|
||||
}
|
||||
if (gotcha) { // se è stato selezionato correttamente un archivio completa l'inizializzazione
|
||||
_gest_um= prassid.get_bool("GESUM", NULL, indice); // setta il booleano di abilitazione delle unità di misura
|
||||
_gest_sca= prassid.get_bool("GESSCA", NULL, indice); // setta il booleano di abilitazione degli scaglioni
|
||||
_gest_so= prassid.get_bool("GESSO", NULL, indice); // setta il booleano di abilitazione degli sconti/omaggi
|
||||
_gest_val= prassid.get_bool("GESVAL"); // legge il booleano di abilitazione della gestione delle valute
|
||||
_rel= new TRelation(LF_RCONDV); // crea la relazione principale
|
||||
_rel->add(LF_CONDV, "TIPO==TIPO|CATVEN==CATVEN|TIPOCF==TIPOCF|CODCF==CODCF|COD==COD");
|
||||
_rel->add("%CVE", "CODTAB==CATVEN", 1, LF_CONDV, CVE);
|
||||
_rel->add(LF_CLIFO, "TIPOCF==TIPOCF|CODCF==CODCF", 1, LF_CONDV);
|
||||
_rel->add("%VAL", "CODTAB==CODVAL", 1, LF_CONDV, VAL);
|
||||
_rel->add("%UMS", "CODTAB==UM", 1, LF_RCONDV, UMS1);
|
||||
_rel->add("%UMS", "CODTAB==UMOM", 1, LF_RCONDV, UMS2);
|
||||
add_cursor(new TCursor(_rel)); // costruisce il cursore sulla relazione e lo passa alla stampa
|
||||
add_file(LF_RCONDV); // notifica il file delle righe alla stampa
|
||||
enable_print_menu(); // abilita il menù di stampa
|
||||
enable_setprint_menu(); // abilita il menù di settaggio della stampa
|
||||
}
|
||||
return (gotcha);
|
||||
}
|
||||
|
||||
bool TStampa_condizioni_vendita::user_destroy() {
|
||||
@ -57,150 +101,160 @@ bool TStampa_condizioni_vendita::user_destroy() {
|
||||
}
|
||||
|
||||
bool TStampa_condizioni_vendita::set_print(int) {
|
||||
TMask mask("ve3200x"); // istanzia la maschera di selezione del filtro di stampa
|
||||
TMask mask("ve3200x");
|
||||
mask.set(F_TIPO, _condven); // settaggio del campo di tipo archivio
|
||||
switch (_condven[0]) {
|
||||
case 'L': // listini
|
||||
DESTROY(F_C_COD); // eliminazione campi di altri archivi
|
||||
DESTROY(F_C_TIPOCF);
|
||||
DESTROY(F_C_CODCF);
|
||||
DESTROY(F_O_COD);
|
||||
if (!_codlis_catven) KILL(F_L_CATVEN); // disabilita condizionalmente le categorie di vendita
|
||||
if (!_gest_val) KILL(F_L_LISTVALUTA); // disabilita condizionalmente la gestione delle valute
|
||||
break;
|
||||
case 'C': // contratti
|
||||
DESTROY(F_L_COD); // settaggio dei campi da eliminare
|
||||
DESTROY(F_L_CATVEN);
|
||||
DESTROY(F_L_LISTVALUTA);
|
||||
DESTROY(F_O_COD);
|
||||
break;
|
||||
case 'O': // offerte
|
||||
DESTROY(F_L_COD); // settaggio dei campi da eliminare
|
||||
DESTROY(F_L_CATVEN);
|
||||
DESTROY(F_L_LISTVALUTA);
|
||||
DESTROY(F_C_TIPOCF);
|
||||
DESTROY(F_C_CODCF);
|
||||
DESTROY(F_C_COD);
|
||||
break;
|
||||
}
|
||||
if (mask.run()== K_ENTER) { // lancia la maschera, se viene confermata vengono trovati gli estremi del cursore
|
||||
|
||||
/* TLocalisamfile &anagr= _rel->lfile(); // prende il file principale
|
||||
TRectype da(anagr.curr()), a(anagr.curr()); // prende due copie del record del file principale
|
||||
da.zero(); // azzera il record di inizio
|
||||
a.zero(); // azzera il record di fine
|
||||
if (mask.get(F_CODART_1).not_empty()) { // se il campo "dall'articolo..." non è vuoto viene trovato il record di inizio
|
||||
anagr.zero(); // svuota il record corrente
|
||||
anagr.put("CODART", mask.get(F_CODART_1)); // compone la chiave
|
||||
if (anagr.read()== NOERR) da= anagr.curr(); // si posiziona, se il record esiste il record iniziale viene riempito
|
||||
}
|
||||
if (mask.get(F_CODART_2).not_empty()) { // se il campo "all'articolo..." non è vuoto viene trovato il record di fine
|
||||
anagr.zero(); // svuota il record corrente
|
||||
anagr.put("CODART", mask.get(F_CODART_2)); // compone la chiave
|
||||
if (anagr.read()== NOERR) a= anagr.curr(); // si posiziona, se il record esiste il record finale viene riempito
|
||||
}
|
||||
current_cursor()->setregion(da, a); // viene settata la regione del cursore
|
||||
if (_st_umart) { // se la stampa delle unità di misura è abilitata vengono aperti i file relativi
|
||||
_umart= new TLocalisamfile(LF_UMART); // crea il file sulle unità di misura dell'articolo
|
||||
_arr_umart= new TRecord_array(LF_UMART, "NRIGA"); // crea il record array sulle unità di misura degli articoli
|
||||
}
|
||||
if (_st_codcorr) { // se la stampa dei codici corrispondenti è abilitata vengono aperti i file relativi
|
||||
_codcorr= new TLocalisamfile(LF_CODCORR); // crea il file con i codici corrispondenti dell'articolo
|
||||
_arr_codcorr= new TRecord_array(LF_CODCORR, "NRIGA"); // crea il record array sui codici corrispondenti
|
||||
}
|
||||
force_setpage(); // forza il lancio della set_page() ad ogni record del file da stampare
|
||||
disable_links(); // disabilita tutti i link ipertestuali
|
||||
_anagr_link_id= enable_link("Collegamento a anagrafica di magazzino", 'g'); // abilita il collegamento all'anagrafica di magazzino
|
||||
*/
|
||||
_listval= mask.get_bool(F_L_LISTVALUTA); // legge lo stato del checkbox di abilitazione dei listini in valuta
|
||||
_testacomp= mask.get_bool(F_TESTACOMP); // legge l'abilitazione della stampa completa della testata
|
||||
_righecomp= mask.get_bool(F_RIGHECOMP); // legge l'abilitazione della stampa completa delle righe
|
||||
TLocalisamfile &rcondv= _rel->lfile(); // prende il file principale
|
||||
TString filtro;
|
||||
filtro << "(TIPO==\"" << _condven << "\")";
|
||||
switch (_condven[0]) { // impostazione della chiave della testata
|
||||
case 'L': // listini
|
||||
if (_codlis_catven) filtro << "&&(CATVEN==\"" << mask.get(F_L_CATVEN) << "\")";
|
||||
filtro << "&&(COD==\"" << mask.get(F_L_COD) << "\")";
|
||||
break;
|
||||
case 'C': // contratti
|
||||
filtro << "&&(TIPOCF==\"" << mask.get(F_C_TIPOCF) << "\")";
|
||||
filtro << "&&(CODCF==\"" << mask.get(F_C_CODCF) << "\")";
|
||||
filtro << "&&(COD==\"" << mask.get(F_C_COD) << "\")";
|
||||
break;
|
||||
case 'O': // offerte
|
||||
filtro << "&&(COD==\"" << mask.get(F_O_COD) << "\")";
|
||||
break;
|
||||
}
|
||||
if (!(mask.get_bool(F_TUTTERIGHE))) {
|
||||
filtro << "&&(TIPORIGA==\"" << mask.get(F_TIPORIGHE) << "\")";
|
||||
filtro << "&&(CODRIGA>=\"" << mask.get(F_DARIGA_A) << "\")";
|
||||
filtro << "&&(CODORIGA<=\"" << mask.get(F_ARIGA_A) << "\")";
|
||||
}
|
||||
current_cursor()->setfilter(filtro);
|
||||
force_setpage(); // forza il lancio della set_page() ad ogni record del file da stampare
|
||||
disable_links(); // disabilita tutti i link ipertestuali
|
||||
// _rcondv_link_id= enable_link("Collegamento a righe condizioni di vendita", 'g'); // abilita il collegamento
|
||||
return TRUE;
|
||||
} else return FALSE;
|
||||
}
|
||||
|
||||
/* 1 1 1 1
|
||||
1 2 3 4 5 6 7 8 9 0 1 2 3
|
||||
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012
|
||||
1 2 3 4 5 6 7 8 9 0 1 2 3
|
||||
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012
|
||||
CF CODCF CV COD DESCR VALIN VALFIN IL UM SC SO ST OB SUC SEQ
|
||||
. ...... .. ... .................................................. ..-..-.. ..-..-.. . . . . . . ... ...
|
||||
CVA CAMBIO DATACAM
|
||||
... ...............,..... ..-..-..
|
||||
*/
|
||||
|
||||
*/
|
||||
|
||||
void TStampa_condizioni_vendita::preprocess_header()
|
||||
{
|
||||
|
||||
|
||||
/*reset_header(); // l'header viene resettato
|
||||
int i= 1; // contatore delle linee
|
||||
set_header(i, "@125gPag @#"); // la prima linea contiene, sicuramente, il numero di pagina
|
||||
const long firm= get_firm(); // legge l'id della ditta corrente
|
||||
TLocalisamfile ditte(LF_NDITTE); // apre il file ditte
|
||||
ditte.zero(); // vuota il record
|
||||
ditte.put("CODDITTA", firm); // riempie la chiave
|
||||
if (ditte.read()== NOERR) { // se il record della ditta viene trovato viene settato l'header
|
||||
const TString &s= ditte.get("RAGSOC"); // legge la ragione sociale della ditta
|
||||
set_header(i, "Ditta %ld %s", firm, (const char *)s); // setta il nome e l'id della ditta della prima linea dell'header
|
||||
}
|
||||
set_header(++i, "Codice articolo@22gT@24gDescrizione@75gGrMer@81gDescrizione gruppo merceologico"); // setta la linea successiva dell'header
|
||||
if (_st_umart || _st_codcorr) set_header(++i, ""); // crea una linea vuota se almeno una stampa condizionale è abilitata
|
||||
if (_st_codcorr) set_header(i, "Cod. art. altern."); // se è abilitata la stampa dei codici corrispondenti l'header lo indica
|
||||
if (_st_umart) set_header(i, "@50gUM@53gFatt. conv."); // se è abilitata la stampa delle unità di misura l'header lo indica
|
||||
set_header(++i, "Forn.@7gRagione sociale@58gCosto standard@83gPeso@105gTara"); // la linea successiva contiene il fornitore e altri dati
|
||||
if (_st_umart) set_header(i, "@80gUP"); // su questa linea viene indicata anche l'unità di misura del peso (se abilitata)
|
||||
set_header(++i, "Pezzi x conf.@23gPezzi x collo@45gAR@48gRD"); // l'ultima linea d'header contiene i pezzi per confezione e altri dati
|
||||
if (_st_fisc) set_header(i, "@51gAF@54gRagFs@60gC@62gCCA@66gGrA@70gCnA@74gSottCA@81gCCV@85gGrV@89gCnV@93gSottCV@100gClasseDog@111gIva@116gIvaR"); // aggiunge i dati fiscali sull'ultima linea
|
||||
set_header(++i, ""); // aggiunge due linee vuote
|
||||
set_header(++i, "");
|
||||
*/
|
||||
/* 1 1 1 1
|
||||
1 2 3 4 5 6 7 8 9 0 1 2 3
|
||||
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012
|
||||
T CODRIGA UM S QLIM PREZZO SCONTO A CIVA PERCPROV
|
||||
. .................... .. . ...............,..... ..................,.. ......................... . .... .....,..
|
||||
UO QOM QBASE CODARTOM PROMAGGIO CODLOT E
|
||||
.. ...............,..... ...............,..... .................... ..................,.. ...... .
|
||||
*/
|
||||
|
||||
void TStampa_condizioni_vendita::preprocess_header() {
|
||||
reset_header(); // l'header viene resettato
|
||||
int i= 1; // contatore delle linee
|
||||
set_header(i, "@125gPag @#"); // la prima linea contiene, sicuramente, il numero di pagina
|
||||
const long firm= get_firm(); // legge l'id della ditta corrente
|
||||
TLocalisamfile ditte(LF_NDITTE); // apre il file ditte
|
||||
ditte.zero(); // vuota il record
|
||||
ditte.put("CODDITTA", firm); // riempie la chiave
|
||||
if (ditte.read()== NOERR) { // se il record della ditta viene trovato viene settato l'header
|
||||
const TString &s= ditte.get("RAGSOC"); // legge la ragione sociale della ditta
|
||||
set_header(i, "Ditta %ld %s", firm, (const char *)s); // setta il nome e l'id della ditta della prima linea dell'header
|
||||
}
|
||||
if ((get_page_number()==1) && (!_testacomp)) { // se siamo sulla prima pagina si stampa la testata
|
||||
set_header(++i, "@14gCod @18gDescrizione @69gVal. dal @78gal @87gIL @90gUM @93gSC @96gSO @99gST @109gSeq"); // setta l'header del codice, della descrizione, della validità, dei booleani, ecc.
|
||||
if ((_condven=="L") && _codlis_catven) set_header(i, "@11gCV"); // setta l'header della categoria di vendita
|
||||
if (_condven=="C") set_header(i, "CF @4gCod.CF @102gOB"); // setta l'header di clienti/fornitori e di contratto obbligatorio
|
||||
if ((_condven=="L") || (_condven=="C")) set_header(i, "@105gSuc"); // setta l'header per il codice di listino successivo
|
||||
if (_gest_val) set_header(++i, "Val @5gCambio @27gData cambio"); // setta l'header del codice e della descrizione
|
||||
set_header(++i, ""); // salta una riga
|
||||
}
|
||||
if (!_righecomp) {
|
||||
set_header(++i, "T @2gCodice riga @27gS @29gQuantita' limite @51gPrezzo @73gSconto @99gA @101gIVA @106gProvvig."); // setta l'header della chiave, della quantità limite e del prezzo
|
||||
if ((_condven=="L") || (_condven=="O")) set_header(i, "@24gUM"); // setta l'header dell'unità di misura
|
||||
set_header(++i, "UMO @5gQuantita' omaggio @27gQuantita' base @49gCod. art. omagg. @70gPrezzo omaggio"); // setta l'header dello sconto/omaggio
|
||||
if ((_condven=="C") || (_condven=="O")) set_header(i, "@92gLotto"); // setta l'header del lotto
|
||||
if (_condven=="O") set_header(i, "@99gEsaur."); // setta l'header dell'articolo in esaurimento
|
||||
}
|
||||
set_header(++i, ""); // aggiunge due linee vuote
|
||||
set_header(++i, "");
|
||||
}
|
||||
|
||||
void TStampa_condizioni_vendita::set_page(int file, int) {
|
||||
|
||||
/*if (file== LF_ANAGR) { // se il file in stampa non è il file principale non c'è nulla da fare
|
||||
TLocalisamfile &anagr= _rel->lfile(); // prende il riferimento al file principale
|
||||
set_row(1, "$[g]@20s$[n]@22g@1s@24g@50s@75g@5s@81g@50s", FLD(LF_ANAGR, "CODART"), FLD(LF_ANAGR, "TIPO"), FLD(LF_ANAGR, "DESCR"), FLD(LF_ANAGR, "GRMERC1"), FLD(-GMC1, "S0")); // imposta la prima linea di dati
|
||||
int n_codcorr= 0, n_umart= 0, n_gmc= (anagr.get("GRMERC2").not_empty())?(1):(0)+(anagr.get("GRMERC3").not_empty())?(1):(0); // legge il numero di gruppi merc.
|
||||
if (_st_codcorr) { // se è abilitata la stampa dei codici corrispondenti viene letto il numero di codici presenti, altrimenti viene lasciato a 0
|
||||
_codcorr->zero(); // il record corrente del file dei codici corrispondenti viene vuotato
|
||||
_codcorr->put("CODART", anagr.get("CODART")); // viene composta la chiave
|
||||
_arr_codcorr->read(_codcorr->curr()); // il record array dei codici viene caricato
|
||||
n_codcorr= _arr_codcorr->rows(); // viene settato il numero di codici trovato
|
||||
}
|
||||
if (_st_umart) { // se è abilitata la stampa delle unità di misura viene letto il numero di unità di mis. da stampare, altrimenti viene lasciato a 0
|
||||
_umart->zero(); // il record corrente del file delle unità di misura viene vuotato
|
||||
_umart->put("CODART", anagr.get("CODART")); // viene composta la chiave
|
||||
_arr_umart->read(_umart->curr()); // il record array delle unità di misura viene caricato
|
||||
n_umart= _arr_umart->rows(); // viene settato il numero di unità di misura trovate
|
||||
}
|
||||
int n_max= max3(n_gmc, n_codcorr, n_umart); // viene trovato il maggiore dei tre contatori (gruppi merc., unità di mis. e codici corrisp.)
|
||||
for (int i=1; i<=n_max; i++) { // ciclo sul maggiore dei contatori
|
||||
set_row(i+1, ""); // vuota la linea di stampa corrente
|
||||
if (i<=n_codcorr) { // se ci sono ancora codici corrispondenti gli spazi relativi della riga vengono riempiti
|
||||
TString codartalt(_arr_codcorr->row(i, FALSE).get("CODARTALT")); // legge il codice corrispondente dell'articolo
|
||||
TString tipo(_arr_codcorr->row(i, FALSE).get("TIPO")); // legge il tipo
|
||||
set_row(i+1, "@1g%-20s@22g%1s@24gCodice alternativo", (const char *)codartalt, (const char *)tipo); // setta gli spazi della riga con i valori letti
|
||||
}
|
||||
if (i<=n_umart) { // se ci sono ancora unità di misura gli spazi relativi della riga vengono riempiti
|
||||
TString um(_arr_umart->row(i, FALSE).get("UM")); // legge l'id dell'unità di misura
|
||||
real fc(_arr_umart->row(i, FALSE).get_real("FC")); // legge il suo fattore di conversione
|
||||
set_row(i+1, "@50g%-2s@53g%-s", (const char *)um, fc.string(10, 5)); // setta gli spazi della riga con i valori letti
|
||||
}
|
||||
if (i<=n_gmc) { // se ci sono ancora gruppi merceologici gli spazi relativi della riga vengono riempiti
|
||||
TString grmerc, descr; // istanzia le due variabili per codice del gruppo e descrizione
|
||||
if (i==1) { // se è il primo deve essere letto dal secondo campo GRMERC del file dell'anagrafica
|
||||
grmerc= anagr.get("GRMERC2"); // legge il codice del gruppo
|
||||
descr= _rel->lfile(-GMC2).get("S0"); // legge la sua descrizione dalla tabella
|
||||
} else { // se è il secondo deve essere letto dal terzo campo GRMERC del file dell'anagrafica
|
||||
grmerc= anagr.get("GRMERC3"); // legge il codice del gruppo
|
||||
descr= _rel->lfile(-GMC3).get("S0"); // legge la sua descriziona dalla tabella
|
||||
}
|
||||
set_row(i+1, "@75g%-5s@81g%-50s", (const char *)grmerc, (const char *)descr);
|
||||
}
|
||||
}
|
||||
set_row(n_max+2, "@5s@7g@50s@58g@15.5n@83g@15.5n@105g@15.5n", FLD(LF_ANAGR, "CODFORN"), FLD(LF_CLIFO, "RAGSOC"), FLD(LF_ANAGR, "COSTSTD"), FLD(LF_ANAGR, "PESO"), FLD(LF_ANAGR, "TARA")); // imposta la penultima linea
|
||||
if (_st_umart) set_row(n_max+2, "@80g@2s", FLD(LF_ANAGR, "UMP")); // se è abilitata la stampa delle unità di misura aggiunge l'u.m. del peso
|
||||
set_row(n_max+3, "@15.5n@23g@15.5n@45g@f@48g@f", FLD(LF_ANAGR, "PPCONF"), FLD(LF_ANAGR, "PPCOLLO"), FLD(LF_ANAGR, "ARTPROD"), FLD(LF_ANAGR, "RIORDINO")); // imposta l'ultima linea
|
||||
if (_st_fisc) set_row(n_max+3, "@51g@f@54g@5s@60g@1s@62g@3s@66g@3n@70g@3n@74g@6n@81g@3s@85g@3n@89g@3n@93g@6n@100g@10s@111g@4s@116g@4s", // imposta i dati fiscali sull'ultima linea
|
||||
FLD(LF_ANAGR, "ARTFIS"), FLD(LF_ANAGR, "RAGGFIS"), FLD(LF_ANAGR, "CLASSEFIS"),
|
||||
FLD(LF_ANAGR, "CATCONA"), FLD(LF_ANAGR, "GRUPPOA"), FLD(LF_ANAGR, "CONTOA"), FLD(LF_ANAGR, "SOTTOCA"),
|
||||
FLD(LF_ANAGR, "CATCONV"), FLD(LF_ANAGR, "GRUPPOV"), FLD(LF_ANAGR, "CONTOV"), FLD(LF_ANAGR, "SOTTOCV"),
|
||||
FLD(LF_ANAGR, "CLASSDOG"), FLD(LF_ANAGR, "CODIVA"), FLD(LF_ANAGR, "CODIVAR"));
|
||||
set_row(n_max+4, ""); // aggiunge due linee vuote
|
||||
set_row(n_max+5, "");
|
||||
}
|
||||
*/
|
||||
|
||||
if (file== LF_RCONDV) { // se il file in stampa non è il file principale non c'è nulla da fare
|
||||
int i= 0; // indice di riga
|
||||
if (get_page_number()==1) { // se siamo sulla prima pagina deve essere stampata anche la testata
|
||||
if (_testacomp) { // stampa della testata in forma completa
|
||||
// ...
|
||||
} else { // stampa della testata in forma abbreviata
|
||||
set_row(++i, "@14g@3s @18g@50s @69g@d @78g@d @87g@1s @90g@1s @93g@1s @96g@1s @99g@1s @109g@3s", FLD(LF_CONDV, "COD"), FLD(LF_CONDV, "DESCR"), FLD(LF_CONDV, "VALIN"), FLD(LF_CONDV, "VALFIN"), FLD(LF_CONDV, "IMPLORDI"), FLD(LF_CONDV, "GESTUM"),
|
||||
FLD(LF_CONDV, "GESTSCAGL"), FLD(LF_CONDV, "GESTSCO"), FLD(LF_CONDV, "SCONST"), FLD(LF_CONDV, "SEQRIC")); // codice, descriz., validità e booleani
|
||||
if ((_condven=="L") && _codlis_catven) set_row(i, "@11g@2s", FLD(LF_CONDV, "CATVEN")); // categoria di vendita
|
||||
if (_condven=="C") set_row(i, "@1s @4g@6s @102g@1s", FLD(LF_CONDV, "TIPOCF"), FLD(LF_CONDV, "CODCF"), FLD(LF_CONDV, "OBBLIG")); // cliente/fornitore e booleano
|
||||
if ((_condven=="L") || (_condven=="C")) set_row(i, "@105g@3s", FLD(LF_CONDV, "CODLISSUCC")); // codice successivo
|
||||
if (_gest_val) set_row(++i, "@3s @5g@15.5n @27g@d", FLD(LF_CONDV, "CODVAL"), FLD(LF_CONDV, "CAMBIO"), FLD(LF_CONDV, "DATACAM")); // cambio e valuta
|
||||
set_row(++i, ""); // salta una riga
|
||||
}
|
||||
}
|
||||
if (_righecomp) { // stampa della riga in forma completa
|
||||
// ...
|
||||
} else { // stampa della riga in forma abbreviata
|
||||
set_row(++i, "@1s @2g@20s @27g@1s @29g@15.5n @51g@18.2n @73g25s @99g@1s @101g@4s @106g@5.2n", FLD(LF_RCONDV, "TIPORIGA"), FLD(LF_RCONDV, "CODRIGA"), FLD(LF_RCONDV, "NSCAGL"), FLD(LF_RCONDV, "QLIM"), FLD(LF_RCONDV, "PREZZO"),
|
||||
FLD(LF_RCONDV, "SCONTO"), FLD(LF_RCONDV, "ADDIVA"), FLD(LF_RCONDV, "CODIVA"), FLD(LF_RCONDV, "PERCPROVV")); // codice, prezzo...
|
||||
if ((_condven=="L") || (_condven=="O")) set_row(i, "@24g@2s", FLD(LF_RCONDV, "UM")); // unità di misura
|
||||
set_row(++i, "@2s @5g@15.5n @27g@15.5n @49g@20s @70g@18.2n", FLD(LF_RCONDV, "UMOM"), FLD(LF_RCONDV, "QOM"), FLD(LF_RCONDV, "QBASE"), FLD(LF_RCONDV, "CODARTOM"), FLD(LF_RCONDV, "PROMAGGIO")); // sconto/omaggio
|
||||
if ((_condven=="C") || (_condven=="O")) set_row(i, "@92g@6s", FLD(LF_RCONDV, "CODLOTTO")); // lotto
|
||||
if (_condven=="O") set_row(i, "@99g@1s", FLD(LF_RCONDV, "ARTES"));
|
||||
set_row(++i, ""); // salta una riga
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
void TStampa_condizioni_vendita::process_link(int id, const char *text) {
|
||||
|
||||
/*if (id== _anagr_link_id) {
|
||||
if (id== _rcondv_link_id) {
|
||||
TString body= "1|"; // istanzia la stringa per il corpo del messaggio e gli aggiunge il numero della chiave e il separatore
|
||||
body << text; // aggiunge al corpo del messaggio il codice dell'articolo per riempire la chiave
|
||||
TMessage msg(ANAMAG_APP, MSG_LN, (const char *)body); // crea il messaggio per l'applicazione di anagrafica di magazzino
|
||||
TMessage msg(RCONDV_APP, MSG_LN, (const char *)body); // crea il messaggio per l'applicazione
|
||||
msg.send(); // invia il messaggio
|
||||
TExternal_app ve2_3(ANAMAG_APP); // crea l'applicazione esterna dell'anagrafica di magazzino
|
||||
ve2_3.run(); // lancia l'applicazione esterna
|
||||
}
|
||||
*/
|
||||
|
||||
TExternal_app ve2_2(RCONDV_APP); // crea l'applicazione esterna
|
||||
ve2_2.run(); // lancia l'applicazione esterna
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
int ve3200(int argc, char* argv[]) {
|
||||
int ve3200(int argc, char **argv) {
|
||||
TStampa_condizioni_vendita a;
|
||||
|
||||
a.run(argc, argv, "Stampa condizioni vendita");
|
||||
|
22
ve/ve3200x.h
22
ve/ve3200x.h
@ -1 +1,23 @@
|
||||
|
||||
#define F_TIPO 102
|
||||
|
||||
#define F_TIPORIGHE 111
|
||||
#define F_TUTTERIGHE 112
|
||||
#define F_DARIGA_A 113
|
||||
#define F_DARIGA_G 114
|
||||
#define F_DARIGA_R 115
|
||||
#define F_ARIGA_A 116
|
||||
#define F_ARIGA_G 117
|
||||
#define F_ARIGA_R 118
|
||||
#define F_TESTACOMP 119
|
||||
#define F_RIGHECOMP 120
|
||||
|
||||
#define F_L_CATVEN 131
|
||||
#define F_L_COD 132
|
||||
#define F_L_LISTVALUTA 133
|
||||
|
||||
#define F_C_TIPOCF 141
|
||||
#define F_C_CODCF 142
|
||||
#define F_C_COD 143
|
||||
|
||||
#define F_O_COD 151
|
||||
|
332
ve/ve3200x.uml
332
ve/ve3200x.uml
@ -1,7 +1,7 @@
|
||||
#include <lffiles.h>
|
||||
#include "ve3200x.h"
|
||||
|
||||
PAGE "Stampa condizioni di vendita" -1 -1 72 14
|
||||
PAGE "Stampa condizioni di vendita" -1 -1 64 15
|
||||
|
||||
STRING F_TIPO 1 // tipo di archivio
|
||||
BEGIN
|
||||
@ -11,7 +11,7 @@ END
|
||||
|
||||
STRING F_L_CATVEN 2 // categoria di vendita, solo listini
|
||||
BEGIN
|
||||
PROMPT 2 2 "Cat. vendita "
|
||||
PROMPT 2 1 "Cat. vendita "
|
||||
FLAG "U"
|
||||
USE %CVE
|
||||
INPUT CODTAB F_L_CATVEN
|
||||
@ -22,14 +22,14 @@ END
|
||||
|
||||
LIST F_C_TIPOCF 7 // tipo cliente/fornitore, solo contratti
|
||||
BEGIN
|
||||
PROMPT 2 2 "Tipo "
|
||||
PROMPT 2 1 "Tipo "
|
||||
ITEM "C|Cliente"
|
||||
ITEM "F|Fornit."
|
||||
END
|
||||
|
||||
STRING F_C_CODCF 6 // codice cliente/fornitore, solo contratti
|
||||
BEGIN
|
||||
PROMPT 22 2 "Codice "
|
||||
PROMPT 22 1 "Codice "
|
||||
FLAG "U"
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF F_C_TIPOCF
|
||||
@ -43,7 +43,7 @@ END
|
||||
|
||||
STRING F_L_COD 3 // codice listino, solo listini
|
||||
BEGIN
|
||||
PROMPT 2 4 "Codice listino "
|
||||
PROMPT 2 3 "Codice listino "
|
||||
FLAG "U"
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_TIPO SELECT
|
||||
@ -59,7 +59,7 @@ END
|
||||
|
||||
NUMBER F_C_COD 3 // codice contratto, solo contratti
|
||||
BEGIN
|
||||
PROMPT 2 4 "Numero contratto "
|
||||
PROMPT 2 3 "Numero contratto "
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_TIPO SELECT
|
||||
INPUT TIPOCF F_C_TIPOCF
|
||||
@ -77,7 +77,7 @@ END
|
||||
|
||||
STRING F_O_COD 3 // codice offerta, solo offerte
|
||||
BEGIN
|
||||
PROMPT 2 3 "Codice offerta "
|
||||
PROMPT 2 2 "Codice offerta "
|
||||
FLAG "U"
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_TIPO SELECT
|
||||
@ -90,367 +90,117 @@ END
|
||||
|
||||
LIST F_TIPORIGHE 8 // listbox per tipo di selezione righe
|
||||
BEGIN
|
||||
PROMPT 2 6 "Righe "
|
||||
PROMPT 2 5 "Righe "
|
||||
ITEM "A|Articolo " MESSAGE CLEAR,F_DARIGA_A|ENABLE,F_DARIGA_A|SHOW,F_DARIGA_A|CLEAR,F_ARIGA_A|ENABLE,F_ARIGA_A|SHOW,F_ARIGA_A|HIDE,F_DARIGA_G|HIDE,F_DARIGA_R|HIDE,F_ARIGA_G|HIDE,F_ARIGA_R
|
||||
ITEM "G|Gr. merc." MESSAGE CLEAR,F_DARIGA_G|ENABLE,F_DARIGA_G|SHOW,F_DARIGA_G|CLEAR,F_ARIGA_G|ENABLE,F_ARIGA_G|SHOW,F_ARIGA_A|HIDE,F_DARIGA_A|HIDE,F_DARIGA_R|HIDE,F_ARIGA_A|HIDE,F_ARIGA_R
|
||||
ITEM "G|Gr. merc." MESSAGE CLEAR,F_DARIGA_G|ENABLE,F_DARIGA_G|SHOW,F_DARIGA_G|CLEAR,F_ARIGA_G|ENABLE,F_ARIGA_G|SHOW,F_ARIGA_G|HIDE,F_DARIGA_A|HIDE,F_DARIGA_R|HIDE,F_ARIGA_A|HIDE,F_ARIGA_R
|
||||
ITEM "R|Rag. fis." MESSAGE CLEAR,F_DARIGA_R|ENABLE,F_DARIGA_R|SHOW,F_DARIGA_R|CLEAR,F_ARIGA_R|ENABLE,F_ARIGA_R|SHOW,F_ARIGA_R|HIDE,F_DARIGA_A|HIDE,F_DARIGA_G|HIDE,F_ARIGA_A|HIDE,F_ARIGA_G
|
||||
END
|
||||
|
||||
BOOLEAN F_TUTTERIGHE // checkbox per selezione di tutte le righe
|
||||
BEGIN
|
||||
PROMPT 20 6 "Tutte"
|
||||
PROMPT 22 5 "Tutte"
|
||||
MESSAGE TRUE DISABLE,F_TIPORIGHE|DISABLE,F_DARIGA_A|DISABLE,F_DARIGA_G|DISABLE,F_DARIGA_R|DISABLE,F_ARIGA_A|DISABLE,F_ARIGA_G|DISABLE,F_ARIGA_R
|
||||
MESSAGE FALSE ENABLE,F_TIPORIGHE|ENABLE,F_DARIGA_A|ENABLE,F_DARIGA_G|ENABLE,F_DARIGA_R|ENABLE,F_ARIGA_A|ENABLE,F_ARIGA_G|ENABLE,F_ARIGA_R
|
||||
END
|
||||
|
||||
STRING F_DARIGA_A 20 // riga articolo di inizio
|
||||
BEGIN
|
||||
PROMPT 2 8 "Da "
|
||||
PROMPT 2 7 "Da "
|
||||
USE LF_ANAGR
|
||||
INPUT CODART F_R_CODRIGA_A
|
||||
INPUT CODART F_DARIGA_A
|
||||
DISPLAY "Articolo@20" CODART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_R_CODRIGA_A CODART
|
||||
OUTPUT F_DARIGA_A CODART
|
||||
END
|
||||
|
||||
STRING F_DARIGA_G 20 // riga gruppo merceologico di inizio
|
||||
BEGIN
|
||||
PROMPT 2 8 "Da "
|
||||
PROMPT 2 7 "Da "
|
||||
USE %GMC
|
||||
INPUT CODTAB F_R_CODRIGA_G
|
||||
INPUT CODTAB F_DARIGA_G
|
||||
DISPLAY "Gr. merc." CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_R_CODRIGA_G CODTAB
|
||||
OUTPUT F_DARIGA_G CODTAB
|
||||
MESSAGE COPY,F_DARIGA_A
|
||||
END
|
||||
|
||||
STRING F_DARIGA_R 20 // riga raggruppamento fiscale di inizio
|
||||
BEGIN
|
||||
PROMPT 2 8 "Da "
|
||||
PROMPT 2 7 "Da "
|
||||
USE %RFA
|
||||
INPUT CODTAB F_R_CODRIGA_R
|
||||
INPUT CODTAB F_DARIGA_R
|
||||
DISPLAY "Ragg. fisc." CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_R_CODRIGA_R CODTAB
|
||||
OUTPUT F_DARIGA_R CODTAB
|
||||
MESSAGE COPY,F_DARIGA_A
|
||||
END
|
||||
|
||||
STRING F_ARIGA_A 20 // riga articolo di fine
|
||||
BEGIN
|
||||
PROMPT 2 9 "A "
|
||||
PROMPT 2 8 "A "
|
||||
USE LF_ANAGR
|
||||
INPUT CODART F_R_CODRIGA_A
|
||||
INPUT CODART F_ARIGA_A
|
||||
DISPLAY "Articolo@20" CODART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_R_CODRIGA_A CODART
|
||||
OUTPUT F_ARIGA_A CODART
|
||||
END
|
||||
|
||||
STRING F_ARIGA_G 20 // riga gruppo merceologico di fine
|
||||
BEGIN
|
||||
PROMPT 2 9 "A "
|
||||
PROMPT 2 8 "A "
|
||||
USE %GMC
|
||||
INPUT CODTAB F_R_CODRIGA_G
|
||||
INPUT CODTAB F_ARIGA_G
|
||||
DISPLAY "Gr. merc." CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_R_CODRIGA_G CODTAB
|
||||
MESSAGE COPY,F_DARIGA_A
|
||||
OUTPUT F_ARIGA_G CODTAB
|
||||
MESSAGE COPY,F_ARIGA_A
|
||||
END
|
||||
|
||||
STRING F_ARIGA_R 20 // riga raggruppamento fiscale di fine
|
||||
BEGIN
|
||||
PROMPT 2 9 "A "
|
||||
PROMPT 2 8 "A "
|
||||
USE %RFA
|
||||
INPUT CODTAB F_R_CODRIGA_R
|
||||
INPUT CODTAB F_ARIGA_R
|
||||
DISPLAY "Ragg. fisc." CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_R_CODRIGA_R CODTAB
|
||||
MESSAGE COPY,F_DARIGA_A
|
||||
OUTPUT F_ARIGA_R CODTAB
|
||||
MESSAGE COPY,F_ARIGA_A
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 71 10 // groupbox attorno agli ultimi tre checkbox
|
||||
GROUPBOX DLG_NULL 63 10 // groupbox attorno agli elementi di selezione della chiave
|
||||
BEGIN
|
||||
PROMPT 0 1 ""
|
||||
PROMPT 0 0 ""
|
||||
END
|
||||
|
||||
BOOLEAN F_TESTACOMP // checkbox per stampa completa della testata
|
||||
BEGIN
|
||||
PROMPT 2 11 "Testata completa"
|
||||
PROMPT 2 10 "Testata completa"
|
||||
END
|
||||
|
||||
BOOLEAN F_RICHECOMP // checkbox per stampa completa delle righe
|
||||
BOOLEAN F_RIGHECOMP // checkbox per stampa completa delle righe
|
||||
BEGIN
|
||||
PROMPT 2 12 "Righe complete"
|
||||
PROMPT 2 11 "Righe complete"
|
||||
END
|
||||
|
||||
BOOLEAN F_L_LISTVALUTA // checkbox per stampa del listino in valuta o in lire
|
||||
BEGIN
|
||||
PROMPT 2 13 "Listino in valuta"
|
||||
PROMPT 2 12 "Listino in valuta"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 71 5 // groupbox attorno agli ultimi tre checkbox
|
||||
GROUPBOX DLG_NULL 63 5 // groupbox attorno agli ultimi tre checkbox
|
||||
BEGIN
|
||||
PROMPT 0 10 ""
|
||||
PROMPT 0 9 ""
|
||||
END
|
||||
|
||||
/* -------------------------------------------------------------------------
|
||||
|
||||
STRING F_TIPO 1
|
||||
BEGIN
|
||||
PROMPT 100 100 ""
|
||||
FIELD LF_CONDV->TIPO
|
||||
FLAG "DU"
|
||||
KEY 1
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
// campo riservato ai listini
|
||||
STRING F_L_CATVEN 2
|
||||
BEGIN
|
||||
PROMPT 2 2 "Cat. vendita "
|
||||
FIELD LF_CONDV->CATVEN
|
||||
FLAG "U"
|
||||
KEY 1
|
||||
USE %CVE
|
||||
INPUT CODTAB F_L_CATVEN
|
||||
DISPLAY "Cat." CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_L_CATVEN CODTAB
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
// campo riservato ai contratti
|
||||
LIST F_C_TIPOCF 7
|
||||
BEGIN
|
||||
PROMPT 2 2 "Tipo "
|
||||
FIELD LF_CONDV->TIPOCF
|
||||
KEY 1
|
||||
ITEM "C|Cliente"
|
||||
ITEM "F|Fornit."
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
// campo riservato ai contratti
|
||||
STRING F_C_CODCF 6
|
||||
BEGIN
|
||||
PROMPT 22 2 "Codice "
|
||||
FIELD LF_CONDV->CODCF
|
||||
FLAG "U"
|
||||
KEY 1
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF F_C_TIPOCF
|
||||
INPUT CODCF F_C_CODCF
|
||||
DISPLAY "C/F" TIPOCF
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
OUTPUT F_C_TIPOCF TIPOCF
|
||||
OUTPUT F_C_CODCF CODCF
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
// campo riservato ai listini
|
||||
STRING F_L_COD 3
|
||||
BEGIN
|
||||
PROMPT 2 4 "Codice listino "
|
||||
FIELD LF_CONDV->COD
|
||||
FLAG "U"
|
||||
KEY 1
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_TIPO SELECT
|
||||
INPUT CATVEN F_L_CATVEN
|
||||
INPUT COD F_L_COD
|
||||
DISPLAY "C.V." CATVEN
|
||||
DISPLAY "Codice" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_TIPO TIPO
|
||||
OUTPUT F_L_CATVEN CATVEN
|
||||
OUTPUT F_L_COD COD
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
// campo riservato ai contratti
|
||||
NUMBER F_C_COD 3
|
||||
BEGIN
|
||||
PROMPT 2 4 "Numero contratto "
|
||||
FIELD LF_CONDV->COD
|
||||
KEY 1
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_TIPO SELECT
|
||||
INPUT TIPOCF F_C_TIPOCF
|
||||
INPUT CODCF F_C_CODCF
|
||||
INPUT COD F_C_COD
|
||||
DISPLAY "C/F" TIPOCF
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Numero" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_TIPO TIPO
|
||||
OUTPUT F_C_TIPOCF TIPOCF
|
||||
OUTPUT F_C_CODCF CODCF
|
||||
OUTPUT F_C_COD COD
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
// campo riservato alle offerte
|
||||
STRING F_O_COD 3
|
||||
BEGIN
|
||||
PROMPT 2 3 "Codice offerta "
|
||||
FIELD LF_CONDV->COD
|
||||
FLAG "U"
|
||||
KEY 1
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_TIPO SELECT
|
||||
INPUT COD F_O_COD
|
||||
DISPLAY "Codice" COD
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_TIPO TIPO
|
||||
OUTPUT F_O_COD COD
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
LIST F_R_TIPORIGA 8
|
||||
BEGIN
|
||||
PROMPT 2 5 "Riga "
|
||||
FIELD LF_RCONDV->TIPORIGA
|
||||
FLAG "P"
|
||||
KEY 1
|
||||
ITEM "A|Articolo" // MESSAGE ENABLE,F_CODRIGA_A|SHOW,F_CODRIGA_A|CLEAR,F_CODRIGA_G|HIDE,F_CODRIGA_G|CLEAR,F_CODRIGA_R|HIDE,F_CODRIGA_R
|
||||
ITEM "G|Gr. merc." // MESSAGE ENABLE,F_CODRIGA_G|SHOW,F_CODRIGA_G|CLEAR,F_CODRIGA_A|HIDE,F_CODRIGA_A|CLEAR,F_CODRIGA_R|HIDE,F_CODRIGA_R
|
||||
ITEM "R|Rag. fis." // MESSAGE ENABLE,F_CODRIGA_R|SHOW,F_CODRIGA_R|CLEAR,F_CODRIGA_A|HIDE,F_CODRIGA_A|CLEAR,F_CODRIGA_G|HIDE,F_CODRIGA_G
|
||||
END
|
||||
|
||||
STRING F_R_CODRIGA_A 20
|
||||
BEGIN
|
||||
PROMPT 19 5 "Codice "
|
||||
FIELD LF_RCONDV->CODRIGA
|
||||
KEY 1
|
||||
USE LF_ANAGR
|
||||
INPUT CODART F_R_CODRIGA_A
|
||||
DISPLAY "Articolo@20" CODART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_R_CODRIGA_A CODART
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_R_CODRIGA_G 20
|
||||
BEGIN
|
||||
PROMPT 19 5 "Codice "
|
||||
FIELD LF_RCONDV->CODRIGA
|
||||
KEY 1
|
||||
USE %GMC
|
||||
INPUT CODTAB F_R_CODRIGA_G
|
||||
DISPLAY "Gr. merc." CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_R_CODRIGA_G CODTAB
|
||||
CHECKTYPE REQUIRED
|
||||
MESSAGE COPY,F_R_CODRIGA_A
|
||||
END
|
||||
|
||||
STRING F_R_CODRIGA_R 20
|
||||
BEGIN
|
||||
PROMPT 19 5 "Codice "
|
||||
FIELD LF_RCONDV->CODRIGA
|
||||
KEY 1
|
||||
USE %RFA
|
||||
INPUT CODTAB F_R_CODRIGA_R
|
||||
DISPLAY "Ragg. fisc." CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_R_CODRIGA_R CODTAB
|
||||
CHECKTYPE REQUIRED
|
||||
MESSAGE COPY,F_R_CODRIGA_A
|
||||
END
|
||||
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
|
||||
STRING F_CODART_1 20
|
||||
BEGIN
|
||||
PROMPT 2 1 "Dall'art. "
|
||||
FLAG "U"
|
||||
USE LF_ANAGR
|
||||
INPUT CODART F_CODART_1
|
||||
DISPLAY "Codice@20" CODART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_CODART_1 CODART
|
||||
OUTPUT F_DESCR_1 DESCR
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_DESCR_1 50
|
||||
BEGIN
|
||||
PROMPT 2 2 "Descrizione "
|
||||
USE LF_ANAGR KEY 2
|
||||
INPUT DESCR F_DESCR_1
|
||||
DISPLAY "Codice@20" CODART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_CODART_1 CODART
|
||||
OUTPUT F_DESCR_1 DESCR
|
||||
END
|
||||
|
||||
STRING F_CODART_2 20
|
||||
BEGIN
|
||||
PROMPT 2 4 "All'art. "
|
||||
FLAG "U"
|
||||
USE LF_ANAGR
|
||||
INPUT CODART F_CODART_2
|
||||
DISPLAY "Codice@20" CODART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_CODART_2 CODART
|
||||
OUTPUT F_DESCR_2 DESCR
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING F_DESCR_2 50
|
||||
BEGIN
|
||||
PROMPT 2 5 "Descrizione "
|
||||
USE LF_ANAGR KEY 2
|
||||
INPUT DESCR F_DESCR_2
|
||||
DISPLAY "Codice@20" CODART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_CODART_2 CODART
|
||||
OUTPUT F_DESCR_2 DESCR
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 71 7
|
||||
BEGIN
|
||||
PROMPT 0 0 ""
|
||||
//FLAG "R"
|
||||
END
|
||||
|
||||
BOOLEAN F_ST_UMART
|
||||
BEGIN
|
||||
PROMPT 2 8 "Stampa unita' di misura"
|
||||
END
|
||||
|
||||
BOOLEAN F_ST_CODCORR
|
||||
BEGIN
|
||||
PROMPT 2 9 "Stampa codici corrispondenti"
|
||||
END
|
||||
|
||||
BOOLEAN F_ST_FISC
|
||||
BEGIN
|
||||
PROMPT 2 10 "Stampa dati fiscali"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 71 5
|
||||
BEGIN
|
||||
PROMPT 0 7 "Controllo stampa"
|
||||
//FLAG "R"
|
||||
END
|
||||
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
BUTTON DLG_SELECT 9 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 "Selezione"
|
||||
MESSAGE EXIT,K_ENTER
|
||||
PROMPT -12 -1 "Selezione"
|
||||
MESSAGE EXIT,K_ENTER
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 9 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
@ -228,7 +228,7 @@ void TStampa_anagrafica_magazzino::process_link(int id, const char *text) {
|
||||
|
||||
|
||||
|
||||
int ve3400(int argc, char* argv[]) {
|
||||
int ve3400(int argc, char **argv) {
|
||||
TStampa_anagrafica_magazzino a;
|
||||
|
||||
a.run(argc, argv, "Stampa anagrafica magazzino");
|
||||
|
155
ve/veacc.frm
155
ve/veacc.frm
@ -5,50 +5,36 @@
|
||||
|
||||
// Una volta completato, togliere dalla relazione i files che non servono.
|
||||
|
||||
USE 33
|
||||
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
|
||||
USE 34
|
||||
JOIN 33 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
|
||||
JOIN 17 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF
|
||||
JOIN 20 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF
|
||||
JOIN 16 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
|
||||
JOIN 16 TO 17 ALIAS 116 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
|
||||
JOIN 47 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
|
||||
|
||||
END
|
||||
DESCRIPTION
|
||||
BEGIN
|
||||
34->* "Righe documenti di vendita"
|
||||
33->* "Documenti di vendita"
|
||||
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"
|
||||
17->* "Clienti/Fornitori per vendite"
|
||||
20->* "Clienti/Fornitori"
|
||||
16->* "Indirizzi di spedizione (destinazione)"
|
||||
116@->* "Indirizzi di spedizione (destinatario)"
|
||||
47->* "Anagrafica magazzino"
|
||||
201@->* "Tabella condizioni di pagamento"
|
||||
202@->* "Tabella agenti"
|
||||
203@->* "Tabella porto"
|
||||
204@->* "Tabella banche"
|
||||
205@->* "Tabella vettori"
|
||||
206@->* "Tabella apsetto beni"
|
||||
END
|
||||
|
||||
GENERAL
|
||||
@ -56,36 +42,38 @@ BEGIN
|
||||
OFFSET 0 0
|
||||
FONT "Courier New"
|
||||
SIZE 12
|
||||
MODULE BUFFETTI_FATTURA_ACCOMPAGNATORIA_01
|
||||
END
|
||||
|
||||
/////////////////////////////////////////////////
|
||||
SECTION HEADER ODD 27
|
||||
|
||||
STRINGA 1 36 1
|
||||
BEGIN
|
||||
KEY "nome ditta"
|
||||
PROMPT 5 1 ""
|
||||
MESSAGE _DITTA6->RAGSOC
|
||||
MESSAGE _DITTA !RAGSOC
|
||||
END
|
||||
|
||||
STRINGA 2 36 1
|
||||
BEGIN
|
||||
KEY "indirizzo ditta"
|
||||
PROMPT 5 2 ""
|
||||
MESSAGE _DITTA6->INDRES
|
||||
MESSAGE _DITTA !IND
|
||||
END
|
||||
|
||||
STRINGA 3 5 1
|
||||
BEGIN
|
||||
KEY "cap ditta"
|
||||
PROMPT 5 3 ""
|
||||
MESSAGE _DITTA6->CAPRES
|
||||
MESSAGE _DITTA !CAP
|
||||
END
|
||||
|
||||
STRINGA 4 30 1
|
||||
BEGIN
|
||||
KEY "comune ditta"
|
||||
PROMPT 12 3 ""
|
||||
MESSAGE _DITTA113@->DENCOM
|
||||
MESSAGE _DITTA !COM
|
||||
END
|
||||
|
||||
STRINGA 5 5 1
|
||||
@ -98,7 +86,7 @@ STRINGA 6 16 1
|
||||
BEGIN
|
||||
KEY "partita iva ditta"
|
||||
PROMPT 11 4 ""
|
||||
MESSAGE _DITTA6->PAIV
|
||||
MESSAGE _DITTA !PIVA
|
||||
END
|
||||
|
||||
STRINGA 7 9 1
|
||||
@ -111,7 +99,7 @@ STRINGA 8 16 1
|
||||
BEGIN
|
||||
KEY "codice fiscale ditta"
|
||||
PROMPT 15 5 ""
|
||||
MESSAGE _DITTA6->CODFI
|
||||
MESSAGE _DITTA !CF
|
||||
END
|
||||
|
||||
NUMERO 9
|
||||
@ -142,35 +130,32 @@ STRINGA 14 36 2
|
||||
BEGIN
|
||||
KEY "destinatario, ditta"
|
||||
PROMPT 44 10 ""
|
||||
FIELD 202@->RAGSOC
|
||||
FIELD 20->RAGSOC
|
||||
END
|
||||
|
||||
STRINGA 15 36 2
|
||||
BEGIN
|
||||
KEY "destinatario, indirizzo"
|
||||
PROMPT 44 12 ""
|
||||
FIELD 202@->INDCF
|
||||
FIELD 20->INDCF
|
||||
END
|
||||
|
||||
STRINGA 16 5 1
|
||||
BEGIN
|
||||
KEY "destinatario, cap"
|
||||
PROMPT 44 14 ""
|
||||
FIELD 1101@->CAPCOM
|
||||
END
|
||||
|
||||
STRINGA 17 30 2
|
||||
BEGIN
|
||||
KEY "destinatario, comune"
|
||||
PROMPT 50 14 ""
|
||||
FIELD 1101@->DENCOM
|
||||
END
|
||||
|
||||
STRINGA 18 2 1
|
||||
BEGIN
|
||||
KEY "destinatario, provincia"
|
||||
PROMPT 77 15 ""
|
||||
FIELD 1101@->PROVCOM
|
||||
END
|
||||
|
||||
STRINGA 19 8 1
|
||||
@ -191,14 +176,13 @@ STRINGA 21 30 1
|
||||
BEGIN
|
||||
KEY "destinazione, indirizzo"
|
||||
PROMPT 1 10 ""
|
||||
FIELD 701@->INDIR
|
||||
FIELD 16->INDIR
|
||||
END
|
||||
|
||||
STRINGA 84 30 1
|
||||
BEGIN
|
||||
KEY "destinazione, cap"
|
||||
PROMPT 1 12 ""
|
||||
FIELD 1102@->CAPCOM
|
||||
END
|
||||
|
||||
STRINGA 85 50 1
|
||||
@ -212,7 +196,6 @@ STRINGA 86 30 1
|
||||
BEGIN
|
||||
KEY "destinazione, comune"
|
||||
PROMPT 1 14 ""
|
||||
FIELD 1102@->DENCOM
|
||||
END
|
||||
|
||||
STRINGA 22 26 1
|
||||
@ -226,7 +209,7 @@ DATA 23 8 1
|
||||
BEGIN
|
||||
KEY "data conferma"
|
||||
PROMPT 28 19 ""
|
||||
FIELD DATADOCRIF
|
||||
FIELD 33->DATADOCRIF
|
||||
FORMAT "1444-"
|
||||
END
|
||||
|
||||
@ -234,14 +217,14 @@ STRINGA 24 48 1
|
||||
BEGIN
|
||||
KEY "condizioni di pagamento"
|
||||
PROMPT 1 21 ""
|
||||
FIELD 301@->S0
|
||||
FIELD 201@->S0
|
||||
END
|
||||
|
||||
STRINGA 25 29 1
|
||||
BEGIN
|
||||
KEY "banca d'appoggio"
|
||||
PROMPT 50 21 ""
|
||||
FIELD 901@->S0
|
||||
FIELD 204@->S0
|
||||
END
|
||||
|
||||
STRINGA 26 8 1
|
||||
@ -255,14 +238,14 @@ STRINGA 27 16 1
|
||||
BEGIN
|
||||
KEY "partita iva cliente"
|
||||
PROMPT 16 23 ""
|
||||
FIELD 202@->PAIV
|
||||
FIELD 17->PAIV
|
||||
END
|
||||
|
||||
STRINGA 28 25 1
|
||||
BEGIN
|
||||
KEY "porto"
|
||||
PROMPT 35 23 ""
|
||||
FIELD 306@->S0
|
||||
FIELD 203@->S0
|
||||
END
|
||||
|
||||
STRINGA 29 3 1
|
||||
@ -280,72 +263,75 @@ END
|
||||
|
||||
END
|
||||
|
||||
SECTION BODY ODD 18
|
||||
/////////////////////////////////////////////////
|
||||
SECTION BODY ODD 1
|
||||
|
||||
STRINGA 31 8 1
|
||||
BEGIN
|
||||
KEY "codice articolo"
|
||||
PROMPT 1 0 ""
|
||||
FIELD 101@->CODART
|
||||
PROMPT 1 1 ""
|
||||
FIELD 34->CODART
|
||||
END
|
||||
|
||||
STRINGA 32 30 1
|
||||
BEGIN
|
||||
KEY "descrizione articolo"
|
||||
PROMPT 17 0 ""
|
||||
FIELD 401@->DESCR
|
||||
PROMPT 17 1 ""
|
||||
FIELD 47->DESCR
|
||||
END
|
||||
|
||||
NUMERO 33
|
||||
BEGIN
|
||||
KEY "unita' di misura"
|
||||
PROMPT 46 0 ""
|
||||
PROMPT 46 1 ""
|
||||
END
|
||||
|
||||
STRINGA 34 6 1
|
||||
BEGIN
|
||||
KEY "quantita'"
|
||||
PROMPT 10 0 ""
|
||||
FIELD 101@->QTA
|
||||
PROMPT 10 1 ""
|
||||
FIELD 34->QTA
|
||||
END
|
||||
|
||||
STRINGA 35 8 1
|
||||
BEGIN
|
||||
KEY "prezzo unitario"
|
||||
PROMPT 48 0 ""
|
||||
PROMPT 48 1 ""
|
||||
END
|
||||
|
||||
STRINGA 36 8 1
|
||||
BEGIN
|
||||
KEY "sconto"
|
||||
PROMPT 57 0 ""
|
||||
PROMPT 57 1 ""
|
||||
END
|
||||
|
||||
STRINGA 37 9 1
|
||||
BEGIN
|
||||
KEY "importo netto"
|
||||
PROMPT 66 0 ""
|
||||
PROMPT 66 1 ""
|
||||
END
|
||||
|
||||
STRINGA 38 3 1
|
||||
BEGIN
|
||||
KEY "iva"
|
||||
PROMPT 76 0 ""
|
||||
PROMPT 76 1 ""
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
SECTION FOOTER LAST 1
|
||||
/////////////////////////////////////////////////
|
||||
SECTION FOOTER LAST 19
|
||||
|
||||
STRINGA 71 5 1
|
||||
BEGIN
|
||||
KEY "messaggio 'segue' in coda"
|
||||
PROMPT 68 54 "segue"
|
||||
PROMPT 68 19 "SEGUE"
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
SECTION FOOTER ODD 20
|
||||
/////////////////////////////////////////////////
|
||||
SECTION FOOTER ODD 19
|
||||
|
||||
STRINGA 39 11 1
|
||||
BEGIN
|
||||
@ -543,31 +529,34 @@ LISTA 72 1 1
|
||||
BEGIN
|
||||
KEY "trasporto a cura del mitt."
|
||||
PROMPT 1 57 ""
|
||||
ITEM "|" // default
|
||||
ITEM "M|x"
|
||||
FIELD CODSPMEZZO
|
||||
FIELD 33->CODSPMEZZO
|
||||
END
|
||||
|
||||
LISTA 73 1 1
|
||||
BEGIN
|
||||
KEY "trasporto a cura del dest."
|
||||
PROMPT 7 57 ""
|
||||
ITEM "|" // default
|
||||
ITEM "D|x"
|
||||
FIELD CODSPMEZZO
|
||||
FIELD 33->CODSPMEZZO
|
||||
END
|
||||
|
||||
STRINGA 74 1 1
|
||||
BEGIN
|
||||
KEY "trasporto a cura del vett."
|
||||
PROMPT 15 57 ""
|
||||
ITEM "|" // default
|
||||
ITEM "V|x"
|
||||
FIELD CODSPMEZZO
|
||||
FIELD 33->CODSPMEZZO
|
||||
END
|
||||
|
||||
DATA 75 8 1
|
||||
BEGIN
|
||||
KEY "data inizio trasporto"
|
||||
PROMPT 45 57 ""
|
||||
FIELD DATAPART
|
||||
FIELD 33->DATAPART
|
||||
FORMAT "1444-"
|
||||
END
|
||||
|
||||
@ -575,42 +564,42 @@ STRINGA 76 5 1
|
||||
BEGIN
|
||||
KEY "ora inizio trasporto"
|
||||
PROMPT 57 57 ""
|
||||
FIELD ORAPART
|
||||
FIELD 33->ORAPART
|
||||
END
|
||||
|
||||
STRINGA 77 40 1
|
||||
BEGIN
|
||||
KEY "nominativo vettore" // nell'originale (.gen) c'era: "nominativo vettore 1"
|
||||
PROMPT 1 59 ""
|
||||
FIELD %VET->S0
|
||||
FIELD 205@->S0
|
||||
END
|
||||
|
||||
STRINGA 78 40 1
|
||||
BEGIN
|
||||
KEY "indirizzo vettore" // nell'originale (.gen) c'era: "nominativo vettore 2"
|
||||
PROMPT 1 60 ""
|
||||
FIELD %VET->S1 // il campo S1 e' usato per l'indirizzo vettore
|
||||
FIELD 205@->S1 // il campo S1 e' usato per l'indirizzo vettore
|
||||
END
|
||||
|
||||
STRINGA 79 41 1
|
||||
BEGIN
|
||||
KEY "aspetto esteriore dei beni"
|
||||
PROMPT 1 63 ""
|
||||
FIELD %ASP->S0
|
||||
FIELD 206@->S0
|
||||
END
|
||||
|
||||
STRINGA 81 12 1
|
||||
BEGIN
|
||||
KEY "peso"
|
||||
PROMPT 44 63 ""
|
||||
FIELD PNETTO
|
||||
FIELD 33->PNETTO
|
||||
END
|
||||
|
||||
STRINGA 82 8 1
|
||||
BEGIN
|
||||
KEY "colli"
|
||||
PROMPT 57 63 ""
|
||||
FIELD NCOLLI
|
||||
FIELD 33->NCOLLI
|
||||
END
|
||||
|
||||
END
|
||||
|
16
ve/vebol.frm
16
ve/vebol.frm
@ -39,6 +39,7 @@ BEGIN
|
||||
MODULE BUFFETTI_BOLLA_01
|
||||
END
|
||||
|
||||
/////////////////////////////////////////////////
|
||||
SECTION HEADER ODD 33
|
||||
|
||||
STRING 1 36 1
|
||||
@ -255,6 +256,7 @@ END
|
||||
|
||||
END
|
||||
|
||||
/////////////////////////////////////////////////
|
||||
SECTION BODY ODD 1
|
||||
|
||||
STRING 32 13 1
|
||||
@ -295,6 +297,7 @@ END
|
||||
|
||||
END
|
||||
|
||||
/////////////////////////////////////////////////
|
||||
SECTION FOOTER ODD 9
|
||||
|
||||
STRING 47 5 1
|
||||
@ -305,6 +308,7 @@ END
|
||||
|
||||
END
|
||||
|
||||
/////////////////////////////////////////////////
|
||||
SECTION FOOTER LAST 9
|
||||
|
||||
LIST 37 1 1
|
||||
@ -312,9 +316,7 @@ BEGIN
|
||||
KEY "trasporto a cura del mittente"
|
||||
PROMPT 4 1 ""
|
||||
FIELD 33->CODSPMEZZO
|
||||
ITEM "|"
|
||||
ITEM "D|"
|
||||
ITEM "V|"
|
||||
ITEM "|" // default
|
||||
ITEM "M|x"
|
||||
END
|
||||
|
||||
@ -323,10 +325,8 @@ BEGIN
|
||||
KEY "trasporto a cura del destinatario"
|
||||
PROMPT 13 1 ""
|
||||
FIELD 33->CODSPMEZZO
|
||||
ITEM "|"
|
||||
ITEM "|" // default
|
||||
ITEM "D|x"
|
||||
ITEM "V|"
|
||||
ITEM "M|"
|
||||
END
|
||||
|
||||
LIST 39 1 1
|
||||
@ -334,10 +334,8 @@ BEGIN
|
||||
KEY "trasporto a cura del vettore"
|
||||
PROMPT 23 1 ""
|
||||
FIELD 33->CODSPMEZZO
|
||||
ITEM "|"
|
||||
ITEM "D|"
|
||||
ITEM "|" // default
|
||||
ITEM "V|x"
|
||||
ITEM "M|"
|
||||
END
|
||||
|
||||
STRING 40 45 1
|
||||
|
119
ve/vefat.frm
119
ve/vefat.frm
@ -18,77 +18,75 @@
|
||||
//
|
||||
// Togliere dalla relazione i files che non servono, quando tutti i campi sono OK.
|
||||
|
||||
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
|
||||
USE 34
|
||||
JOIN 33 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC
|
||||
JOIN 17 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF
|
||||
JOIN 20 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF
|
||||
JOIN 16 TO 33 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
|
||||
JOIN 16 TO 17 ALIAS 116 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP
|
||||
JOIN 47 TO 34 INTO CODART==CODART
|
||||
JOIN 52 INTO TIPOCF==TIPOCF CODCF==CODCF
|
||||
JOIN 13 TO 20 INTO CAPCOM==CAPCF // da togliere quando ci saranno i messaggi _CLIENTE
|
||||
JOIN %CPG INTO CODTAB==CODPAG
|
||||
JOIN %AGE INTO CODTAB==CODAG
|
||||
JOIN %POR INTO CODTAB==CODPORTO
|
||||
JOIN %BAN INTO CODTAB==CODABIA+CODCABA
|
||||
JOIN %VET INTO CODTAB==CODVETT1
|
||||
JOIN %ASP INTO CODTAB==ASPBENI1
|
||||
END
|
||||
JOIN 47 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
|
||||
|
||||
END
|
||||
DESCRIPTION
|
||||
BEGIN
|
||||
33->* "Documenti di vendita"
|
||||
34->* "Righe documenti di vendita"
|
||||
33->* "Documenti di vendita"
|
||||
17->* "Clienti/Fornitori per vendite"
|
||||
20->* "Clienti/Fornitori"
|
||||
47 ->* "Righe listini"
|
||||
52 ->* "Contratti clienti"
|
||||
16 ->* "Indirizzi di spedizione"
|
||||
116->* "Indirizzi di spedizione"
|
||||
13->* "Comuni"
|
||||
%CPG->* "Condizioni di pagamento"
|
||||
%AGE ->* "Agenti"
|
||||
%MSP ->* "Modalità di spedizioni"
|
||||
%POR ->* "Modalità di consegna"
|
||||
%BAN ->* "Banche"
|
||||
16->* "Indirizzi di spedizione (destinazione)"
|
||||
116@->* "Indirizzi di spedizione (destinatario)"
|
||||
47->* "Anagrafica magazzino"
|
||||
201@->* "Tabella condizioni di pagamento"
|
||||
202@->* "Tabella agenti"
|
||||
203@->* "Tabella porto"
|
||||
204@->* "Tabella banche"
|
||||
205@->* "Tabella vettori"
|
||||
206@->* "Tabella apsetto beni"
|
||||
END
|
||||
|
||||
GENERAL
|
||||
BEGIN
|
||||
OFFSET 0 0
|
||||
FONT "Courier New"
|
||||
SIZE 12
|
||||
OFFSET 0 0
|
||||
FONT "Courier New"
|
||||
SIZE 12
|
||||
MODULE BUFFETTI_FATTURA_01
|
||||
END
|
||||
|
||||
///////////////////////////////////////////////
|
||||
SECTION HEADER ODD 28 0 -5
|
||||
/////////////////////////////////////////////////
|
||||
SECTION HEADER ODD 28
|
||||
|
||||
STRINGA 1 35 1
|
||||
BEGIN
|
||||
KEY "nome ditta"
|
||||
PROMPT 3 4 ""
|
||||
MESSAGE _DITTA 6->RAGSOC
|
||||
MESSAGE _DITTA !RAGSOC
|
||||
END
|
||||
|
||||
STRINGA 2 35 1
|
||||
BEGIN
|
||||
KEY "indirizzo ditta"
|
||||
PROMPT 3 5 ""
|
||||
MESSAGE _DITTA 6->INDRES
|
||||
MESSAGE _DITTA !IND
|
||||
END
|
||||
|
||||
STRINGA 3 5 1
|
||||
BEGIN
|
||||
KEY "cap ditta"
|
||||
PROMPT 3 6 ""
|
||||
MESSAGE _DITTA 6->CAPRES
|
||||
MESSAGE _DITTA !CAP
|
||||
END
|
||||
|
||||
STRINGA 4 30 1
|
||||
BEGIN
|
||||
KEY "comune ditta"
|
||||
PROMPT 10 6 ""
|
||||
MESSAGE _DITTA 6->DENCOM
|
||||
MESSAGE _DITTA !COM
|
||||
END
|
||||
|
||||
STRINGA 5 5 1
|
||||
@ -101,7 +99,7 @@ STRINGA 6 16 1
|
||||
BEGIN
|
||||
KEY "partita iva ditta"
|
||||
PROMPT 9 7 ""
|
||||
MESSAGE _DITTA 6->PAIV
|
||||
MESSAGE _DITTA !PIVA
|
||||
END
|
||||
|
||||
STRINGA 7 9 1
|
||||
@ -114,7 +112,7 @@ STRINGA 8 16 1
|
||||
BEGIN
|
||||
KEY "codice fiscale ditta"
|
||||
PROMPT 13 8 ""
|
||||
MESSAGE _DITTA-> 6->CODFI
|
||||
MESSAGE _DITTA !CF
|
||||
END
|
||||
|
||||
NUMERO 9 10 1
|
||||
@ -161,7 +159,7 @@ STRINGA 18 14 1
|
||||
BEGIN
|
||||
KEY "porto"
|
||||
PROMPT 52 23 ""
|
||||
FIELD 306@->S0
|
||||
FIELD 203@->S0
|
||||
END
|
||||
|
||||
NUMERO 19 7 1
|
||||
@ -175,7 +173,7 @@ DATA 20 8 1
|
||||
BEGIN
|
||||
KEY "data conferma"
|
||||
PROMPT 20 23 ""
|
||||
FIELD DATADOCRIF
|
||||
FIELD 33->DATADOCRIF
|
||||
FORMAT "1444-"
|
||||
END
|
||||
|
||||
@ -183,14 +181,14 @@ STRINGA 21 49 1
|
||||
BEGIN
|
||||
KEY "condizioni di pagamento"
|
||||
PROMPT 3 25 ""
|
||||
FIELD %CPG->S0
|
||||
FIELD 201@->S0
|
||||
END
|
||||
|
||||
STRINGA 22 29 1
|
||||
BEGIN
|
||||
KEY "banca d'appoggio"
|
||||
PROMPT 54 25 ""
|
||||
FIELD 901@->S0
|
||||
FIELD 204@->S0
|
||||
END
|
||||
|
||||
STRINGA 23 38 1
|
||||
@ -245,63 +243,63 @@ END
|
||||
END
|
||||
|
||||
/////////////////////////////////////////////////
|
||||
SECTION BODY ODD 22
|
||||
SECTION BODY ODD 1
|
||||
|
||||
STRINGA 32 13 1
|
||||
BEGIN
|
||||
KEY "codice articolo"
|
||||
PROMPT 2 ""
|
||||
FIELD 101@->CODART
|
||||
PROMPT 2 1 ""
|
||||
FIELD 34->CODART
|
||||
END
|
||||
|
||||
STRINGA 33 19 1
|
||||
BEGIN
|
||||
KEY "descrizione articolo"
|
||||
PROMPT 17 ""
|
||||
FIELD 401@->DESCR
|
||||
PROMPT 17 1 ""
|
||||
FIELD 47->DESCR
|
||||
END
|
||||
|
||||
STRINGA 34 3 1
|
||||
BEGIN
|
||||
KEY "unita' di misura"
|
||||
PROMPT 38 ""
|
||||
PROMPT 38 1 ""
|
||||
END
|
||||
|
||||
STRINGA 35 8 1
|
||||
NUMBER 35 8 1
|
||||
BEGIN
|
||||
KEY "quantita'"
|
||||
PROMPT 42 ""
|
||||
FIELD 101@->QTA
|
||||
PROMPT 42 1 ""
|
||||
FIELD 34->QTA
|
||||
END
|
||||
|
||||
STRINGA 36 10 1
|
||||
BEGIN
|
||||
KEY "prezzo unitario"
|
||||
PROMPT 52 ""
|
||||
PROMPT 52 1 ""
|
||||
END
|
||||
|
||||
STRINGA 37 3 1
|
||||
BEGIN
|
||||
KEY "sconto"
|
||||
PROMPT 64 ""
|
||||
PROMPT 64 1 ""
|
||||
END
|
||||
|
||||
STRINGA 38 11 1
|
||||
BEGIN
|
||||
KEY "importo netto"
|
||||
PROMPT 68 ""
|
||||
PROMPT 68 1 ""
|
||||
END
|
||||
|
||||
STRINGA 39 3 1
|
||||
BEGIN
|
||||
KEY "iva"
|
||||
PROMPT 81 ""
|
||||
PROMPT 81 1 ""
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
///////////////////////////////////////////////////
|
||||
SECTION FOOTER ODD
|
||||
/////////////////////////////////////////////////
|
||||
SECTION FOOTER ODD 13
|
||||
|
||||
STRINGA 40 11 1
|
||||
BEGIN
|
||||
@ -522,13 +520,14 @@ END
|
||||
|
||||
END
|
||||
|
||||
////////////////////////////////////
|
||||
SECTION FOOTER LAST 1
|
||||
/////////////////////////////////////////////////
|
||||
SECTION FOOTER LAST 13
|
||||
|
||||
STRINGA 76 5 1
|
||||
BEGIN
|
||||
KEY "stampa 'segue' in coda"
|
||||
PROMPT 73 70 "segue"
|
||||
PROMPT 73 13 "SEGUE"
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
END
|
Loading…
x
Reference in New Issue
Block a user