git-svn-id: svn://10.65.10.50/branches/R_10_00@23127 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
805d9691eb
commit
013ae1d657
@ -7,6 +7,7 @@ int main(int argc, char** argv)
|
|||||||
switch (a)
|
switch (a)
|
||||||
{
|
{
|
||||||
case 1: ps0883200(argc, argv); break;
|
case 1: ps0883200(argc, argv); break;
|
||||||
|
case 2: ps0883300(argc, argv); break;
|
||||||
default: ps0883100(argc, argv); break;
|
default: ps0883100(argc, argv); break;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
int ps0883100(int argc, char* argv[]);
|
int ps0883100(int argc, char* argv[]);
|
||||||
int ps0883200(int argc, char* argv[]);
|
int ps0883200(int argc, char* argv[]);
|
||||||
|
int ps0883300(int argc, char* argv[]);
|
||||||
|
|
@ -6,9 +6,14 @@ ENDPAGE
|
|||||||
|
|
||||||
PAGE "Vettori" 0 2 0 0
|
PAGE "Vettori" 0 2 0 0
|
||||||
|
|
||||||
STRING 101 2
|
GROUPBOX DLG_NULL 78 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 1 "Codice IATA "
|
PROMPT 1 1 "@bDati vettore"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING 101 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 2 "Codice IATA "
|
||||||
USE &PS0883VET
|
USE &PS0883VET
|
||||||
INPUT CODTAB 101
|
INPUT CODTAB 101
|
||||||
DISPLAY "Codice" CODTAB
|
DISPLAY "Codice" CODTAB
|
||||||
@ -24,7 +29,7 @@ END
|
|||||||
|
|
||||||
STRING 102 50
|
STRING 102 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 2 "Descrizione "
|
PROMPT 2 3 "Descrizione "
|
||||||
USE &PS0883VET KEY 2
|
USE &PS0883VET KEY 2
|
||||||
INPUT S0 102
|
INPUT S0 102
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@50" S0
|
||||||
@ -38,7 +43,7 @@ END
|
|||||||
|
|
||||||
NUMBER 103 6
|
NUMBER 103 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 4 "Codice cliente "
|
PROMPT 2 4 "Codice cliente "
|
||||||
USE LF_CLIFO
|
USE LF_CLIFO
|
||||||
INPUT TIPOCF "C"
|
INPUT TIPOCF "C"
|
||||||
INPUT CODCF 103
|
INPUT CODCF 103
|
||||||
@ -46,13 +51,14 @@ BEGIN
|
|||||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||||
OUTPUT 103 CODCF
|
OUTPUT 103 CODCF
|
||||||
OUTPUT 104 RAGSOC
|
OUTPUT 104 RAGSOC
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE NORMAL
|
||||||
|
ADD RUN cg0 -1 C
|
||||||
FIELD I0
|
FIELD I0
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING 104 50
|
STRING 104 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 5 "Ragione sociale "
|
PROMPT 2 5 "Ragione sociale "
|
||||||
USE LF_CLIFO KEY 2
|
USE LF_CLIFO KEY 2
|
||||||
INPUT TIPOCF "C"
|
INPUT TIPOCF "C"
|
||||||
INPUT RAGSOC 104
|
INPUT RAGSOC 104
|
||||||
@ -60,6 +66,51 @@ BEGIN
|
|||||||
DISPLAY "Codice" CODCF
|
DISPLAY "Codice" CODCF
|
||||||
COPY OUTPUT 103
|
COPY OUTPUT 103
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
|
ADD RUN cg0 -1 C
|
||||||
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 78 4
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 8 "@bParametri fatturazione"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING 105 20
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 9 "Codice articolo servizio standard "
|
||||||
|
FIELD S4
|
||||||
|
FLAGS "U"
|
||||||
|
USE LF_RCONDV
|
||||||
|
JOIN LF_ANAMAG INTO CODART==CODRIGA
|
||||||
|
INPUT TIPO "C"
|
||||||
|
INPUT TIPOCF "C"
|
||||||
|
INPUT CODCF 103 SELECT
|
||||||
|
INPUT COD 101 SELECT
|
||||||
|
INPUT TIPORIGA "A"
|
||||||
|
INPUT CODRIGA 105
|
||||||
|
DISPLAY "Codice@20" CODRIGA
|
||||||
|
DISPLAY "Descrizione@50" LF_ANAMAG->DESCR
|
||||||
|
DISPLAY "Gr.Mer." LF_ANAMAG->GRMERC
|
||||||
|
OUTPUT 105 CODRIGA
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
ADD RUN ve2 -4
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING 106 20
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 10 "Codice articolo BINGO sheet "
|
||||||
|
FIELD S5
|
||||||
|
FLAGS "U"
|
||||||
|
COPY USE 105
|
||||||
|
INPUT TIPO "C"
|
||||||
|
INPUT TIPOCF "C"
|
||||||
|
INPUT CODCF 103 SELECT
|
||||||
|
INPUT COD 101 SELECT
|
||||||
|
INPUT TIPORIGA "A"
|
||||||
|
INPUT CODRIGA 106
|
||||||
|
COPY DISPLAY 105
|
||||||
|
OUTPUT 106 CODRIGA
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
ADD RUN ve2 -4
|
||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
@ -246,8 +246,8 @@ Item_00_00 = 30004,Cambio &studio...
|
|||||||
Item_00_01 = 32001,Cambio &ditta...
|
Item_00_01 = 32001,Cambio &ditta...
|
||||||
Item_00_02 = 30007,Cambio &utente...
|
Item_00_02 = 30007,Cambio &utente...
|
||||||
Item_00_03 = -1,Separator
|
Item_00_03 = -1,Separator
|
||||||
Item_00_04 = 30002,&Aspetto
|
Item_00_04 = 30002,&Aspetto...
|
||||||
Item_00_05 = 30003,&Editors
|
Item_00_05 = 30003,&Editors...
|
||||||
Item_00_06 = 30008,&Mail...
|
Item_00_06 = 30008,&Mail...
|
||||||
Item_01 = 32350,&Preferiti
|
Item_01 = 32350,&Preferiti
|
||||||
Item_01_00 = 30005,&Aggiungi
|
Item_01_00 = 30005,&Aggiungi
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
33
|
33
|
||||||
0
|
0
|
||||||
$doc|0|0|723|0|Documenti di vendita|||
|
$doc|0|0|723|0|Testate documenti|||
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
34
|
34
|
||||||
0
|
0
|
||||||
$rdoc|||595|0|Righe documenti di vendita|||
|
$rdoc|||614|0|Righe documenti|||
|
||||||
|
28
ve/f34.trr
28
ve/f34.trr
@ -1,5 +1,5 @@
|
|||||||
34
|
34
|
||||||
65
|
70
|
||||||
CODNUM|1|4|0|Codice Numeriazione
|
CODNUM|1|4|0|Codice Numeriazione
|
||||||
ANNO|2|4|0|Anno
|
ANNO|2|4|0|Anno
|
||||||
PROVV|1|1|0|Tipo numerazione <P>rovvisoria <D>efinitiva
|
PROVV|1|1|0|Tipo numerazione <P>rovvisoria <D>efinitiva
|
||||||
@ -21,13 +21,13 @@ PREZZO|4|18|5|Prezzo o valore
|
|||||||
PREZZOL|4|18|5|Prezzo o valore per documenti al lordo
|
PREZZOL|4|18|5|Prezzo o valore per documenti al lordo
|
||||||
RIDPREZZO|4|18|5|Riduzione prezzo per scontrini
|
RIDPREZZO|4|18|5|Riduzione prezzo per scontrini
|
||||||
UMQTA|1|2|0|Unita di misura
|
UMQTA|1|2|0|Unita di misura
|
||||||
QTA|4|15|5|Quantita'
|
QTA|4|15|5|Quantità
|
||||||
QTAEVASA|4|13|5|Quantita' evasa
|
QTAEVASA|4|13|5|Quantità evasa
|
||||||
QTAGG1|4|13|5|1a quantita' aggiuntiva
|
QTAGG1|4|13|5|1a quantità aggiuntiva
|
||||||
QTAGG2|4|13|5|2a quantita' aggiuntiva
|
QTAGG2|4|13|5|2a quantità aggiuntiva
|
||||||
QTAGG3|4|13|5|3a quantita' aggiuntiva
|
QTAGG3|4|13|5|3a quantità aggiuntiva
|
||||||
QTAGG4|4|13|5|4a quantita' aggiuntiva
|
QTAGG4|4|13|5|4a quantità aggiuntiva
|
||||||
QTAGG5|4|13|5|5a quantita' aggiuntiva
|
QTAGG5|4|13|5|5a quantità aggiuntiva
|
||||||
RIGAEVASA|8|1|0|Riga evasa
|
RIGAEVASA|8|1|0|Riga evasa
|
||||||
TARA|4|15|2|Tara
|
TARA|4|15|2|Tara
|
||||||
PNETTO|4|15|2|Peso netto
|
PNETTO|4|15|2|Peso netto
|
||||||
@ -50,22 +50,27 @@ LINEA|1|5|0|Codice linea di produzione MRP
|
|||||||
IDRIGA|3|6|0|Identificatore univoco e immutabile riga documento
|
IDRIGA|3|6|0|Identificatore univoco e immutabile riga documento
|
||||||
DACODNUM|1|4|0|Numerazione del documento originale
|
DACODNUM|1|4|0|Numerazione del documento originale
|
||||||
DAANNO|2|4|0|Anno del documento originale
|
DAANNO|2|4|0|Anno del documento originale
|
||||||
DAPROVV|1|1|0|Provvisorieta' del documento originale
|
DAPROVV|1|1|0|Provvisorietà del documento originale
|
||||||
DANDOC|3|7|0|Numero del documento originale
|
DANDOC|3|7|0|Numero del documento originale
|
||||||
DAIDRIGA|3|6|0|Identificatore riga originale
|
DAIDRIGA|3|6|0|Identificatore riga originale
|
||||||
|
ACODNUM|1|4|0|Numerazione del documento finale
|
||||||
|
AANNO|2|4|0|Anno del documento finale
|
||||||
|
APROVV|1|1|0|Provvisorietà del documento finale
|
||||||
|
ANDOC|3|7|0|Numero del documento finale
|
||||||
|
AIDRIGA|3|6|0|Identificatore riga finale
|
||||||
CODCMS|1|20|0|Codice Commessa
|
CODCMS|1|20|0|Codice Commessa
|
||||||
FASCMS|1|10|0|Fase Commessa
|
FASCMS|1|10|0|Fase Commessa
|
||||||
CODCOSTO|1|20|0|Centro di costo
|
CODCOSTO|1|20|0|Centro di costo
|
||||||
CODAGG1|1|20|0|Codice aggiuntivo 1
|
CODAGG1|1|20|0|Codice aggiuntivo 1
|
||||||
CODAGG2|1|20|0|Codice aggiuntivo 2
|
CODAGG2|1|20|0|Codice aggiuntivo 2
|
||||||
PRIORITY|3|7|0|Priorita' MSP
|
PRIORITY|3|7|0|Priorità MSP
|
||||||
TIPODET|1|1|0|Tipo detraibilità
|
TIPODET|1|1|0|Tipo detraibilità
|
||||||
RG1|11|10|0|Campo memo per formule e campi virtuali
|
RG1|11|10|0|Campo memo per formule e campi virtuali
|
||||||
DATAINIATT|5|8|0|Data inizio attività
|
DATAINIATT|5|8|0|Data inizio attività
|
||||||
DATAFINATT|5|8|0|Data fine attività
|
DATAFINATT|5|8|0|Data fine attività
|
||||||
IDRIGACOLL|3|6|0|Identificatore riga documento collegata
|
IDRIGACOLL|3|6|0|Identificatore riga documento collegata
|
||||||
TIPOCOLL|1|1|0|Tipo legame riga collegata
|
TIPOCOLL|1|1|0|Tipo legame riga collegata
|
||||||
7
|
8
|
||||||
CODNUM+ANNO+PROVV+NDOC+NRIGA|
|
CODNUM+ANNO+PROVV+NDOC+NRIGA|
|
||||||
CODNUM+ANNO+PROVV+CODART+LIVELLO+CODMAG|X
|
CODNUM+ANNO+PROVV+CODART+LIVELLO+CODMAG|X
|
||||||
PROVV+ANNO+CODNUM+NDOC+NRIGA|X
|
PROVV+ANNO+CODNUM+NDOC+NRIGA|X
|
||||||
@ -73,3 +78,4 @@ DAPROVV+DAANNO+DACODNUM+DANDOC+DAIDRIGA|X
|
|||||||
CODART+ANNO+CODNUM+PROVV+NDOC|X
|
CODART+ANNO+CODNUM+PROVV+NDOC|X
|
||||||
CODCMS+CODCOSTO+PROVV+ANNO+CODNUM+NDOC+NRIGA|X
|
CODCMS+CODCOSTO+PROVV+ANNO+CODNUM+NDOC+NRIGA|X
|
||||||
CODCOSTO+CODCMS+PROVV+ANNO+CODNUM+NDOC+NRIGA|X
|
CODCOSTO+CODCMS+PROVV+ANNO+CODNUM+NDOC+NRIGA|X
|
||||||
|
APROVV+AANNO+ACODNUM+ANDOC+AIDRIGA|X
|
||||||
|
@ -1215,7 +1215,6 @@ bool TReport_doc_app::print_loop(TRecordset& doc, TOutput_mode mode, bool is_def
|
|||||||
TDoc_book book; // Destinazione dell'intera stampa
|
TDoc_book book; // Destinazione dell'intera stampa
|
||||||
TDoc_book* mail_book = NULL; // Destinazione della singola mail
|
TDoc_book* mail_book = NULL; // Destinazione della singola mail
|
||||||
TLog_report mail_log(TR("Invio documenti per email"));
|
TLog_report mail_log(TR("Invio documenti per email"));
|
||||||
TProgind pi(docs, TR("Elaborazione documenti..."), true, true);
|
|
||||||
|
|
||||||
bool attach_mail = mode==out_mail || mode==out_signed_mail;
|
bool attach_mail = mode==out_mail || mode==out_signed_mail;
|
||||||
if (attach_mail && is_power_station())
|
if (attach_mail && is_power_station())
|
||||||
@ -1232,6 +1231,7 @@ bool TReport_doc_app::print_loop(TRecordset& doc, TOutput_mode mode, bool is_def
|
|||||||
|
|
||||||
const bool mail_requested = (mode == out_mail || mode == out_signed_mail);
|
const bool mail_requested = (mode == out_mail || mode == out_signed_mail);
|
||||||
|
|
||||||
|
TProgress_monitor pi(docs, TR("Elaborazione documenti..."));
|
||||||
for (short loop = mail_requested ? 0 : 1; loop < 2; loop++)
|
for (short loop = mail_requested ? 0 : 1; loop < 2; loop++)
|
||||||
{
|
{
|
||||||
const bool mail_loop = (loop == 0);
|
const bool mail_loop = (loop == 0);
|
||||||
@ -1239,7 +1239,7 @@ bool TReport_doc_app::print_loop(TRecordset& doc, TOutput_mode mode, bool is_def
|
|||||||
|
|
||||||
for (int i = 0; i < docs; i++)
|
for (int i = 0; i < docs; i++)
|
||||||
{
|
{
|
||||||
if (!pi.addstatus(1))
|
if (!pi.add_status())
|
||||||
break;
|
break;
|
||||||
|
|
||||||
doc.move_to(i);
|
doc.move_to(i);
|
||||||
|
@ -399,26 +399,16 @@ TGestione_listini_semplice_mask::TGestione_listini_semplice_mask(const TString&
|
|||||||
_pos_um = sf_righe.cid2index(S_UM); //4
|
_pos_um = sf_righe.cid2index(S_UM); //4
|
||||||
|
|
||||||
//inizializza il tipo di condv che serve ('L'istino, 'C'ontratto, 'O'fferta)
|
//inizializza il tipo di condv che serve ('L'istino, 'C'ontratto, 'O'fferta)
|
||||||
char tipo = main_app().argv(2)[0];
|
const char tipo = toupper(mask_name.right(1)[0]);
|
||||||
tipo = toupper(tipo);
|
if (tipo == 'L')
|
||||||
|
|
||||||
switch (tipo)
|
|
||||||
{
|
{
|
||||||
case 'C':
|
//in base alla cervellotica configurazione impostata dall'utonto abilita/disabilita campi
|
||||||
break;
|
const bool gesliscv = ini_get_bool(CONFIG_DITTA, "ve", "GESLISCV");
|
||||||
case 'O':
|
enable(FA_L_CATVEN, gesliscv);
|
||||||
break;
|
enable(FA_L_DESVEN, gesliscv);
|
||||||
default: //il default è L
|
//attenzione!!! il campo CATVEN è in chiave 1! per disabilitarlo ci vuole questo trucco!
|
||||||
{
|
if (!gesliscv)
|
||||||
//in base alla cervellotica configurazione impostata dall'utonto abilita/disabilita campi
|
efield(FA_L_CATVEN).reset_key(1);
|
||||||
const bool gesliscv = ini_get_bool(CONFIG_DITTA, "ve", "GESLISCV");
|
|
||||||
enable(FA_L_CATVEN, gesliscv);
|
|
||||||
enable(FA_L_DESVEN, gesliscv);
|
|
||||||
//attenzione!!! il campo CATVEN è in chiave 1! per disabilitarlo ci vuole questo trucco!
|
|
||||||
if (!gesliscv)
|
|
||||||
efield(FA_L_CATVEN).reset_key(1);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -830,7 +820,7 @@ void TGestione_listini_semplice::save_rows()
|
|||||||
const TString& TGestione_listini_semplice::find_descr(TToken_string& row)
|
const TString& TGestione_listini_semplice::find_descr(TToken_string& row)
|
||||||
{
|
{
|
||||||
const char tiporiga = row.get_char(0);
|
const char tiporiga = row.get_char(0);
|
||||||
const TString& codriga = row.get(1);
|
const TFixed_string codriga = row.get(1);
|
||||||
switch (tiporiga)
|
switch (tiporiga)
|
||||||
{
|
{
|
||||||
case 'A':
|
case 'A':
|
||||||
@ -1112,12 +1102,12 @@ void TGestione_listini_semplice::init_modify_mode(TMask& m)
|
|||||||
|
|
||||||
bool TGestione_listini_semplice::user_create()
|
bool TGestione_listini_semplice::user_create()
|
||||||
{
|
{
|
||||||
//controlla se la chiave ha l'autorizzazione a questo programma
|
/* Controlla se la chiave ha l'autorizzazione a questo programma
|
||||||
Tdninst dninst;
|
Tdninst dninst;
|
||||||
if (!dninst.can_I_run(true))
|
if (!dninst.can_I_run(true))
|
||||||
return error_box(TR("Programma non autorizzato!"));
|
return error_box(TR("Programma non autorizzato!")); */
|
||||||
|
|
||||||
//decide il tipo di condizione di vendita: 'L'istino, 'C'ontratto 'O'fferta
|
//decide il tipo di condizione di vendita: 'L'istino, 'C'ontratto, 'O'fferta
|
||||||
_tipo = 'L';
|
_tipo = 'L';
|
||||||
_codice = 0L;
|
_codice = 0L;
|
||||||
if (argc() > 2) //se la chiamata ha un parametro ulteriore ('ve2 -4 c', ad esempio)..
|
if (argc() > 2) //se la chiamata ha un parametro ulteriore ('ve2 -4 c', ad esempio)..
|
||||||
@ -1126,7 +1116,7 @@ bool TGestione_listini_semplice::user_create()
|
|||||||
if (trans.len() == 1) //se è lungo 1 -> chiamata da menu...
|
if (trans.len() == 1) //se è lungo 1 -> chiamata da menu...
|
||||||
{
|
{
|
||||||
_tipo = trans[0];
|
_tipo = trans[0];
|
||||||
if (argc() > 3) // Es. Hardy: ve2 -4 c 210100
|
if (argc() > 3) // Es. Hardy: ve2 -4 c 210100
|
||||||
_codice = max(0, atol(argv(3)));
|
_codice = max(0, atol(argv(3)));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1137,13 +1127,17 @@ bool TGestione_listini_semplice::user_create()
|
|||||||
if (trans.exist())
|
if (trans.exist())
|
||||||
{
|
{
|
||||||
TConfig ini(trans, "52");
|
TConfig ini(trans, "52");
|
||||||
_tipo = ini.get_char("TIPO");
|
_tipo = ini.get_char(CONDV_TIPO);
|
||||||
if (_tipo == 'C')
|
if (_tipo < 'C')
|
||||||
_codice = ini.get_char(CONDV_CODCF);
|
_tipo = ini.get_char(CONDV_TIPO, "53");
|
||||||
|
_codice = ini.get_long(CONDV_CODCF);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_tipo = toupper(_tipo);
|
if (_codice > 0 && _tipo < 'C')
|
||||||
|
_tipo = 'C';
|
||||||
|
else
|
||||||
|
_tipo = toupper(_tipo);
|
||||||
}
|
}
|
||||||
|
|
||||||
_rel = new TRelation(LF_CONDV);
|
_rel = new TRelation(LF_CONDV);
|
||||||
|
@ -65,7 +65,7 @@ BEGIN
|
|||||||
CHECKTYPE FORCED
|
CHECKTYPE FORCED
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING FA_C_DESCF 50 41
|
STRING FA_C_DESCF 50 40
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 35 1 ""
|
PROMPT 35 1 ""
|
||||||
USE LF_CLIFO KEY 2
|
USE LF_CLIFO KEY 2
|
||||||
@ -93,7 +93,7 @@ BEGIN
|
|||||||
DISPLAY "Codice" COD
|
DISPLAY "Codice" COD
|
||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
DISPLAY "Valuta" CODVAL
|
DISPLAY "Valuta" CODVAL
|
||||||
DISPLAY "Fine validita'" VALFIN
|
DISPLAY "Fine validità" VALFIN
|
||||||
OUTPUT FA_C_TIPOCF TIPOCF
|
OUTPUT FA_C_TIPOCF TIPOCF
|
||||||
OUTPUT FA_C_CODCF CODCF
|
OUTPUT FA_C_CODCF CODCF
|
||||||
OUTPUT FA_COD COD
|
OUTPUT FA_COD COD
|
||||||
@ -114,7 +114,7 @@ BEGIN
|
|||||||
DISPLAY "Cod.CF" CODCF
|
DISPLAY "Cod.CF" CODCF
|
||||||
DISPLAY "Codice" COD
|
DISPLAY "Codice" COD
|
||||||
DISPLAY "Valuta" CODVAL
|
DISPLAY "Valuta" CODVAL
|
||||||
DISPLAY "Fine validita'" VALFIN
|
DISPLAY "Fine validità" VALFIN
|
||||||
COPY OUTPUT FA_COD
|
COPY OUTPUT FA_COD
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
DATA FA_VALINI
|
DATA FA_VALINI
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 3 "Inizio validita` "
|
PROMPT 1 3 "Inizio validità "
|
||||||
FIELD VALIN
|
FIELD VALIN
|
||||||
END
|
END
|
||||||
|
|
||||||
DATA FA_VALFIN
|
DATA FA_VALFIN
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 35 3 "Fine validita` "
|
PROMPT 35 3 "Fine validità "
|
||||||
FIELD VALFIN
|
FIELD VALFIN
|
||||||
END
|
END
|
||||||
|
|
||||||
|
@ -600,6 +600,12 @@ public:
|
|||||||
const TRectype* find_original_rdoc() const;
|
const TRectype* find_original_rdoc() const;
|
||||||
const TRectype* find_original_doc() const;
|
const TRectype* find_original_doc() const;
|
||||||
|
|
||||||
|
void set_final_rdoc_key(const TRectype& orig);
|
||||||
|
void reset_final_rdoc_key();
|
||||||
|
const TRectype* find_final_rdoc() const;
|
||||||
|
const TRectype* find_final_doc() const;
|
||||||
|
void update_rdoc_links(TRiga_documento& dest); // Update key links between rows
|
||||||
|
|
||||||
virtual TRiga_documento& operator =(const TRiga_documento& r) { return copy(r);}
|
virtual TRiga_documento& operator =(const TRiga_documento& r) { return copy(r);}
|
||||||
virtual TRectype& operator =(const TRectype & r);
|
virtual TRectype& operator =(const TRectype & r);
|
||||||
virtual TRectype& operator =(const char * r);
|
virtual TRectype& operator =(const char * r);
|
||||||
|
@ -1391,7 +1391,7 @@ const TToken_string & TRiga_documento::get_original_rdoc_key() const
|
|||||||
return key;
|
return key;
|
||||||
}
|
}
|
||||||
|
|
||||||
const TToken_string & TRiga_documento::get_rdoc_key() const
|
const TToken_string& TRiga_documento::get_rdoc_key() const
|
||||||
{
|
{
|
||||||
TToken_string& key = get_tmp_string(32);
|
TToken_string& key = get_tmp_string(32);
|
||||||
key.add(get(RDOC_CODNUM));
|
key.add(get(RDOC_CODNUM));
|
||||||
@ -1404,7 +1404,7 @@ const TToken_string & TRiga_documento::get_rdoc_key() const
|
|||||||
|
|
||||||
void TRiga_documento::set_original_rdoc_key(const TRectype& orig, int depth)
|
void TRiga_documento::set_original_rdoc_key(const TRectype& orig, int depth)
|
||||||
{
|
{
|
||||||
CHECK(orig.num() == LF_RIGHEDOC, "Bad document row");
|
CHECK(orig.num() == num(), "Bad document row");
|
||||||
|
|
||||||
switch (depth)
|
switch (depth)
|
||||||
{
|
{
|
||||||
@ -1480,6 +1480,39 @@ const TRectype* TRiga_documento::find_original_doc() const
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TRiga_documento::set_final_rdoc_key(const TRectype& dest)
|
||||||
|
{
|
||||||
|
CHECK(dest.num() == num(), "Bad document row");
|
||||||
|
put(RDOC_ACODNUM, dest.get(RDOC_CODNUM));
|
||||||
|
put(RDOC_AANNO, dest.get(RDOC_ANNO));
|
||||||
|
put(RDOC_APROVV, dest.get(RDOC_PROVV));
|
||||||
|
put(RDOC_ANDOC, dest.get(RDOC_NDOC));
|
||||||
|
put(RDOC_AIDRIGA, dest.get(RDOC_IDRIGA));
|
||||||
|
}
|
||||||
|
|
||||||
|
void TRiga_documento::reset_final_rdoc_key()
|
||||||
|
{
|
||||||
|
zero(RDOC_ACODNUM);
|
||||||
|
zero(RDOC_AANNO);
|
||||||
|
zero(RDOC_APROVV);
|
||||||
|
zero(RDOC_ANDOC);
|
||||||
|
zero(RDOC_AIDRIGA);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TRiga_documento::update_rdoc_links(TRiga_documento& dest)
|
||||||
|
{
|
||||||
|
if (dest.get_int(RDOC_ANNO) > 0)
|
||||||
|
{
|
||||||
|
set_final_rdoc_key(dest);
|
||||||
|
dest.set_original_rdoc_key(*this, 0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
reset_final_rdoc_key();
|
||||||
|
dest.reset_original_rdoc_key();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void TTipo_riga_documento::set_defaults(TSheet_field& s, int row) const
|
void TTipo_riga_documento::set_defaults(TSheet_field& s, int row) const
|
||||||
{
|
{
|
||||||
if (_defaults.items() == 0) // Carica lo string_array con i defaults
|
if (_defaults.items() == 0) // Carica lo string_array con i defaults
|
||||||
|
@ -677,15 +677,17 @@ bool TCopia_documento::elabora(TLista_documenti& doc_in, TLista_documenti& doc_o
|
|||||||
TDocumento& doc_dest = doc_out[d];
|
TDocumento& doc_dest = doc_out[d];
|
||||||
|
|
||||||
doc_dest.copy_contents(doc_src);
|
doc_dest.copy_contents(doc_src);
|
||||||
const TString4 tipodoc = tipo_finale();
|
const TString& tipodoc = tipo_finale();
|
||||||
doc_dest.put(DOC_TIPODOC, tipodoc);
|
doc_dest.put(DOC_TIPODOC, tipodoc);
|
||||||
const TString4 stato = stato_finale();
|
const TString& stato = stato_finale();
|
||||||
doc_dest.put(DOC_STATO, stato);
|
doc_dest.put(DOC_STATO, stato);
|
||||||
|
|
||||||
// Scancello tutti gli inutili riferimenti al documento origine
|
// Scancello tutti gli inutili riferimenti al documento origine
|
||||||
if (!_preserve_original_rif)
|
if (!_preserve_original_rif)
|
||||||
for (int r = doc_dest.physical_rows(); r > 0; r--)
|
{
|
||||||
doc_dest[r].reset_original_rdoc_key();
|
FOR_EACH_PHYSICAL_RDOC(doc_dest, r, rdoc)
|
||||||
|
rdoc->reset_original_rdoc_key();
|
||||||
|
}
|
||||||
|
|
||||||
if (data_elab.ok())
|
if (data_elab.ok())
|
||||||
doc_dest.put(DOC_DATADOC, data_elab);
|
doc_dest.put(DOC_DATADOC, data_elab);
|
||||||
|
13
ve/velib04.h
13
ve/velib04.h
@ -13,10 +13,6 @@
|
|||||||
#include "../cg/cg2101.h"
|
#include "../cg/cg2101.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __RECARRAY_H
|
|
||||||
#include <recarray.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
class TLista_documenti : public TObject // velib04
|
class TLista_documenti : public TObject // velib04
|
||||||
{
|
{
|
||||||
TArray _documenti;
|
TArray _documenti;
|
||||||
@ -204,9 +200,9 @@ public:
|
|||||||
|
|
||||||
const TString& codice_numerazione_finale() const { return get("S6"); }
|
const TString& codice_numerazione_finale() const { return get("S6"); }
|
||||||
const TString& applicazione_esterna() const { return get("S3"); }
|
const TString& applicazione_esterna() const { return get("S3"); }
|
||||||
void set_params(const TParametri_elaborazione & parms) { _parms = parms;}
|
void set_params(const TParametri_elaborazione& parms) { _parms = parms;}
|
||||||
bool is_document_ok(const TRectype & doc) const ;
|
bool is_document_ok(const TRectype& doc) const ;
|
||||||
TParametri_elaborazione & params() { return _parms;}
|
TParametri_elaborazione& params() { return _parms;}
|
||||||
|
|
||||||
virtual bool elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
|
virtual bool elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
|
||||||
const TDate& data_elab, bool interattivo = false);
|
const TDate& data_elab, bool interattivo = false);
|
||||||
@ -267,14 +263,13 @@ protected:
|
|||||||
TToken_string & campi_riga, const TDate & dcons, const TDate & ddoc);
|
TToken_string & campi_riga, const TDate & dcons, const TDate & ddoc);
|
||||||
void init();
|
void init();
|
||||||
|
|
||||||
virtual bool get_num_tip_out(const TDocumento& doc_out, TString& codnum, TString& tipodoc) const;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual bool raggruppa(TDocumento& din, TDocumento& dout);
|
virtual bool raggruppa(TDocumento& din, TDocumento& dout);
|
||||||
virtual bool elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
|
virtual bool elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
|
||||||
const TDate& data_elab, bool interattivo = false);
|
const TDate& data_elab, bool interattivo = false);
|
||||||
|
|
||||||
bool change_clifo() { return get_bool("B14"); }
|
bool change_clifo() { return get_bool("B14"); }
|
||||||
|
virtual bool get_num_tip_out(const TDocumento& doc_out, TString& codnum, TString& tipodoc) const;
|
||||||
|
|
||||||
TFatturazione_bolle(const char* cod);
|
TFatturazione_bolle(const char* cod);
|
||||||
TFatturazione_bolle(const TRectype& rec);
|
TFatturazione_bolle(const TRectype& rec);
|
||||||
|
@ -107,7 +107,7 @@ void TFatturazione_bolle::create_row(TDocumento& doc_out, const TRiga_documento&
|
|||||||
}
|
}
|
||||||
|
|
||||||
void TFatturazione_bolle::elabora_riga(TRiga_documento& r, TDocumento& doc_out, bool usa_dcons, bool ragg_rig, bool ignora_desc,
|
void TFatturazione_bolle::elabora_riga(TRiga_documento& r, TDocumento& doc_out, bool usa_dcons, bool ragg_rig, bool ignora_desc,
|
||||||
TToken_string & campi_riga, const TDate & dcons, const TDate & ddoc)
|
TToken_string& campi_riga, const TDate & dcons, const TDate & ddoc)
|
||||||
{
|
{
|
||||||
const bool rindesc = r.sola_descrizione(); // La riga di input e' descrittiva
|
const bool rindesc = r.sola_descrizione(); // La riga di input e' descrittiva
|
||||||
if (ignora_desc && rindesc)
|
if (ignora_desc && rindesc)
|
||||||
@ -147,7 +147,7 @@ void TFatturazione_bolle::elabora_riga(TRiga_documento& r, TDocumento& doc_out,
|
|||||||
// se la riga non contiene solo una descrizione
|
// se la riga non contiene solo una descrizione
|
||||||
if (ragg_rig && !rindesc && da_raggruppare(rin)) // Se devo raggruppare le righe ...
|
if (ragg_rig && !rindesc && da_raggruppare(rin)) // Se devo raggruppare le righe ...
|
||||||
{
|
{
|
||||||
FOR_EACH_PHYSICAL_RDOC(doc_out, r, rout) // ... cerca una riga compatibile
|
FOR_EACH_PHYSICAL_RDOC(doc_out, nr, rout) // ... cerca una riga compatibile
|
||||||
{
|
{
|
||||||
if (rout->sola_descrizione()) // Ignora le righe descrittive
|
if (rout->sola_descrizione()) // Ignora le righe descrittive
|
||||||
continue;
|
continue;
|
||||||
@ -155,13 +155,19 @@ void TFatturazione_bolle::elabora_riga(TRiga_documento& r, TDocumento& doc_out,
|
|||||||
if (rin.raggruppabile(*rout, campi_riga)) // Se esiste una riga compatibile ...
|
if (rin.raggruppabile(*rout, campi_riga)) // Se esiste una riga compatibile ...
|
||||||
{
|
{
|
||||||
add_rows(*rout, rin);
|
add_rows(*rout, rin);
|
||||||
|
r.set_final_rdoc_key(*rout);
|
||||||
elaborata = true; // Ricorda di averla gia' elaborata
|
elaborata = true; // Ricorda di averla gia' elaborata
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!elaborata) // Se la riga non e' stata gia' sommata ...
|
if (!elaborata) // Se la riga non e' stata gia' sommata ...
|
||||||
|
{
|
||||||
create_row(doc_out, rin);
|
create_row(doc_out, rin);
|
||||||
|
// Aggiorna collegamento alla riga di destinazione, cioè l'ultima del docuemnto di output
|
||||||
|
TRiga_documento& riga_fatt = doc_out[doc_out.physical_rows()];
|
||||||
|
r.update_rdoc_links(riga_fatt);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TFatturazione_bolle::raggruppa(TDocumento& doc_in, TDocumento& doc_out)
|
bool TFatturazione_bolle::raggruppa(TDocumento& doc_in, TDocumento& doc_out)
|
||||||
|
@ -1417,6 +1417,12 @@ error_type TContabilizzazione::compile_head_mov(TDocumento& doc)
|
|||||||
}
|
}
|
||||||
mov_rec.put(MOV_DATACOMPI, dataintra);
|
mov_rec.put(MOV_DATACOMPI, dataintra);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Imposta nelle fatture di vendita normali il flag di split payment
|
||||||
|
if (mov_rec.get_char(MOV_SPLITPAY) <= ' ')
|
||||||
|
mov_rec.put(MOV_SPLITPAY, is_split_payment(mov_rec) ? 'S': 'N');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2800,7 +2806,7 @@ error_type TContabilizzazione::write_scadenze(TDocumento& doc, bool recontabiliz
|
|||||||
|
|
||||||
TGeneric_distrib d(anticipo.get_num(), ndec);
|
TGeneric_distrib d(anticipo.get_num(), ndec);
|
||||||
d.add(totimponibili.get_num());
|
d.add(totimponibili.get_num());
|
||||||
d.add(imposte);
|
d.add(imposte_effettive);
|
||||||
d.add(totspese.get_num());
|
d.add(totspese.get_num());
|
||||||
|
|
||||||
const TCurrency_documento pagtotimponibili(totimponibili.get_num() - d.get(), doc);
|
const TCurrency_documento pagtotimponibili(totimponibili.get_num() - d.get(), doc);
|
||||||
@ -2829,9 +2835,9 @@ error_type TContabilizzazione::write_scadenze(TDocumento& doc, bool recontabiliz
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pag.set_total( pagtotimponibili, pagtotimposte, pagtotspese);
|
pag.set_total(pagtotimponibili, pagtotimposte, pagtotspese);
|
||||||
}
|
}
|
||||||
pag.set_rate_auto( );
|
pag.set_rate_auto();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
pag.zap_rate();
|
pag.zap_rate();
|
||||||
@ -2865,7 +2871,6 @@ error_type TContabilizzazione::write_scadenze(TDocumento& doc, bool recontabiliz
|
|||||||
|
|
||||||
const int nr = pag.n_rate();
|
const int nr = pag.n_rate();
|
||||||
|
|
||||||
/*
|
|
||||||
real imponibile, imponibile_val;
|
real imponibile, imponibile_val;
|
||||||
for (int i = nr-1; i >= 0; i--)
|
for (int i = nr-1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
@ -2873,9 +2878,9 @@ error_type TContabilizzazione::write_scadenze(TDocumento& doc, bool recontabiliz
|
|||||||
imponibile_val += pag.tval_rata(i);
|
imponibile_val += pag.tval_rata(i);
|
||||||
imponibile += pag.tlit_rata(i);
|
imponibile += pag.tlit_rata(i);
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
partita.put(PART_IMPORTO, pag.imponibile(false));
|
partita.put(PART_IMPORTO, imponibile);
|
||||||
partita.put(PART_IMPORTOVAL, in_valuta ? pag.imponibile(true) : ZERO);
|
partita.put(PART_IMPORTOVAL, in_valuta ? imponibile_val : ZERO);
|
||||||
partita.put(PART_IMPOSTA, pag.imposta(in_valuta));
|
partita.put(PART_IMPOSTA, pag.imposta(in_valuta));
|
||||||
partita.put(PART_SPESE, totspese.get_num());
|
partita.put(PART_SPESE, totspese.get_num());
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user