Creato programma stampa anagrafica magazzino, modificati prec. prog. di vendita
git-svn-id: svn://10.65.10.50/trunk@1817 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
6d115b8fef
commit
662b7d8bba
210
ve/batbcaa.uml
210
ve/batbcaa.uml
@ -1,105 +1,105 @@
|
||||
#include "BATBCAA.H"
|
||||
#define LF_PCON 19 //PIANO DEI CONTI
|
||||
|
||||
TOOLBAR "" 0 20 60 2
|
||||
#include <toolbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Tabella categoria acquisti articoli " 11 60 14
|
||||
|
||||
GROUPBOX DLG_NULL 75 7
|
||||
BEGIN
|
||||
PROMPT 1 0 ""
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
STRING F_CODICE 3
|
||||
BEGIN
|
||||
PROMPT 2 2 "Cod. Tabella "
|
||||
FIELD CAA->CODTAB
|
||||
KEY 1
|
||||
USE CAA
|
||||
|
||||
FLAG "U"
|
||||
INPUT CODTAB F_CODICE
|
||||
|
||||
DISPLAY "Codice " CODTAB
|
||||
DISPLAY "Descrizione@50 " S0
|
||||
|
||||
OUTPUT F_CODICE CODTAB
|
||||
OUTPUT F_DESCR S0
|
||||
CHECKTYPE REQUIRED
|
||||
|
||||
END
|
||||
|
||||
STRING F_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 2 4 "Descrizione "
|
||||
FIELD CAA->S0
|
||||
KEY 2
|
||||
USE CAA KEY 2
|
||||
INPUT S0 F_DESCR
|
||||
|
||||
DISPLAY "Codice " CODTAB
|
||||
DISPLAY "Descrizione@50 " S0
|
||||
|
||||
OUTPUT F_CODICE CODTAB
|
||||
OUTPUT F_DESCR S0
|
||||
CHECKTYPE REQUIRED
|
||||
|
||||
END
|
||||
|
||||
STRING F_CODCON 3
|
||||
BEGIN
|
||||
PROMPT 2 8 "Codice conto "
|
||||
FIELD CAA->S1
|
||||
FLAG "R"
|
||||
END
|
||||
|
||||
STRING F_CODCON1 3
|
||||
BEGIN
|
||||
PROMPT 25 8 ""
|
||||
FIELD CAA->S2
|
||||
USE LF_PCON SELECT INDBIL=3
|
||||
FLAG "R"
|
||||
INPUT GRUPPO F_CODCON
|
||||
INPUT CONTO F_CODCON1
|
||||
DISPLAY "Gruppo " GRUPPO
|
||||
DISPLAY "Conto " CONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_CODCON GRUPPO
|
||||
OUTPUT F_CODCON1 CONTO
|
||||
OUTPUT F_DESCR1 DESCR
|
||||
ADD RUN CG0 -0
|
||||
END
|
||||
|
||||
STRING F_CODCON2 6
|
||||
BEGIN
|
||||
PROMPT 34 8 ""
|
||||
FIELD CAA->S3
|
||||
USE LF_PCON SELECT INDBIL=3
|
||||
FLAG "R"
|
||||
INPUT GRUPPO F_CODCON
|
||||
INPUT CONTO F_CODCON1
|
||||
INPUT SOTTOCONTO F_CODCON2
|
||||
DISPLAY "Gruppo " GRUPPO
|
||||
DISPLAY "Conto " CONTO
|
||||
DISPLAY "Sottoconto " SOTTOCONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_CODCON GRUPPO
|
||||
OUTPUT F_CODCON1 CONTO
|
||||
OUTPUT F_CODCON2 SOTTOCONTO
|
||||
OUTPUT F_DESCR1 DESCR
|
||||
ADD RUN CG0 -0
|
||||
END
|
||||
|
||||
STRING F_DESCR1 50
|
||||
BEGIN
|
||||
PROMPT 17 10 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
||||
ENDMASK
|
||||
#include "BATBCAA.H"
|
||||
#define LF_PCON 19 //PIANO DEI CONTI
|
||||
|
||||
TOOLBAR "" 0 20 60 2
|
||||
#include <toolbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Tabella categoria acquisti articoli " 11 60 14
|
||||
|
||||
GROUPBOX DLG_NULL 75 7
|
||||
BEGIN
|
||||
PROMPT 1 0 ""
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
STRING F_CODICE 3
|
||||
BEGIN
|
||||
PROMPT 2 2 "Cod. Tabella "
|
||||
FIELD CAA->CODTAB
|
||||
KEY 1
|
||||
USE CAA
|
||||
|
||||
FLAG "U"
|
||||
INPUT CODTAB F_CODICE
|
||||
|
||||
DISPLAY "Codice " CODTAB
|
||||
DISPLAY "Descrizione@50 " S0
|
||||
|
||||
OUTPUT F_CODICE CODTAB
|
||||
OUTPUT F_DESCR S0
|
||||
CHECKTYPE REQUIRED
|
||||
|
||||
END
|
||||
|
||||
STRING F_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 2 4 "Descrizione "
|
||||
FIELD CAA->S0
|
||||
KEY 2
|
||||
USE CAA KEY 2
|
||||
INPUT S0 F_DESCR
|
||||
|
||||
DISPLAY "Codice " CODTAB
|
||||
DISPLAY "Descrizione@50 " S0
|
||||
|
||||
OUTPUT F_CODICE CODTAB
|
||||
OUTPUT F_DESCR S0
|
||||
CHECKTYPE REQUIRED
|
||||
|
||||
END
|
||||
|
||||
STRING F_CODCON 3
|
||||
BEGIN
|
||||
PROMPT 2 8 "Codice conto "
|
||||
FIELD CAA->S1
|
||||
FLAG "R"
|
||||
END
|
||||
|
||||
STRING F_CODCON1 3
|
||||
BEGIN
|
||||
PROMPT 25 8 ""
|
||||
FIELD CAA->S2
|
||||
USE LF_PCON SELECT INDBIL=3
|
||||
FLAG "R"
|
||||
INPUT GRUPPO F_CODCON
|
||||
INPUT CONTO F_CODCON1
|
||||
DISPLAY "Gruppo " GRUPPO
|
||||
DISPLAY "Conto " CONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_CODCON GRUPPO
|
||||
OUTPUT F_CODCON1 CONTO
|
||||
OUTPUT F_DESCR1 DESCR
|
||||
ADD RUN CG0 -0
|
||||
END
|
||||
|
||||
STRING F_CODCON2 6
|
||||
BEGIN
|
||||
PROMPT 34 8 ""
|
||||
FIELD CAA->S3
|
||||
USE LF_PCON SELECT INDBIL=3
|
||||
FLAG "R"
|
||||
INPUT GRUPPO F_CODCON
|
||||
INPUT CONTO F_CODCON1
|
||||
INPUT SOTTOCONTO F_CODCON2
|
||||
DISPLAY "Gruppo " GRUPPO
|
||||
DISPLAY "Conto " CONTO
|
||||
DISPLAY "Sottoconto " SOTTOCONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_CODCON GRUPPO
|
||||
OUTPUT F_CODCON1 CONTO
|
||||
OUTPUT F_CODCON2 SOTTOCONTO
|
||||
OUTPUT F_DESCR1 DESCR
|
||||
ADD RUN CG0 -0
|
||||
END
|
||||
|
||||
STRING F_DESCR1 50
|
||||
BEGIN
|
||||
PROMPT 17 10 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
||||
ENDMASK
|
||||
|
212
ve/batbcra.uml
212
ve/batbcra.uml
@ -1,106 +1,106 @@
|
||||
#include "BATBCRA.H"
|
||||
#define LF_PCON 19 //PIANO DEI CONTI
|
||||
|
||||
|
||||
TOOLBAR "" 0 20 60 2
|
||||
#include <toolbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Tabella categoria ricavi articoli " 11 60 14
|
||||
|
||||
GROUPBOX DLG_NULL 75 7
|
||||
BEGIN
|
||||
PROMPT 1 0 ""
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
STRING F_CODICE 3
|
||||
BEGIN
|
||||
PROMPT 2 2 "Cod. Tabella "
|
||||
FIELD CRA->CODTAB
|
||||
KEY 1
|
||||
USE CRA
|
||||
|
||||
FLAG "U"
|
||||
INPUT CODTAB F_CODICE
|
||||
|
||||
DISPLAY "Codice " CODTAB
|
||||
DISPLAY "Descrizione@50 " S0
|
||||
|
||||
OUTPUT F_CODICE CODTAB
|
||||
OUTPUT F_DESCR S0
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 2 4 "Descrizione "
|
||||
FIELD CRA->S0
|
||||
KEY 2
|
||||
USE CRA KEY 2
|
||||
INPUT S0 F_DESCR
|
||||
|
||||
DISPLAY "Codice " CODTAB
|
||||
DISPLAY "Descrizione@50 " S0
|
||||
|
||||
OUTPUT F_CODICE CODTAB
|
||||
OUTPUT F_DESCR S0
|
||||
CHECKTYPE REQUIRED
|
||||
|
||||
END
|
||||
|
||||
STRING F_CODCON 3
|
||||
BEGIN
|
||||
PROMPT 2 8 "Codice conto "
|
||||
FIELD CRA->S1
|
||||
FLAG "R"
|
||||
END
|
||||
|
||||
STRING F_CODCON1 3
|
||||
BEGIN
|
||||
PROMPT 25 8 ""
|
||||
FIELD CRA->S2
|
||||
USE LF_PCON SELECT INDBIL="4"
|
||||
FLAG "R"
|
||||
INPUT GRUPPO F_CODCON
|
||||
INPUT CONTO F_CODCON1
|
||||
DISPLAY "Gruppo " GRUPPO
|
||||
DISPLAY "Conto " CONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_CODCON GRUPPO
|
||||
OUTPUT F_CODCON1 CONTO
|
||||
OUTPUT F_DESCR1 DESCR
|
||||
ADD RUN CG0 -0
|
||||
END
|
||||
|
||||
STRING F_CODCON2 6
|
||||
BEGIN
|
||||
PROMPT 34 8 ""
|
||||
FIELD CRA->S3
|
||||
USE LF_PCON SELECT INDBIL="4"
|
||||
FLAG "R"
|
||||
INPUT GRUPPO F_CODCON
|
||||
INPUT CONTO F_CODCON1
|
||||
INPUT SOTTOCONTO F_CODCON2
|
||||
DISPLAY "Gruppo " GRUPPO
|
||||
DISPLAY "Conto " CONTO
|
||||
DISPLAY "Sottoconto " SOTTOCONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_CODCON GRUPPO
|
||||
OUTPUT F_CODCON1 CONTO
|
||||
OUTPUT F_CODCON2 SOTTOCONTO
|
||||
OUTPUT F_DESCR1 DESCR
|
||||
ADD RUN CG0 -0
|
||||
|
||||
END
|
||||
|
||||
STRING F_DESCR1 50
|
||||
BEGIN
|
||||
PROMPT 17 10 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
||||
ENDMASK
|
||||
#include "BATBCRA.H"
|
||||
#define LF_PCON 19 //PIANO DEI CONTI
|
||||
|
||||
|
||||
TOOLBAR "" 0 20 60 2
|
||||
#include <toolbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Tabella categoria ricavi articoli " 11 60 14
|
||||
|
||||
GROUPBOX DLG_NULL 75 7
|
||||
BEGIN
|
||||
PROMPT 1 0 ""
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
STRING F_CODICE 3
|
||||
BEGIN
|
||||
PROMPT 2 2 "Cod. Tabella "
|
||||
FIELD CRA->CODTAB
|
||||
KEY 1
|
||||
USE CRA
|
||||
|
||||
FLAG "U"
|
||||
INPUT CODTAB F_CODICE
|
||||
|
||||
DISPLAY "Codice " CODTAB
|
||||
DISPLAY "Descrizione@50 " S0
|
||||
|
||||
OUTPUT F_CODICE CODTAB
|
||||
OUTPUT F_DESCR S0
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 2 4 "Descrizione "
|
||||
FIELD CRA->S0
|
||||
KEY 2
|
||||
USE CRA KEY 2
|
||||
INPUT S0 F_DESCR
|
||||
|
||||
DISPLAY "Codice " CODTAB
|
||||
DISPLAY "Descrizione@50 " S0
|
||||
|
||||
OUTPUT F_CODICE CODTAB
|
||||
OUTPUT F_DESCR S0
|
||||
CHECKTYPE REQUIRED
|
||||
|
||||
END
|
||||
|
||||
STRING F_CODCON 3
|
||||
BEGIN
|
||||
PROMPT 2 8 "Codice conto "
|
||||
FIELD CRA->S1
|
||||
FLAG "R"
|
||||
END
|
||||
|
||||
STRING F_CODCON1 3
|
||||
BEGIN
|
||||
PROMPT 25 8 ""
|
||||
FIELD CRA->S2
|
||||
USE LF_PCON SELECT INDBIL="4"
|
||||
FLAG "R"
|
||||
INPUT GRUPPO F_CODCON
|
||||
INPUT CONTO F_CODCON1
|
||||
DISPLAY "Gruppo " GRUPPO
|
||||
DISPLAY "Conto " CONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_CODCON GRUPPO
|
||||
OUTPUT F_CODCON1 CONTO
|
||||
OUTPUT F_DESCR1 DESCR
|
||||
ADD RUN CG0 -0
|
||||
END
|
||||
|
||||
STRING F_CODCON2 6
|
||||
BEGIN
|
||||
PROMPT 34 8 ""
|
||||
FIELD CRA->S3
|
||||
USE LF_PCON SELECT INDBIL="4"
|
||||
FLAG "R"
|
||||
INPUT GRUPPO F_CODCON
|
||||
INPUT CONTO F_CODCON1
|
||||
INPUT SOTTOCONTO F_CODCON2
|
||||
DISPLAY "Gruppo " GRUPPO
|
||||
DISPLAY "Conto " CONTO
|
||||
DISPLAY "Sottoconto " SOTTOCONTO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_CODCON GRUPPO
|
||||
OUTPUT F_CODCON1 CONTO
|
||||
OUTPUT F_CODCON2 SOTTOCONTO
|
||||
OUTPUT F_DESCR1 DESCR
|
||||
ADD RUN CG0 -0
|
||||
|
||||
END
|
||||
|
||||
STRING F_DESCR1 50
|
||||
BEGIN
|
||||
PROMPT 17 10 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
||||
ENDMASK
|
||||
|
63
ve/batbnum.h
63
ve/batbnum.h
@ -1,32 +1,31 @@
|
||||
#define F_CODTAB 101
|
||||
#define F_DESNUM 102
|
||||
#define F_ULTNUM 103
|
||||
#define F_ULTNUMPROV 104
|
||||
#define F_PREFISSO 105
|
||||
#define F_SUFFISSO 106
|
||||
#define F_ULTDATA 107
|
||||
#define F_ANNO 108
|
||||
#define F_TIPODOC1 110
|
||||
#define F_DESDOC1 111
|
||||
#define F_TIPODOC2 112
|
||||
#define F_DESDOC2 113
|
||||
#define F_TIPODOC3 114
|
||||
#define F_DESDOC3 115
|
||||
#define F_TIPODOC4 116
|
||||
#define F_DESDOC4 117
|
||||
#define F_TIPODOC5 118
|
||||
#define F_DESDOC5 119
|
||||
#define F_TIPODOC6 120
|
||||
#define F_DESDOC6 121
|
||||
#define F_TIPODOC7 122
|
||||
#define F_DESDOC7 123
|
||||
#define F_TIPODOC8 124
|
||||
#define F_DESDOC8 125
|
||||
#define F_TIPODOC9 126
|
||||
#define F_DESDOC9 127
|
||||
#define F_TIPODOC10 128
|
||||
#define F_DESDOC10 129
|
||||
#define F_NUMPROVV 130
|
||||
#define F_NUMAUTO 131
|
||||
#define F_ULTDATAPROV 132
|
||||
|
||||
#define F_CODTAB 101
|
||||
#define F_DESNUM 102
|
||||
#define F_ULTNUM 103
|
||||
#define F_ULTNUMPROV 104
|
||||
#define F_PREFISSO 105
|
||||
#define F_SUFFISSO 106
|
||||
#define F_ULTDATA 107
|
||||
#define F_ANNO 108
|
||||
#define F_TIPODOC1 110
|
||||
#define F_DESDOC1 111
|
||||
#define F_TIPODOC2 112
|
||||
#define F_DESDOC2 113
|
||||
#define F_TIPODOC3 114
|
||||
#define F_DESDOC3 115
|
||||
#define F_TIPODOC4 116
|
||||
#define F_DESDOC4 117
|
||||
#define F_TIPODOC5 118
|
||||
#define F_DESDOC5 119
|
||||
#define F_TIPODOC6 120
|
||||
#define F_DESDOC6 121
|
||||
#define F_TIPODOC7 122
|
||||
#define F_DESDOC7 123
|
||||
#define F_TIPODOC8 124
|
||||
#define F_DESDOC8 125
|
||||
#define F_TIPODOC9 126
|
||||
#define F_DESDOC9 127
|
||||
#define F_TIPODOC10 128
|
||||
#define F_DESDOC10 129
|
||||
#define F_NUMPROVV 130
|
||||
#define F_NUMAUTO 131
|
||||
#define F_ULTDATAPROV 132
|
||||
|
206
ve/batbrfa.uml
206
ve/batbrfa.uml
@ -1,103 +1,103 @@
|
||||
#include "batbrfa.h"
|
||||
|
||||
TOOLBAR "" 0 20 0 2
|
||||
#include <toolbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Raggruppamento fiscali articoli" -1 -1 78 9
|
||||
|
||||
GROUPBOX DLG_NULL 75 7
|
||||
BEGIN
|
||||
PROMPT 1 0 ""
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
STRING FLD_TABRFA_CODTAB 5
|
||||
BEGIN
|
||||
PROMPT 2 2 "Codice "
|
||||
FIELD CODTAB
|
||||
USE RFA
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODTAB FLD_TABRFA_CODTAB
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FLD_TABRFA_CODTAB CODTAB
|
||||
OUTPUT FLD_TABRFA_S0 S0
|
||||
KEY 1
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
STRING FLD_TABRFA_S0 50
|
||||
BEGIN
|
||||
PROMPT 2 4 "Descrizione "
|
||||
FIELD S0
|
||||
USE RFA KEY 2
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Manca la descrizione"
|
||||
INPUT S0 FLD_TABRFA_S0
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT FLD_TABRFA_CODTAB
|
||||
KEY 2
|
||||
END
|
||||
|
||||
STRING FLD_TABRFA_S7 2
|
||||
BEGIN
|
||||
PROMPT 2 8 "Unita' di misura "
|
||||
FIELD S7
|
||||
END
|
||||
|
||||
STRING FLD_TABRFA_S8 1
|
||||
BEGIN
|
||||
PROMPT 2 10 "Classe fiscale "
|
||||
FIELD S8
|
||||
USE ASF
|
||||
INPUT CODTAB FLD_TABRFA_S8
|
||||
DISPLAY "Cl. Fisc." CODTAB
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT FLD_TABRFA_S8 CODTAB
|
||||
OUTPUT FLD_DESCFA S0
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING FLD_DESCFA 30
|
||||
BEGIN
|
||||
PROMPT 25 10 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
NUMBER FLD_TABRFA_R0 6 2
|
||||
BEGIN
|
||||
PROMPT 2 12 "Perc. ricarico medio "
|
||||
FIELD R0
|
||||
END
|
||||
|
||||
NUMBER FLD_TABRFA_R1 12 2
|
||||
BEGIN
|
||||
PROMPT 2 14 "Costo minimo "
|
||||
FIELD R1
|
||||
END
|
||||
|
||||
NUMBER FLD_TABRFA_R2 12 2
|
||||
BEGIN
|
||||
PROMPT 45 14 "massimo "
|
||||
FIELD R2
|
||||
END
|
||||
|
||||
LIST FLD_TABRFA_I0 1 30
|
||||
BEGIN
|
||||
PROMPT 2 16 "Tipo costo "
|
||||
FIELD I0
|
||||
HELP "Inserire il tipo di costo"
|
||||
ITEM "1|Costo medio annuale"
|
||||
ITEM "2|Costo ultimi 3 mesi"
|
||||
ITEM "3|Costo ultimo"
|
||||
ITEM "4|Costo standard"
|
||||
ITEM "5|Maggiore ultimi due costi"
|
||||
ITEM "6|Costo massimo d'acquisto"
|
||||
ITEM "7|Costo minimo d'acquisto"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
#include "batbrfa.h"
|
||||
|
||||
TOOLBAR "" 0 20 0 2
|
||||
#include <toolbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Raggruppamento fiscali articoli" -1 -1 78 9
|
||||
|
||||
GROUPBOX DLG_NULL 75 7
|
||||
BEGIN
|
||||
PROMPT 1 0 ""
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
STRING FLD_TABRFA_CODTAB 5
|
||||
BEGIN
|
||||
PROMPT 2 2 "Codice "
|
||||
FIELD CODTAB
|
||||
USE RFA
|
||||
CHECKTYPE REQUIRED
|
||||
INPUT CODTAB FLD_TABRFA_CODTAB
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FLD_TABRFA_CODTAB CODTAB
|
||||
OUTPUT FLD_TABRFA_S0 S0
|
||||
KEY 1
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
STRING FLD_TABRFA_S0 50
|
||||
BEGIN
|
||||
PROMPT 2 4 "Descrizione "
|
||||
FIELD S0
|
||||
USE RFA KEY 2
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Manca la descrizione"
|
||||
INPUT S0 FLD_TABRFA_S0
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT FLD_TABRFA_CODTAB
|
||||
KEY 2
|
||||
END
|
||||
|
||||
STRING FLD_TABRFA_S7 2
|
||||
BEGIN
|
||||
PROMPT 2 8 "Unita' di misura "
|
||||
FIELD S7
|
||||
END
|
||||
|
||||
STRING FLD_TABRFA_S8 1
|
||||
BEGIN
|
||||
PROMPT 2 10 "Classe fiscale "
|
||||
FIELD S8
|
||||
USE ASF
|
||||
INPUT CODTAB FLD_TABRFA_S8
|
||||
DISPLAY "Cl. Fisc." CODTAB
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT FLD_TABRFA_S8 CODTAB
|
||||
OUTPUT FLD_DESCFA S0
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING FLD_DESCFA 30
|
||||
BEGIN
|
||||
PROMPT 25 10 ""
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
NUMBER FLD_TABRFA_R0 6 2
|
||||
BEGIN
|
||||
PROMPT 2 12 "Perc. ricarico medio "
|
||||
FIELD R0
|
||||
END
|
||||
|
||||
NUMBER FLD_TABRFA_R1 12 2
|
||||
BEGIN
|
||||
PROMPT 2 14 "Costo minimo "
|
||||
FIELD R1
|
||||
END
|
||||
|
||||
NUMBER FLD_TABRFA_R2 12 2
|
||||
BEGIN
|
||||
PROMPT 45 14 "massimo "
|
||||
FIELD R2
|
||||
END
|
||||
|
||||
LIST FLD_TABRFA_I0 1 30
|
||||
BEGIN
|
||||
PROMPT 2 16 "Tipo costo "
|
||||
FIELD I0
|
||||
HELP "Inserire il tipo di costo"
|
||||
ITEM "1|Costo medio annuale"
|
||||
ITEM "2|Costo ultimi 3 mesi"
|
||||
ITEM "3|Costo ultimo"
|
||||
ITEM "4|Costo standard"
|
||||
ITEM "5|Maggiore ultimi due costi"
|
||||
ITEM "6|Costo massimo d'acquisto"
|
||||
ITEM "7|Costo minimo d'acquisto"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
128
ve/riga2.uml
128
ve/riga2.uml
@ -1,64 +1,64 @@
|
||||
TOOLBAR "" 0 20 60 2
|
||||
BUTTON 1 10 2
|
||||
BEGIN
|
||||
PROMPT -13 -1 ""
|
||||
MESSAGE EXIT,312
|
||||
END
|
||||
BUTTON 17 8 2
|
||||
BEGIN
|
||||
PROMPT -23 -1 "~Elimina"
|
||||
MESSAGE EXIT,127
|
||||
END
|
||||
BUTTON 2 10 2
|
||||
BEGIN
|
||||
PROMPT -33 -1 ""
|
||||
MESSAGE EXIT,27
|
||||
END
|
||||
END
|
||||
PAGE "Riga base" 1 1 60 14
|
||||
STRING FS_TIPORIGA 2
|
||||
BEGIN
|
||||
PROMPT 2 2 "Tipo riga "
|
||||
END
|
||||
STRING FS_CODMAG 3
|
||||
BEGIN
|
||||
PROMPT 2 4 "Cod. Art. "
|
||||
END
|
||||
STRING FS_CODART 30
|
||||
BEGIN
|
||||
PROMPT 2 4 "Cod. Art. "
|
||||
END
|
||||
STRING FS_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 2 6 "Descrizione "
|
||||
END
|
||||
STRING FS_UMQTA 2
|
||||
BEGIN
|
||||
PROMPT 2 8 "UM "
|
||||
END
|
||||
NUMBER FS_QTA 11 03
|
||||
BEGIN
|
||||
PROMPT 2 10 "Qt… "
|
||||
END
|
||||
NUMBER FS_TARA 15 02
|
||||
BEGIN
|
||||
PROMPT 2 12 "Prezzo "
|
||||
END
|
||||
STRING FS_CODIVA 4
|
||||
BEGIN
|
||||
PROMPT 2 14 "Cod.IVA "
|
||||
END
|
||||
BOOLEAN FS_ADDIVA
|
||||
BEGIN
|
||||
PROMPT 2 16 "Addebito IVA "
|
||||
END
|
||||
STRING FS_SCONTO 25
|
||||
BEGIN
|
||||
PROMPT 2 18 "Sconto "
|
||||
END
|
||||
NUMBER FS_PERCPROV 5 02
|
||||
BEGIN
|
||||
PROMPT 40 18 "Perc.Provv. "
|
||||
END
|
||||
END
|
||||
ENDMASK
|
||||
TOOLBAR "" 0 20 60 2
|
||||
BUTTON 1 10 2
|
||||
BEGIN
|
||||
PROMPT -13 -1 ""
|
||||
MESSAGE EXIT,312
|
||||
END
|
||||
BUTTON 17 8 2
|
||||
BEGIN
|
||||
PROMPT -23 -1 "~Elimina"
|
||||
MESSAGE EXIT,127
|
||||
END
|
||||
BUTTON 2 10 2
|
||||
BEGIN
|
||||
PROMPT -33 -1 ""
|
||||
MESSAGE EXIT,27
|
||||
END
|
||||
END
|
||||
PAGE "Riga base" 1 1 60 14
|
||||
STRING FS_TIPORIGA 2
|
||||
BEGIN
|
||||
PROMPT 2 2 "Tipo riga "
|
||||
END
|
||||
STRING FS_CODMAG 3
|
||||
BEGIN
|
||||
PROMPT 2 4 "Cod. Art. "
|
||||
END
|
||||
STRING FS_CODART 30
|
||||
BEGIN
|
||||
PROMPT 2 4 "Cod. Art. "
|
||||
END
|
||||
STRING FS_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 2 6 "Descrizione "
|
||||
END
|
||||
STRING FS_UMQTA 2
|
||||
BEGIN
|
||||
PROMPT 2 8 "UM "
|
||||
END
|
||||
NUMBER FS_QTA 11 03
|
||||
BEGIN
|
||||
PROMPT 2 10 "Qt… "
|
||||
END
|
||||
NUMBER FS_TARA 15 02
|
||||
BEGIN
|
||||
PROMPT 2 12 "Prezzo "
|
||||
END
|
||||
STRING FS_CODIVA 4
|
||||
BEGIN
|
||||
PROMPT 2 14 "Cod.IVA "
|
||||
END
|
||||
BOOLEAN FS_ADDIVA
|
||||
BEGIN
|
||||
PROMPT 2 16 "Addebito IVA "
|
||||
END
|
||||
STRING FS_SCONTO 25
|
||||
BEGIN
|
||||
PROMPT 2 18 "Sconto "
|
||||
END
|
||||
NUMBER FS_PERCPROV 5 02
|
||||
BEGIN
|
||||
PROMPT 40 18 "Perc.Provv. "
|
||||
END
|
||||
END
|
||||
ENDMASK
|
||||
|
364
ve/tclifor.cpp
364
ve/tclifor.cpp
@ -1,182 +1,182 @@
|
||||
#ifndef __TCLIFOR_H
|
||||
#include "tclifor.h"
|
||||
#endif
|
||||
|
||||
#ifndef __VEUML1_H
|
||||
#include "veuml1.h"
|
||||
#endif
|
||||
|
||||
#ifndef __VE1000O_H
|
||||
#include "ve1000o.h"
|
||||
#endif
|
||||
|
||||
const TString& TData_picker::get( const TString& table, const TString& codtab, const TString& field )
|
||||
{
|
||||
if( table != _tablename )
|
||||
{
|
||||
delete _table;
|
||||
_table = new TTable( table );
|
||||
_tablename = table;
|
||||
}
|
||||
if( codtab != _table->curr( ).get( "CODTAB" ) )
|
||||
{
|
||||
_table->zero( );
|
||||
_table->put( "CODTAB", codtab );
|
||||
_table->read( );
|
||||
}
|
||||
return _table->get( field );
|
||||
};
|
||||
|
||||
void TData_picker::set( TMask& m, const int mskfield, const TString& value )
|
||||
{
|
||||
if( present( m, mskfield ) )
|
||||
{
|
||||
m.set( mskfield, value, TRUE );
|
||||
m.field( mskfield ).check( );
|
||||
}
|
||||
};
|
||||
|
||||
const TString& TData_picker::get( const int file, const TString& fieldname )
|
||||
{
|
||||
return lfile( file ).get( fieldname );
|
||||
}
|
||||
|
||||
int TData_picker::get_int( const int file, const TString& fieldname )
|
||||
{
|
||||
return lfile( file ).get_int( fieldname );
|
||||
}
|
||||
|
||||
long TData_picker::get_long( const int file, const TString& fieldname )
|
||||
{
|
||||
return lfile( file ).get_long( fieldname );
|
||||
}
|
||||
|
||||
bool TData_picker::get_bool( const int file, const TString& fieldname )
|
||||
{
|
||||
return lfile( file ).get_bool( fieldname );
|
||||
}
|
||||
|
||||
int TCliFor::write_occas( )
|
||||
{
|
||||
if( !occasionale( ) )
|
||||
return NOERR;
|
||||
TRelation occas( LF_OCCAS );
|
||||
occas_mask( ).autosave( &occas );
|
||||
return occas.write( );
|
||||
}
|
||||
|
||||
TCliFor::TCliFor( ) : TData_picker( LF_CLIFO ), _occas_mask( "ve1000o" )
|
||||
{
|
||||
_occas_mask.set_handler( O_CODICE, occas_code_handler );
|
||||
add( LF_CFVEN, "TIPOCF=TIPOCF|CODCF=CODCF" );
|
||||
}
|
||||
|
||||
void TCliFor::load( const char tipocf, const long codcf, const TString& ocfpi )
|
||||
{
|
||||
_tipocf = tipocf;
|
||||
_codcf = codcf;
|
||||
zero( );
|
||||
curr( ).put( "TIPOCF", tipocf );
|
||||
curr( ).put( "CODCF", codcf );
|
||||
lfile( ).setkey( 1 );
|
||||
if( read( ) != NOERR )
|
||||
yesnofatal_box( "Il %s %d non è stato trovato!", tipocf == 'C'?"cliente":"fornitore", codcf );
|
||||
_occas = curr().get_bool( "OCCAS" );
|
||||
if ( occasionale( ) )
|
||||
{
|
||||
TRelation occrel( LF_OCCAS );
|
||||
occrel.curr( ).zero( );
|
||||
occrel.curr( ).put( "CFPI", ocfpi );
|
||||
occrel.read( );
|
||||
occas_mask( ).autoload( &occrel );
|
||||
}
|
||||
}
|
||||
|
||||
void TCliForVendite::update_mask( TMask& m, bool onload )
|
||||
{
|
||||
// Setta i campi che appartengono al file LF_CLIFO
|
||||
bool occas = occasionale( );
|
||||
show( m, F_OCFPI, occas );
|
||||
show( m, F_OCCASEDIT, occas );
|
||||
// In forse per l'Occasionale, sicuri per il Normale
|
||||
m.show( F_COFI, !occas );
|
||||
m.show( F_STATOPAIVA, !occas );
|
||||
m.show( F_PAIVA, !occas );
|
||||
set( m, F_RAGSOC, LF_CLIFO, "RAGSOC" );
|
||||
if( !onload )
|
||||
{
|
||||
set( m, F_CODVAL, LF_CLIFO, "CODVAL" );
|
||||
set( m, F_CODLIN, LF_CLIFO, "CODLIN" );
|
||||
set( m, F_CODPAG, LF_CLIFO, "CODPAG" );
|
||||
// Questo nonb va qua, ma nella read
|
||||
set( m, F_DATAINSC, m.get( F_DATADOC ) );
|
||||
set( m, F_CODABIA, LF_CLIFO, "CODABI" );
|
||||
set( m, F_CODCABA, LF_CLIFO, "CODCAB" );
|
||||
// Setta i campi che appartengono al file LF_CFVEN
|
||||
set( m, F_CODABIP, LF_CFVEN, "CODABIPR" );
|
||||
set( m, F_CODCABP, LF_CFVEN, "CODCABPR" );
|
||||
set( m, F_RAGGR, LF_CFVEN, "RAGGDOC" );
|
||||
set( m, F_CODINDSP, LF_CFVEN, "CODINDSP" );
|
||||
set( m, F_CODAG, LF_CFVEN, "CODAG" );
|
||||
set( m, F_CODSPMEZZO, LF_CFVEN, "CODSPMEZZO" );
|
||||
set( m, F_CODPORTO, LF_CFVEN, "CODPORTO" );
|
||||
set( m, F_CODNOTESP1, LF_CFVEN, "CODNOTESP1" );
|
||||
set( m, F_CODNOTESP2, LF_CFVEN, "CODNOTESP2" );
|
||||
set( m, F_CODVETT1, LF_CFVEN, "CODVETT1" );
|
||||
set( m, F_CODVETT2, LF_CFVEN, "CODVETT2" );
|
||||
set( m, F_CODVETT3, LF_CFVEN, "CODVETT3" );
|
||||
set( m, F_SPESEINC, LF_CFVEN, "ADDSPINC" );
|
||||
set( m, F_ADDBRB, LF_CFVEN, "ADDBOLLIRB" );
|
||||
set( m, F_ADDBTR, LF_CFVEN, "ADDBOLLITR" );
|
||||
}
|
||||
if ( occasionale ( ) )
|
||||
{
|
||||
// set( m, F_COFI, "" );
|
||||
// set( m, F_PAIVA, "" );
|
||||
set( m, F_OCFPI, occas_mask( ).get( O_CODICE ) );
|
||||
set( m, F_RAGSOC, occas_mask( ).get( O_RAGSOC ) );
|
||||
set( m, F_INDCF, occas_mask( ).get( O_INDIRIZZO ) );
|
||||
set( m, F_CIVCF, occas_mask( ).get( O_NUMERO ) );
|
||||
set( m, F_CAPCF, occas_mask( ).get( O_CAP ) );
|
||||
set( m, F_COMCF, occas_mask( ).get( O_COMUNE ) );
|
||||
set( m, F_STATOCF, occas_mask( ).get( O_STATO ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
set( m, F_COFI, LF_CLIFO, "COMCF" );
|
||||
set( m, F_INDCF, LF_CLIFO, "INDCF" );
|
||||
set( m, F_CIVCF, LF_CLIFO, "CIVCF" );
|
||||
set( m, F_STATOPAIVA, LF_CLIFO, "STATOPAIV" );
|
||||
set( m, F_PAIVA, LF_CLIFO, "PAIV" );
|
||||
set( m, F_LOCALITACF, LF_CLIFO, "LOCALITACF" );
|
||||
set( m, F_CAPCF, LF_CLIFO, "CAPCF" );
|
||||
set( m, F_COMCF, LF_CLIFO, "COMCF" );
|
||||
set( m, F_STATOCF, LF_CLIFO, "STATOCF" );
|
||||
}
|
||||
}
|
||||
|
||||
void TCliFor::edita_occasionale( )
|
||||
{
|
||||
CHECK( occasionale( ), "Impossibile editare come occasionale un cliente non occasionale!" );
|
||||
_occas_mask.run( );
|
||||
};
|
||||
|
||||
bool TCliFor::occas_code_handler(TMask_field& f, KEY key)
|
||||
{
|
||||
if (key == K_TAB)
|
||||
{
|
||||
const char* code = f.get();
|
||||
if (*code)
|
||||
{
|
||||
TRelation occas(LF_OCCAS);
|
||||
occas.lfile().put("CFPI", code);
|
||||
if (occas.read(_isequal) == NOERR)
|
||||
{
|
||||
f.mask().autoload(&occas);
|
||||
f.mask().send_key(K_TAB, O_COMUNE); // Forza decodifica comuni
|
||||
f.mask().send_key(K_TAB, O_COMUNENAS);
|
||||
}
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
#ifndef __TCLIFOR_H
|
||||
#include "tclifor.h"
|
||||
#endif
|
||||
|
||||
#ifndef __VEUML1_H
|
||||
#include "veuml1.h"
|
||||
#endif
|
||||
|
||||
#ifndef __VE1000O_H
|
||||
#include "ve1000o.h"
|
||||
#endif
|
||||
|
||||
const TString& TData_picker::get( const TString& table, const TString& codtab, const TString& field )
|
||||
{
|
||||
if( table != _tablename )
|
||||
{
|
||||
delete _table;
|
||||
_table = new TTable( table );
|
||||
_tablename = table;
|
||||
}
|
||||
if( codtab != _table->curr( ).get( "CODTAB" ) )
|
||||
{
|
||||
_table->zero( );
|
||||
_table->put( "CODTAB", codtab );
|
||||
_table->read( );
|
||||
}
|
||||
return _table->get( field );
|
||||
};
|
||||
|
||||
void TData_picker::set( TMask& m, const int mskfield, const TString& value )
|
||||
{
|
||||
if( present( m, mskfield ) )
|
||||
{
|
||||
m.set( mskfield, value, TRUE );
|
||||
m.field( mskfield ).check( );
|
||||
}
|
||||
};
|
||||
|
||||
const TString& TData_picker::get( const int file, const TString& fieldname )
|
||||
{
|
||||
return lfile( file ).get( fieldname );
|
||||
}
|
||||
|
||||
int TData_picker::get_int( const int file, const TString& fieldname )
|
||||
{
|
||||
return lfile( file ).get_int( fieldname );
|
||||
}
|
||||
|
||||
long TData_picker::get_long( const int file, const TString& fieldname )
|
||||
{
|
||||
return lfile( file ).get_long( fieldname );
|
||||
}
|
||||
|
||||
bool TData_picker::get_bool( const int file, const TString& fieldname )
|
||||
{
|
||||
return lfile( file ).get_bool( fieldname );
|
||||
}
|
||||
|
||||
int TCliFor::write_occas( )
|
||||
{
|
||||
if( !occasionale( ) )
|
||||
return NOERR;
|
||||
TRelation occas( LF_OCCAS );
|
||||
occas_mask( ).autosave( &occas );
|
||||
return occas.write( );
|
||||
}
|
||||
|
||||
TCliFor::TCliFor( ) : TData_picker( LF_CLIFO ), _occas_mask( "ve1000o" )
|
||||
{
|
||||
_occas_mask.set_handler( O_CODICE, occas_code_handler );
|
||||
add( LF_CFVEN, "TIPOCF=TIPOCF|CODCF=CODCF" );
|
||||
}
|
||||
|
||||
void TCliFor::load( const char tipocf, const long codcf, const TString& ocfpi )
|
||||
{
|
||||
_tipocf = tipocf;
|
||||
_codcf = codcf;
|
||||
zero( );
|
||||
curr( ).put( "TIPOCF", tipocf );
|
||||
curr( ).put( "CODCF", codcf );
|
||||
lfile( ).setkey( 1 );
|
||||
if( read( ) != NOERR )
|
||||
yesnofatal_box( "Il %s %d non è stato trovato!", tipocf == 'C'?"cliente":"fornitore", codcf );
|
||||
_occas = curr().get_bool( "OCCAS" );
|
||||
if ( occasionale( ) )
|
||||
{
|
||||
TRelation occrel( LF_OCCAS );
|
||||
occrel.curr( ).zero( );
|
||||
occrel.curr( ).put( "CFPI", ocfpi );
|
||||
occrel.read( );
|
||||
occas_mask( ).autoload( &occrel );
|
||||
}
|
||||
}
|
||||
|
||||
void TCliForVendite::update_mask( TMask& m, bool onload )
|
||||
{
|
||||
// Setta i campi che appartengono al file LF_CLIFO
|
||||
bool occas = occasionale( );
|
||||
show( m, F_OCFPI, occas );
|
||||
show( m, F_OCCASEDIT, occas );
|
||||
// In forse per l'Occasionale, sicuri per il Normale
|
||||
m.show( F_COFI, !occas );
|
||||
m.show( F_STATOPAIVA, !occas );
|
||||
m.show( F_PAIVA, !occas );
|
||||
set( m, F_RAGSOC, LF_CLIFO, "RAGSOC" );
|
||||
if( !onload )
|
||||
{
|
||||
set( m, F_CODVAL, LF_CLIFO, "CODVAL" );
|
||||
set( m, F_CODLIN, LF_CLIFO, "CODLIN" );
|
||||
set( m, F_CODPAG, LF_CLIFO, "CODPAG" );
|
||||
// Questo nonb va qua, ma nella read
|
||||
set( m, F_DATAINSC, m.get( F_DATADOC ) );
|
||||
set( m, F_CODABIA, LF_CLIFO, "CODABI" );
|
||||
set( m, F_CODCABA, LF_CLIFO, "CODCAB" );
|
||||
// Setta i campi che appartengono al file LF_CFVEN
|
||||
set( m, F_CODABIP, LF_CFVEN, "CODABIPR" );
|
||||
set( m, F_CODCABP, LF_CFVEN, "CODCABPR" );
|
||||
set( m, F_RAGGR, LF_CFVEN, "RAGGDOC" );
|
||||
set( m, F_CODINDSP, LF_CFVEN, "CODINDSP" );
|
||||
set( m, F_CODAG, LF_CFVEN, "CODAG" );
|
||||
set( m, F_CODSPMEZZO, LF_CFVEN, "CODSPMEZZO" );
|
||||
set( m, F_CODPORTO, LF_CFVEN, "CODPORTO" );
|
||||
set( m, F_CODNOTESP1, LF_CFVEN, "CODNOTESP1" );
|
||||
set( m, F_CODNOTESP2, LF_CFVEN, "CODNOTESP2" );
|
||||
set( m, F_CODVETT1, LF_CFVEN, "CODVETT1" );
|
||||
set( m, F_CODVETT2, LF_CFVEN, "CODVETT2" );
|
||||
set( m, F_CODVETT3, LF_CFVEN, "CODVETT3" );
|
||||
set( m, F_SPESEINC, LF_CFVEN, "ADDSPINC" );
|
||||
set( m, F_ADDBRB, LF_CFVEN, "ADDBOLLIRB" );
|
||||
set( m, F_ADDBTR, LF_CFVEN, "ADDBOLLITR" );
|
||||
}
|
||||
if ( occasionale ( ) )
|
||||
{
|
||||
// set( m, F_COFI, "" );
|
||||
// set( m, F_PAIVA, "" );
|
||||
set( m, F_OCFPI, occas_mask( ).get( O_CODICE ) );
|
||||
set( m, F_RAGSOC, occas_mask( ).get( O_RAGSOC ) );
|
||||
set( m, F_INDCF, occas_mask( ).get( O_INDIRIZZO ) );
|
||||
set( m, F_CIVCF, occas_mask( ).get( O_NUMERO ) );
|
||||
set( m, F_CAPCF, occas_mask( ).get( O_CAP ) );
|
||||
set( m, F_COMCF, occas_mask( ).get( O_COMUNE ) );
|
||||
set( m, F_STATOCF, occas_mask( ).get( O_STATO ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
set( m, F_COFI, LF_CLIFO, "COMCF" );
|
||||
set( m, F_INDCF, LF_CLIFO, "INDCF" );
|
||||
set( m, F_CIVCF, LF_CLIFO, "CIVCF" );
|
||||
set( m, F_STATOPAIVA, LF_CLIFO, "STATOPAIV" );
|
||||
set( m, F_PAIVA, LF_CLIFO, "PAIV" );
|
||||
set( m, F_LOCALITACF, LF_CLIFO, "LOCALITACF" );
|
||||
set( m, F_CAPCF, LF_CLIFO, "CAPCF" );
|
||||
set( m, F_COMCF, LF_CLIFO, "COMCF" );
|
||||
set( m, F_STATOCF, LF_CLIFO, "STATOCF" );
|
||||
}
|
||||
}
|
||||
|
||||
void TCliFor::edita_occasionale( )
|
||||
{
|
||||
CHECK( occasionale( ), "Impossibile editare come occasionale un cliente non occasionale!" );
|
||||
_occas_mask.run( );
|
||||
};
|
||||
|
||||
bool TCliFor::occas_code_handler(TMask_field& f, KEY key)
|
||||
{
|
||||
if (key == K_TAB)
|
||||
{
|
||||
const char* code = f.get();
|
||||
if (*code)
|
||||
{
|
||||
TRelation occas(LF_OCCAS);
|
||||
occas.lfile().put("CFPI", code);
|
||||
if (occas.read(_isequal) == NOERR)
|
||||
{
|
||||
f.mask().autoload(&occas);
|
||||
f.mask().send_key(K_TAB, O_COMUNE); // Forza decodifica comuni
|
||||
f.mask().send_key(K_TAB, O_COMUNENAS);
|
||||
}
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
140
ve/tclifor.h
140
ve/tclifor.h
@ -1,70 +1,70 @@
|
||||
#ifndef __TCLIFOR_H
|
||||
#define __TCLIFOR_H
|
||||
|
||||
#ifndef __CHECKS_H
|
||||
#include <checks.h>
|
||||
#endif
|
||||
|
||||
#ifndef __RELATION_H
|
||||
#include <relation.h>
|
||||
#endif
|
||||
|
||||
#ifndef __TABUTIL_H
|
||||
#include <tabutil.h>
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef __MASK_H
|
||||
#include <mask.h>
|
||||
#endif
|
||||
|
||||
class TData_picker : public TRelation
|
||||
{
|
||||
private:
|
||||
|
||||
TTable* _table;
|
||||
TString16 _tablename;
|
||||
|
||||
public:
|
||||
TData_picker( const int mainfile ) : TRelation ( mainfile ) { }
|
||||
const TString& get( const TString& table, const TString& codtab, const TString& field );
|
||||
const TString& get( const int file, const TString& fieldname );
|
||||
int get_int( const int file, const TString& fieldname );
|
||||
long get_long( const int file, const TString& fieldname );
|
||||
bool get_bool( const int file, const TString& fieldname );
|
||||
bool present( TMask& m, const int mskfield ){ return ( m.id2pos( mskfield ) >= 0 ); }
|
||||
void set( TMask& m, const int mskfield, const int file, const TString& filefield ){ set( m, mskfield, get( file, filefield ) ); };
|
||||
void set( TMask& m, const int mskfield, const TString& value );
|
||||
void show( TMask& m, const int mskfield, const bool show = TRUE ){ if( present( m, mskfield ) ) m.show( mskfield, show ); };
|
||||
void hide( TMask& m, const int mskfield ){ show( m, mskfield, FALSE ); };
|
||||
};
|
||||
|
||||
class TCliFor : public TData_picker
|
||||
{
|
||||
private:
|
||||
|
||||
char _tipocf;
|
||||
long _codcf;
|
||||
bool _occas;
|
||||
TMask _occas_mask;
|
||||
|
||||
public:
|
||||
|
||||
TCliFor( );
|
||||
void load( const char tipocf, const long codcf, const TString& ocfpi );
|
||||
bool occasionale( ){ return get_bool( LF_CLIFO, "OCCAS" ); };
|
||||
TMask& occas_mask( ){ return _occas_mask; };
|
||||
static bool occas_code_handler(TMask_field& f, KEY key);
|
||||
int write_occas( );
|
||||
void edita_occasionale( );
|
||||
|
||||
};
|
||||
|
||||
class TCliForVendite : public TCliFor
|
||||
{
|
||||
public:
|
||||
|
||||
void update_mask( TMask& m, bool onload = FALSE );
|
||||
};
|
||||
|
||||
#endif
|
||||
#ifndef __TCLIFOR_H
|
||||
#define __TCLIFOR_H
|
||||
|
||||
#ifndef __CHECKS_H
|
||||
#include <checks.h>
|
||||
#endif
|
||||
|
||||
#ifndef __RELATION_H
|
||||
#include <relation.h>
|
||||
#endif
|
||||
|
||||
#ifndef __TABUTIL_H
|
||||
#include <tabutil.h>
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef __MASK_H
|
||||
#include <mask.h>
|
||||
#endif
|
||||
|
||||
class TData_picker : public TRelation
|
||||
{
|
||||
private:
|
||||
|
||||
TTable* _table;
|
||||
TString16 _tablename;
|
||||
|
||||
public:
|
||||
TData_picker( const int mainfile ) : TRelation ( mainfile ) { }
|
||||
const TString& get( const TString& table, const TString& codtab, const TString& field );
|
||||
const TString& get( const int file, const TString& fieldname );
|
||||
int get_int( const int file, const TString& fieldname );
|
||||
long get_long( const int file, const TString& fieldname );
|
||||
bool get_bool( const int file, const TString& fieldname );
|
||||
bool present( TMask& m, const int mskfield ){ return ( m.id2pos( mskfield ) >= 0 ); }
|
||||
void set( TMask& m, const int mskfield, const int file, const TString& filefield ){ set( m, mskfield, get( file, filefield ) ); };
|
||||
void set( TMask& m, const int mskfield, const TString& value );
|
||||
void show( TMask& m, const int mskfield, const bool show = TRUE ){ if( present( m, mskfield ) ) m.show( mskfield, show ); };
|
||||
void hide( TMask& m, const int mskfield ){ show( m, mskfield, FALSE ); };
|
||||
};
|
||||
|
||||
class TCliFor : public TData_picker
|
||||
{
|
||||
private:
|
||||
|
||||
char _tipocf;
|
||||
long _codcf;
|
||||
bool _occas;
|
||||
TMask _occas_mask;
|
||||
|
||||
public:
|
||||
|
||||
TCliFor( );
|
||||
void load( const char tipocf, const long codcf, const TString& ocfpi );
|
||||
bool occasionale( ){ return get_bool( LF_CLIFO, "OCCAS" ); };
|
||||
TMask& occas_mask( ){ return _occas_mask; };
|
||||
static bool occas_code_handler(TMask_field& f, KEY key);
|
||||
int write_occas( );
|
||||
void edita_occasionale( );
|
||||
|
||||
};
|
||||
|
||||
class TCliForVendite : public TCliFor
|
||||
{
|
||||
public:
|
||||
|
||||
void update_mask( TMask& m, bool onload = FALSE );
|
||||
};
|
||||
|
||||
#endif
|
||||
|
2344
ve/ve0100.cpp
2344
ve/ve0100.cpp
File diff suppressed because it is too large
Load Diff
@ -1,40 +1,40 @@
|
||||
#ifndef __VE0100D_H
|
||||
#include "ve0100d.h"
|
||||
#endif
|
||||
|
||||
// IMPORTO NETTO
|
||||
real f100( TRectype& r )
|
||||
{
|
||||
return( r.get_real( "PREZZO" ) * r.get_real( "QTA" ) );
|
||||
};
|
||||
|
||||
// IMPORTO NETTO PROVVIGIONI
|
||||
real f200( TRectype& r )
|
||||
{
|
||||
return( f100(r) * r.get_real( "PERCPROV" ) );
|
||||
};
|
||||
|
||||
// ARTICOLI
|
||||
real f300( TRectype& r )
|
||||
{
|
||||
return( 1 );
|
||||
};
|
||||
|
||||
// QUANTITA'
|
||||
real f400( TRectype& r )
|
||||
{
|
||||
return( r.get_real( "QTA" ) );
|
||||
};
|
||||
|
||||
// PREZZO
|
||||
real f500( TRectype& r )
|
||||
{
|
||||
return( r.get_real( "PREZZO" ) );
|
||||
};
|
||||
|
||||
// SCONTO ***
|
||||
real f600( TRectype& r )
|
||||
{
|
||||
return( 13 );
|
||||
};
|
||||
|
||||
#ifndef __VE0100D_H
|
||||
#include "ve0100d.h"
|
||||
#endif
|
||||
|
||||
// IMPORTO NETTO
|
||||
real f100( TRectype& r )
|
||||
{
|
||||
return( r.get_real( "PREZZO" ) * r.get_real( "QTA" ) );
|
||||
};
|
||||
|
||||
// IMPORTO NETTO PROVVIGIONI
|
||||
real f200( TRectype& r )
|
||||
{
|
||||
return( f100(r) * r.get_real( "PERCPROV" ) );
|
||||
};
|
||||
|
||||
// ARTICOLI
|
||||
real f300( TRectype& r )
|
||||
{
|
||||
return( 1 );
|
||||
};
|
||||
|
||||
// QUANTITA'
|
||||
real f400( TRectype& r )
|
||||
{
|
||||
return( r.get_real( "QTA" ) );
|
||||
};
|
||||
|
||||
// PREZZO
|
||||
real f500( TRectype& r )
|
||||
{
|
||||
return( r.get_real( "PREZZO" ) );
|
||||
};
|
||||
|
||||
// SCONTO ***
|
||||
real f600( TRectype& r )
|
||||
{
|
||||
return( 13 );
|
||||
};
|
||||
|
||||
|
34
ve/ve0100d.h
34
ve/ve0100d.h
@ -1,17 +1,17 @@
|
||||
#define __VE0100D_H
|
||||
|
||||
#ifndef __REAL_H
|
||||
#include "real.h"
|
||||
#endif
|
||||
|
||||
#ifndef __ISAM_H
|
||||
#include "isam.h"
|
||||
#endif
|
||||
|
||||
|
||||
real f100( TRectype& r );
|
||||
real f200( TRectype& r );
|
||||
real f300( TRectype& r );
|
||||
real f400( TRectype& r );
|
||||
real f500( TRectype& r );
|
||||
real f600( TRectype& r );
|
||||
#define __VE0100D_H
|
||||
|
||||
#ifndef __REAL_H
|
||||
#include "real.h"
|
||||
#endif
|
||||
|
||||
#ifndef __ISAM_H
|
||||
#include "isam.h"
|
||||
#endif
|
||||
|
||||
|
||||
real f100( TRectype& r );
|
||||
real f200( TRectype& r );
|
||||
real f300( TRectype& r );
|
||||
real f400( TRectype& r );
|
||||
real f500( TRectype& r );
|
||||
real f600( TRectype& r );
|
||||
|
2426
ve/ve0300.cpp
2426
ve/ve0300.cpp
File diff suppressed because it is too large
Load Diff
@ -155,8 +155,8 @@ bool TCondizioni_vendita::handle_mask(TMask &m, KEY k) {
|
||||
appname << _condven; // aggiunge al lancio dell'applicazione la selezione del tipo di archivio
|
||||
TMessage msg(cmd2name(appname), MSG_FS, (const char *)body); // istanzia il messaggio per l'applicazione
|
||||
msg.send(); // invia il messaggio all'applicazione
|
||||
TExternal_app ve2_3(appname); // istanzia l'applicazione esterna...
|
||||
ve2_3.run(); // ...la lancia e rimane in attesa del suo termine
|
||||
TExternal_app ve2_2(appname); // istanzia l'applicazione esterna...
|
||||
ve2_2.run(); // ...la lancia e rimane in attesa del suo termine
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -125,13 +125,6 @@ BEGIN
|
||||
//FLAG "R"
|
||||
END
|
||||
|
||||
// bottone di lancio dell'applicazione delle righe
|
||||
BUTTON BTN_RIGHE 63 1
|
||||
BEGIN
|
||||
PROMPT 0 -1 "Editing delle righe di questa testata"
|
||||
MESSAGE K_F5
|
||||
END
|
||||
|
||||
STRING F_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 2 7 "Descrizione "
|
||||
@ -236,6 +229,13 @@ BEGIN
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
// bottone di lancio dell'applicazione delle righe
|
||||
BUTTON BTN_RIGHE 63 1
|
||||
BEGIN
|
||||
PROMPT 0 -1 "Editing delle righe di questa testata"
|
||||
MESSAGE K_F5
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
@ -62,7 +62,7 @@ STRING F_R_L_COD 3 // campo riservato ai listini
|
||||
BEGIN
|
||||
PROMPT 2 3 "Codice listino "
|
||||
FIELD LF_RCONDV->COD
|
||||
FLAG "UP"
|
||||
FLAG "UPG"
|
||||
KEY 1
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_R_TIPO SELECT
|
||||
@ -81,7 +81,7 @@ NUMBER F_R_C_COD 3 // campo riservato ai contratti
|
||||
BEGIN
|
||||
PROMPT 2 3 "Numero contratto "
|
||||
FIELD LF_RCONDV->COD
|
||||
FLAG "P"
|
||||
FLAG "PG"
|
||||
KEY 1
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_R_TIPO SELECT
|
||||
@ -103,7 +103,7 @@ STRING F_R_O_COD 3 // campo riservato alle offerte
|
||||
BEGIN
|
||||
PROMPT 2 2 "Codice offerta "
|
||||
FIELD LF_RCONDV->COD
|
||||
FLAG "UP"
|
||||
FLAG "UPG"
|
||||
KEY 1
|
||||
USE LF_CONDV
|
||||
INPUT TIPO F_R_TIPO SELECT
|
||||
@ -150,7 +150,7 @@ BEGIN
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_R_CODRIGA_G CODTAB
|
||||
CHECKTYPE REQUIRED
|
||||
MESSAGE COPY,F_CODRIGA_A
|
||||
MESSAGE COPY,F_R_CODRIGA_A
|
||||
END
|
||||
|
||||
STRING F_R_CODRIGA_R 20
|
||||
@ -164,7 +164,7 @@ BEGIN
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_R_CODRIGA_R CODTAB
|
||||
CHECKTYPE REQUIRED
|
||||
MESSAGE COPY,F_CODRIGA_A
|
||||
MESSAGE COPY,F_R_CODRIGA_A
|
||||
END
|
||||
|
||||
STRING F_R_NSCAGL 1
|
||||
@ -288,8 +288,8 @@ BOOLEAN F_R_ADDIVA
|
||||
BEGIN
|
||||
PROMPT 2 11 "Addebito IVA"
|
||||
FIELD LF_RCONDV->ADDIVA
|
||||
MESSAGE TRUE ENABLE,F_CODIVA
|
||||
MESSAGE FALSE DISABLE,F_CODIVA
|
||||
MESSAGE TRUE ENABLE,F_R_CODIVA
|
||||
MESSAGE FALSE DISABLE,F_R_CODIVA
|
||||
END
|
||||
|
||||
STRING F_R_CODIVA 4
|
||||
@ -309,7 +309,7 @@ NUMBER F_R_PERCPROVV 5 2
|
||||
BEGIN
|
||||
PROMPT 2 12 "Provvigione % "
|
||||
FIELD LF_RCONDV->PERCPROVV
|
||||
NUM_EXPR (#F_PERCPROVV>=0)&&(#F_PERCPROVV<=100)
|
||||
NUM_EXPR (#F_R_PERCPROVV>=0)&&(#F_R_PERCPROVV<=100)
|
||||
WARNING "La percentuale di provvigione deve essere compresa tra 0 e 100"
|
||||
END
|
||||
|
||||
|
24
ve/ve3.cpp
Executable file
24
ve/ve3.cpp
Executable file
@ -0,0 +1,24 @@
|
||||
|
||||
#include <checks.h>
|
||||
#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
|
||||
|
||||
|
||||
|
||||
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;
|
||||
}
|
||||
return (rt);
|
||||
}
|
17
ve/ve3.h
Executable file
17
ve/ve3.h
Executable file
@ -0,0 +1,17 @@
|
||||
#ifndef __VE2_H
|
||||
#define __VE2_H
|
||||
|
||||
#ifdef MAIN
|
||||
#define extern
|
||||
#endif
|
||||
|
||||
int ve2100(int argc, char* argv[]); // Tabella testate listini e righe listini
|
||||
int ve2200(int argc, char* argv[]); // Archivio contratti e righe contratti
|
||||
int ve2300(int argc, char* argv[]); // Archivio indirizzo clienti
|
||||
|
||||
#ifdef MAIN
|
||||
#undef extern
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
27
ve/ve3.url
Executable file
27
ve/ve3.url
Executable file
@ -0,0 +1,27 @@
|
||||
#include <default.url>
|
||||
|
||||
MENU TASK_MENUBAR
|
||||
SUBMENU MENU_FILE "~File"
|
||||
ITEM BAR_ITEM(1) "~Parametri"
|
||||
|
||||
|
||||
MENUBAR MENU_BAR(1)
|
||||
|
||||
MENU MENU_BAR(1)
|
||||
SUBMENU MENU_FILE "~File"
|
||||
ITEM BAR_ITEM(1) "~Parametri"
|
||||
|
||||
|
||||
MENUBAR MENU_BAR(2)
|
||||
|
||||
MENU MENU_BAR(2)
|
||||
SUBMENU MENU_FILE "~File"
|
||||
ITEM BAR_ITEM(1) "~Parametri"
|
||||
|
||||
MENUBAR MENU_BAR(3)
|
||||
|
||||
MENU MENU_BAR(3)
|
||||
SUBMENU MENU_FILE "~File"
|
||||
ITEM BAR_ITEM(1) "~Parametri"
|
||||
|
||||
|
236
ve/ve3400.cpp
Executable file
236
ve/ve3400.cpp
Executable file
@ -0,0 +1,236 @@
|
||||
|
||||
#include <printapp.h>
|
||||
#include <mailbox.h>
|
||||
#include <mask.h>
|
||||
#include <execp.h>
|
||||
|
||||
#include "ve3400.h"
|
||||
|
||||
#define GMC1 101
|
||||
#define GMC2 102
|
||||
#define GMC3 103
|
||||
|
||||
#define ANAMAG_APP "ve2 -3"
|
||||
|
||||
|
||||
|
||||
int max3(int a, int b, int c) { // funzione che ritorna il massimo di tre valori
|
||||
if (a>b) {
|
||||
if (a>c) return a; // a>b & a>c -> abc | acb
|
||||
else return c; // a>b & c>a -> cab
|
||||
} else {
|
||||
if (b>c) return b; // b>a & b>c -> bca | bac
|
||||
else return c; // b>a & c>b -> cba
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
class TStampa_anagrafica_magazzino: public TPrint_application {
|
||||
TRelation *_rel; // relazione principale
|
||||
TLocalisamfile *_umart, *_codcorr; // file per l'accesso a unità di misura articoli e codici corrispondenti
|
||||
TRecord_array *_arr_umart, *_arr_codcorr; // record array per la lettura di u. m. articoli e codici corrisp.
|
||||
bool _st_umart, _st_codcorr, _st_fisc; // booleano per la stampa condizionale di u. m. artic., cod. corrisp. e dati fisc.
|
||||
int _anagr_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 *);
|
||||
};
|
||||
|
||||
|
||||
|
||||
bool TStampa_anagrafica_magazzino::user_create() {
|
||||
_rel= new TRelation(LF_ANAGR); // crea la relazione principale
|
||||
_rel->add("%GMC", "CODTAB==GRMERC1", 1, 0, GMC1); // aggancia la tabella Gruppi Merceologici al primo campo GRMERC1
|
||||
_rel->add("%GMC", "CODTAB==GRMERC2", 1, 0, GMC2); // aggancia la tabella Gruppi Merceologici al secondo campo GRMERC2
|
||||
_rel->add("%GMC", "CODTAB==GRMERC3", 1, 0, GMC3); // aggancia la tabella Gruppi Merceologici al terzo campo GRMERC3
|
||||
_rel->add(LF_UMART, "CODART==CODART"); // aggancia il file con le unità di misura dell'articolo
|
||||
_rel->add(LF_CODCORR, "CODART==CODART"); // aggancia il file con i codici corrispondenti
|
||||
_rel->add(LF_CLIFO, "TIPOCF==\"F\"|CODCF==CODFORN"); // aggancia il file clienti/fornitori
|
||||
_arr_umart= _arr_codcorr= NULL; // annulla file e record array su unità di misura articoli e codici corrispondenti
|
||||
_umart= _codcorr= NULL;
|
||||
add_cursor(new TCursor(_rel)); // costruisce il cursore sulla relazione e lo passa alla stampa
|
||||
add_file(LF_ANAGR); // notifica il file principale alla stampa
|
||||
enable_print_menu(); // abilita il menù di stampa
|
||||
enable_setprint_menu(); // abilita il menù di settaggio della stampa
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TStampa_anagrafica_magazzino::user_destroy() {
|
||||
if (_st_codcorr) { // se è abilitata la stampa dei codici corrispondenti vengono chiusi i file relativi
|
||||
delete _arr_codcorr; // distrugge il record array sui codici corrispondenti
|
||||
delete _codcorr; // distrugge il file dei codici corrispondenti
|
||||
}
|
||||
if (_st_umart) { // se è abilitata la stampa delle unità di misura vengono chiusi i file relativi
|
||||
delete _umart; // distrugge il file delle unità di misura degli articoli
|
||||
delete _arr_umart; // distrugge il record array sulle unità di misura degli articoli
|
||||
}
|
||||
delete _rel; // distrugge la relazione principale
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TStampa_anagrafica_magazzino::set_print(int) {
|
||||
TMask mask("ve3400"); // istanzia la maschera di selezione del filtro di stampa
|
||||
if (mask.run()== K_ENTER) { // lancia la maschera, se viene confermata vengono trovati gli estremi del cursore
|
||||
_st_umart= mask.get_bool(F_ST_UMART); // legge il booleano di stampa delle unità di misura
|
||||
_st_codcorr= mask.get_bool(F_ST_CODCORR); // legge il booleano di stampa dei codici corrispondenti
|
||||
_st_fisc= mask.get_bool(F_ST_FISC); // legge il booleano di stampa dei dati fiscali
|
||||
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
|
||||
return TRUE;
|
||||
} else return FALSE;
|
||||
}
|
||||
|
||||
/* 1 1 1 1
|
||||
1 2 3 4 5 6 7 8 9 0 1 2 3
|
||||
123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012
|
||||
|
||||
Prima riga
|
||||
CODART T DESCR GRMER GRMERC-DESCR
|
||||
12345678901234567890 1 12345678901234567890123456789012345678901234567890 12345 12345678901234567890123456789012345678901234567890
|
||||
|
||||
Righe successive
|
||||
CODARTALT T nota "Codice alternativo" UM UM-FC GRMER GRMERC-DESCR
|
||||
12345678901234567890 1 123456789012345678 12 1234567890,12345 12345 12345678901234567890123456789012345678901234567890
|
||||
|
||||
Penultima riga
|
||||
CODCF CODCF-RAGSOC COSTOST UP PESO TARA
|
||||
12345 12345678901234567890123456789012345678901234567890 123456789012345,67890 12 123456789012345,67890 123456789012345,67890
|
||||
|
||||
Ultima riga
|
||||
PPCONF PPCOLLO AP RD AF RAGFI C CCA GRP CON SOTTOC CCV GRP CON SOTTOC CLASSDOG IVA IVAR
|
||||
123456789012345,67890 123456789012345,67890 12 12 12 12345 1 123 123 123 123456 123 123 123 123456 1234567890 1234 1234
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
||||
|
||||
void TStampa_anagrafica_magazzino::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, "");
|
||||
}
|
||||
|
||||
void TStampa_anagrafica_magazzino::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, "");
|
||||
}
|
||||
}
|
||||
|
||||
void TStampa_anagrafica_magazzino::process_link(int id, const char *text) {
|
||||
if (id== _anagr_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
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
int ve3400(int argc, char* argv[]) {
|
||||
TStampa_anagrafica_magazzino a;
|
||||
|
||||
a.run(argc, argv, "Stampa anagrafica magazzino");
|
||||
return 0;
|
||||
}
|
10
ve/ve3400.h
Executable file
10
ve/ve3400.h
Executable file
@ -0,0 +1,10 @@
|
||||
|
||||
#define F_CODART_1 101
|
||||
#define F_DESCR_1 102
|
||||
|
||||
#define F_CODART_2 111
|
||||
#define F_DESCR_2 112
|
||||
|
||||
#define F_ST_UMART 121
|
||||
#define F_ST_CODCORR 122
|
||||
#define F_ST_FISC 123
|
94
ve/ve3400.uml
Executable file
94
ve/ve3400.uml
Executable file
@ -0,0 +1,94 @@
|
||||
#include <lffiles.h>
|
||||
#include "VE3400.H"
|
||||
|
||||
PAGE "Stampa anagrafica di magazzino " -1 -1 72 14
|
||||
|
||||
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
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 9 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
26
ve/veini.h
26
ve/veini.h
@ -1,13 +1,13 @@
|
||||
#define T_DATA 1
|
||||
#define T_STRINGA 2
|
||||
#define T_NUMERO 3
|
||||
#define T_CHECKBOX 4
|
||||
#define T_LISTA 5
|
||||
#define T_MEMO 6
|
||||
#define T_CORNICE 7
|
||||
#define T_BOTTONE 8
|
||||
|
||||
#define S_NASCOSTO 0
|
||||
#define S_DISABILITATO 1
|
||||
#define S_NORMALE 2
|
||||
#define S_OBBLIGATORIO 3
|
||||
#define T_DATA 1
|
||||
#define T_STRINGA 2
|
||||
#define T_NUMERO 3
|
||||
#define T_CHECKBOX 4
|
||||
#define T_LISTA 5
|
||||
#define T_MEMO 6
|
||||
#define T_CORNICE 7
|
||||
#define T_BOTTONE 8
|
||||
|
||||
#define S_NASCOSTO 0
|
||||
#define S_DISABILITATO 1
|
||||
#define S_NORMALE 2
|
||||
#define S_OBBLIGATORIO 3
|
||||
|
170
ve/veuml.h
170
ve/veuml.h
@ -1,85 +1,85 @@
|
||||
#ifndef __VEUML_H
|
||||
#define __VEUML_H
|
||||
|
||||
#define F_CODNUM 101 // GESTITO DAL MOTORE
|
||||
#define F_ANNO 102 // GESTITO DAL MOTORE
|
||||
#define F_PROVV 103 // GESTITO DAL MOTORE
|
||||
#define F_NDOC 104 // GESTITO DAL MOTORE
|
||||
#define F_STATO 105 // GESTITO DAL MOTORE
|
||||
#define F_DATADOC 106
|
||||
#define F_TIPOCF 107 // GESTITO DAL MOTORE
|
||||
#define F_CODCF 108
|
||||
#define F_OCFPI 109
|
||||
#define F_OCCAS 110
|
||||
#define F_CODVAL 111
|
||||
#define F_CAMBIO 112
|
||||
#define F_CODLIN 113
|
||||
#define F_RAGGR 114 // GESTITO DAL MOTORE
|
||||
#define F_CODPAG 115
|
||||
#define F_DATAINSC 116
|
||||
#define F_CODABIA 117
|
||||
#define F_CODCABA 118
|
||||
#define F_CODABIP 119
|
||||
#define F_CODCABP 120
|
||||
#define F_CODLIST 121
|
||||
#define F_CODCONT 122
|
||||
#define F_CODCAMP 123
|
||||
#define F_SCONTOPERC 124
|
||||
#define F_CODINDSP 125
|
||||
#define F_DATADOCRIF 126
|
||||
#define F_NUMDOCRIF 127
|
||||
#define F_CODAG 128
|
||||
#define F_CODAGVIS 129
|
||||
#define F_CODSPMEZZO 130
|
||||
#define F_CODPORTO 131
|
||||
#define F_CODNOTESP1 132
|
||||
#define F_CODNOTESP2 133
|
||||
#define F_CAUSTRASP 134
|
||||
#define F_CODVETT1 135
|
||||
#define F_CODVETT2 136
|
||||
#define F_CODVETT3 137
|
||||
#define F_NCOPIE 138 // GESTITO DAL MOTORE
|
||||
#define F_DATAPART 139
|
||||
#define F_ORAPART 140
|
||||
#define F_IMPPAGATO 141
|
||||
#define F_ACCSALDO 142
|
||||
#define F_DOC1 143
|
||||
#define F_DOC2 144
|
||||
#define F_DOC3 145
|
||||
#define F_DATACONS 146
|
||||
#define F_ASPBENI1 147
|
||||
#define F_ASPBENI2 148
|
||||
#define F_IMPNETTI 149
|
||||
#define F_RAGGREFF 150 // GESTITO DAL MOTORE
|
||||
#define F_SPESEINC 151
|
||||
#define F_ADDBRB 152
|
||||
#define F_ADDBTR 153
|
||||
#define F_ADDBDE 154
|
||||
#define F_CODIVABRB 155
|
||||
#define F_CODIVABTR 156
|
||||
#define F_CODIVABTRE 157
|
||||
#define F_CODIVABDE 158
|
||||
#define F_UMTARA 159
|
||||
#define F_TARA 160
|
||||
#define F_UMPNETTO 161
|
||||
#define F_PNETTO 162
|
||||
#define F_NCOLLI 163
|
||||
#define F_CAUSMAG1 164
|
||||
#define F_CAUSMAG2 165
|
||||
#define F_NOTE 166
|
||||
#define F_G1 167
|
||||
#define F_G2 168
|
||||
#define F_DATAAGG 169 // GESTITO DAL MOTORE
|
||||
#define F_UTENTE 170 // GESTITO DAL MOTORE
|
||||
#define F_PROFILO 171 // GESTITO DAL MOTORE
|
||||
#define F_TIPODOC 172 // GESTITO DAL MOTORE
|
||||
#define F_DESNUM 173 // GESTITO DAL MOTORE
|
||||
#define F_TIPIDOCS 174 // GESTITO DAL MOTORE
|
||||
#define F_LBTIPORIGA 175 // GESTITO DAL MOTORE
|
||||
#define F_DESTIPODOC 176 // GESTITO DAL MOTORE
|
||||
#define F_DESCF 177 // GESTITO DAL MOTORE
|
||||
#define DLG_ELABORA 178 // GESTITO DAL MOTORE: bottone Elabora
|
||||
#define F_ATTIVAANNO 179 // GESTITO DAL MOTORE
|
||||
#define F_OCCASEDIT 180 // GESTITO DAL MOTORE
|
||||
|
||||
#endif // veuml.h
|
||||
#ifndef __VEUML_H
|
||||
#define __VEUML_H
|
||||
|
||||
#define F_CODNUM 101 // GESTITO DAL MOTORE
|
||||
#define F_ANNO 102 // GESTITO DAL MOTORE
|
||||
#define F_PROVV 103 // GESTITO DAL MOTORE
|
||||
#define F_NDOC 104 // GESTITO DAL MOTORE
|
||||
#define F_STATO 105 // GESTITO DAL MOTORE
|
||||
#define F_DATADOC 106
|
||||
#define F_TIPOCF 107 // GESTITO DAL MOTORE
|
||||
#define F_CODCF 108
|
||||
#define F_OCFPI 109
|
||||
#define F_OCCAS 110
|
||||
#define F_CODVAL 111
|
||||
#define F_CAMBIO 112
|
||||
#define F_CODLIN 113
|
||||
#define F_RAGGR 114 // GESTITO DAL MOTORE
|
||||
#define F_CODPAG 115
|
||||
#define F_DATAINSC 116
|
||||
#define F_CODABIA 117
|
||||
#define F_CODCABA 118
|
||||
#define F_CODABIP 119
|
||||
#define F_CODCABP 120
|
||||
#define F_CODLIST 121
|
||||
#define F_CODCONT 122
|
||||
#define F_CODCAMP 123
|
||||
#define F_SCONTOPERC 124
|
||||
#define F_CODINDSP 125
|
||||
#define F_DATADOCRIF 126
|
||||
#define F_NUMDOCRIF 127
|
||||
#define F_CODAG 128
|
||||
#define F_CODAGVIS 129
|
||||
#define F_CODSPMEZZO 130
|
||||
#define F_CODPORTO 131
|
||||
#define F_CODNOTESP1 132
|
||||
#define F_CODNOTESP2 133
|
||||
#define F_CAUSTRASP 134
|
||||
#define F_CODVETT1 135
|
||||
#define F_CODVETT2 136
|
||||
#define F_CODVETT3 137
|
||||
#define F_NCOPIE 138 // GESTITO DAL MOTORE
|
||||
#define F_DATAPART 139
|
||||
#define F_ORAPART 140
|
||||
#define F_IMPPAGATO 141
|
||||
#define F_ACCSALDO 142
|
||||
#define F_DOC1 143
|
||||
#define F_DOC2 144
|
||||
#define F_DOC3 145
|
||||
#define F_DATACONS 146
|
||||
#define F_ASPBENI1 147
|
||||
#define F_ASPBENI2 148
|
||||
#define F_IMPNETTI 149
|
||||
#define F_RAGGREFF 150 // GESTITO DAL MOTORE
|
||||
#define F_SPESEINC 151
|
||||
#define F_ADDBRB 152
|
||||
#define F_ADDBTR 153
|
||||
#define F_ADDBDE 154
|
||||
#define F_CODIVABRB 155
|
||||
#define F_CODIVABTR 156
|
||||
#define F_CODIVABTRE 157
|
||||
#define F_CODIVABDE 158
|
||||
#define F_UMTARA 159
|
||||
#define F_TARA 160
|
||||
#define F_UMPNETTO 161
|
||||
#define F_PNETTO 162
|
||||
#define F_NCOLLI 163
|
||||
#define F_CAUSMAG1 164
|
||||
#define F_CAUSMAG2 165
|
||||
#define F_NOTE 166
|
||||
#define F_G1 167
|
||||
#define F_G2 168
|
||||
#define F_DATAAGG 169 // GESTITO DAL MOTORE
|
||||
#define F_UTENTE 170 // GESTITO DAL MOTORE
|
||||
#define F_PROFILO 171 // GESTITO DAL MOTORE
|
||||
#define F_TIPODOC 172 // GESTITO DAL MOTORE
|
||||
#define F_DESNUM 173 // GESTITO DAL MOTORE
|
||||
#define F_TIPIDOCS 174 // GESTITO DAL MOTORE
|
||||
#define F_LBTIPORIGA 175 // GESTITO DAL MOTORE
|
||||
#define F_DESTIPODOC 176 // GESTITO DAL MOTORE
|
||||
#define F_DESCF 177 // GESTITO DAL MOTORE
|
||||
#define DLG_ELABORA 178 // GESTITO DAL MOTORE: bottone Elabora
|
||||
#define F_ATTIVAANNO 179 // GESTITO DAL MOTORE
|
||||
#define F_OCCASEDIT 180 // GESTITO DAL MOTORE
|
||||
|
||||
#endif // veuml.h
|
||||
|
124
ve/veuml1.h
124
ve/veuml1.h
@ -1,62 +1,62 @@
|
||||
#ifndef __VEUML1_H
|
||||
#define __VEUML1_H
|
||||
|
||||
#ifndef __VEUML_H
|
||||
#include "VEUML.H"
|
||||
#endif
|
||||
|
||||
// gruppo dei vettori
|
||||
|
||||
#define GR_VETTORI 15
|
||||
|
||||
// campi della maschera totale
|
||||
|
||||
#define F_RAGSOC 301
|
||||
#define F_INDCF 302
|
||||
#define F_CIVCF 303
|
||||
#define F_NOME_VAL 304
|
||||
#define F_DESCODPAG 305
|
||||
#define F_DATASCAD1 306
|
||||
#define F_DATASCAD2 307
|
||||
#define F_DATASCAD3 308
|
||||
#define F_DATASCAD4 309
|
||||
#define F_DATASCAD5 310
|
||||
#define F_BANCA_APP 311
|
||||
#define F_BANCA_PRE 312
|
||||
#define F_INDSP 313
|
||||
#define F_CIVSP 314
|
||||
#define F_CAPSP 315
|
||||
#define F_LOCALITASP 316
|
||||
#define F_PORTO 317
|
||||
#define F_DENCAUSTRASP 318
|
||||
#define F_NOMEVETT1 319
|
||||
#define F_NOMEVETT2 320
|
||||
#define F_NOMEVETT3 321
|
||||
#define F_DESCRBENI1 322
|
||||
#define F_DESCRBENI2 323
|
||||
#define F_DESUMTARA 324
|
||||
#define F_DESUMPNETTO 325
|
||||
#define F_DESCRMAG1 326
|
||||
#define F_DESCRMAG2 327
|
||||
#define F_COFI 328
|
||||
#define F_STATOPAIVA 329
|
||||
#define F_LOCALITACF 330
|
||||
#define F_CAPCF 331
|
||||
#define F_COMCF 332
|
||||
#define F_PROVCOM 333
|
||||
#define F_STATOCF 334
|
||||
#define F_DATACAMBIO 335
|
||||
#define F_DESBANAPP 336
|
||||
#define F_DESLIN 337
|
||||
#define F_DESBANPRE 338
|
||||
#define F_NOMEVAL 339
|
||||
#define F_PAIVA 340
|
||||
#define F_DENCOM 341
|
||||
#define F_DESSTATOCF 342
|
||||
#define F_COMSP 343
|
||||
#define F_DENCOMSP 344
|
||||
#define F_PROVCOMSP 345
|
||||
#define F_STATOSP 346
|
||||
#define F_DESSTATOSP 347
|
||||
#define F_DESLIST 348
|
||||
#endif // __VEUML1_H
|
||||
#ifndef __VEUML1_H
|
||||
#define __VEUML1_H
|
||||
|
||||
#ifndef __VEUML_H
|
||||
#include "VEUML.H"
|
||||
#endif
|
||||
|
||||
// gruppo dei vettori
|
||||
|
||||
#define GR_VETTORI 15
|
||||
|
||||
// campi della maschera totale
|
||||
|
||||
#define F_RAGSOC 301
|
||||
#define F_INDCF 302
|
||||
#define F_CIVCF 303
|
||||
#define F_NOME_VAL 304
|
||||
#define F_DESCODPAG 305
|
||||
#define F_DATASCAD1 306
|
||||
#define F_DATASCAD2 307
|
||||
#define F_DATASCAD3 308
|
||||
#define F_DATASCAD4 309
|
||||
#define F_DATASCAD5 310
|
||||
#define F_BANCA_APP 311
|
||||
#define F_BANCA_PRE 312
|
||||
#define F_INDSP 313
|
||||
#define F_CIVSP 314
|
||||
#define F_CAPSP 315
|
||||
#define F_LOCALITASP 316
|
||||
#define F_PORTO 317
|
||||
#define F_DENCAUSTRASP 318
|
||||
#define F_NOMEVETT1 319
|
||||
#define F_NOMEVETT2 320
|
||||
#define F_NOMEVETT3 321
|
||||
#define F_DESCRBENI1 322
|
||||
#define F_DESCRBENI2 323
|
||||
#define F_DESUMTARA 324
|
||||
#define F_DESUMPNETTO 325
|
||||
#define F_DESCRMAG1 326
|
||||
#define F_DESCRMAG2 327
|
||||
#define F_COFI 328
|
||||
#define F_STATOPAIVA 329
|
||||
#define F_LOCALITACF 330
|
||||
#define F_CAPCF 331
|
||||
#define F_COMCF 332
|
||||
#define F_PROVCOM 333
|
||||
#define F_STATOCF 334
|
||||
#define F_DATACAMBIO 335
|
||||
#define F_DESBANAPP 336
|
||||
#define F_DESLIN 337
|
||||
#define F_DESBANPRE 338
|
||||
#define F_NOMEVAL 339
|
||||
#define F_PAIVA 340
|
||||
#define F_DENCOM 341
|
||||
#define F_DESSTATOCF 342
|
||||
#define F_COMSP 343
|
||||
#define F_DENCOMSP 344
|
||||
#define F_PROVCOMSP 345
|
||||
#define F_STATOSP 346
|
||||
#define F_DESSTATOSP 347
|
||||
#define F_DESLIST 348
|
||||
#endif // __VEUML1_H
|
||||
|
Loading…
x
Reference in New Issue
Block a user