From 924af328b5a3cab74432c79b0772eee5ff44eacb Mon Sep 17 00:00:00 2001 From: Alessandro Bonazzi Date: Mon, 9 Jun 2025 10:36:01 +0200 Subject: [PATCH] Patch level : 01.00 0282 Files correlati : f23.dir f23.trr f9.dir f9.trr Bug : Aggiornamento FePA --- src/include01/reprint.cpp | 13 +- src/ve01/ve1300af.h | 20 +++ src/ve01/ve1300af.uml | 291 ++++++++++++++++++++++++++++++++++++++ src/ve01/vetbcnt.h | 8 ++ src/ve01/vetbcnt.uml | 138 ++++++++++++++++++ 5 files changed, 462 insertions(+), 8 deletions(-) create mode 100644 src/ve01/ve1300af.h create mode 100644 src/ve01/ve1300af.uml create mode 100644 src/ve01/vetbcnt.h create mode 100644 src/ve01/vetbcnt.uml diff --git a/src/include01/reprint.cpp b/src/include01/reprint.cpp index 99f06a8f7..4d3a193b8 100644 --- a/src/include01/reprint.cpp +++ b/src/include01/reprint.cpp @@ -1896,7 +1896,6 @@ bool TBook::export_dbase(TFilename& fname, TTrec * desc, bool signature, bool go TExternisamfile dbf(fname, *desc); ifstream ifstream(temp); - const int nflds = desc->nfields(); while (!ifstream.eof()) { @@ -1908,14 +1907,14 @@ bool TBook::export_dbase(TFilename& fname, TTrec * desc, bool signature, bool go dbf.zero(); FOR_EACH_STR_TOKEN(line, val) { - if (desc->field(i).name().full()) - switch (desc->field(i).type()) + if (*desc->rec().Fd[i].Name != '\0') + switch (desc->rec().Fd[i].TypeF) { case _alfafld: case _charfld: case _boolfld: case _memofld: - dbf.put(desc->field(i).name(), val); + dbf.put(desc->rec().Fd[i++].Name, val); break; case _intfld: case _longfld: @@ -1923,16 +1922,14 @@ bool TBook::export_dbase(TFilename& fname, TTrec * desc, bool signature, bool go case _wordfld: case _intzerofld: case _longzerofld: - dbf.put(desc->field(i).name(), real::ita2eng(val)); + dbf.put(desc->rec().Fd[i++].Name, real::ita2eng(val)); break; case _datefld: - dbf.put(desc->field(i).name(), TDate(atoi(val.sleft(2)), atoi(val.smid(3, 2)), 2000 + atoi(val.sright(2)))); + dbf.put(desc->rec().Fd[i++].Name, TDate(atoi(val.left(2)), atoi(val.mid(3, 2)), 2000 + atoi(val.right(2)))); break; default: break; } - if (++i >= nflds) - break; } dbf.write(); } diff --git a/src/ve01/ve1300af.h b/src/ve01/ve1300af.h new file mode 100644 index 000000000..ee70119c0 --- /dev/null +++ b/src/ve01/ve1300af.h @@ -0,0 +1,20 @@ +#define F_CODNUM 121 +#define F_ANNO 122 +#define F_PROVV 123 +#define F_NCOPIE 124 + +#define F_ORDERING 125 + +#define F_DA_NDOC 126 +#define F_A_NDOC 127 + +#define F_DA_DATADOC 128 +#define F_A_DATADOC 129 +#define F_TIPOST 130 + +#define F_TIPOCFD 131 +#define F_DA_CLIFO 132 +#define F_A_CLIFO 133 +#define F_DA_RAGSOC 134 +#define F_A_RAGSOC 135 + diff --git a/src/ve01/ve1300af.uml b/src/ve01/ve1300af.uml new file mode 100644 index 000000000..9541e978a --- /dev/null +++ b/src/ve01/ve1300af.uml @@ -0,0 +1,291 @@ +#include "ve1300af.h" + +TOOLBAR "" 0 0 0 2 + +BUTTON DLG_PRINT 10 2 +BEGIN + PROMPT 1 1 "~Stampa" + MESSAGE EXIT,K_ENTER +END + +BUTTON DLG_SETPRINT 10 2 +BEGIN + PROMPT 2 1 "~Imposta" +END + +BUTTON DLG_PREVIEW 10 2 +BEGIN + PROMPT 3 1 "~Anteprima" + PICTURE TOOL_PREVIEW + MESSAGE EXIT,K_VISUALIZE +END + +BUTTON DLG_NULL 10 2 +BEGIN + PROMPT 4 1 "" + PICTURE 0 +END + +BUTTON DLG_EMAIL 10 2 +BEGIN + PROMPT 5 1 "Mail" + PICTURE TOOL_EMAIL + MESSAGE EXIT,69 + FLAGS "D" +END + +BUTTON DLG_SIGNMAIL 10 2 +BEGIN + PROMPT 6 1 "Firmata" + PICTURE TOOL_SIGNMAIL + MESSAGE EXIT,101 + FLAGS "D" +END + +BUTTON DLG_CONFIG 10 2 +BEGIN + PROMPT 7 1 "~Imposta" + PICTURE TOOL_CONFIG +END + +BUTTON DLG_NULL 10 2 +BEGIN + PROMPT 7 1 "" + PICTURE 0 +END + +BUTTON DLG_PDF 10 2 +BEGIN + PROMPT 8 1 "Pdf" + PICTURE TOOL_PDF + MESSAGE EXIT,80 + FLAGS "D" +END + +BUTTON DLG_SIGNPDF 10 2 +BEGIN + PROMPT 9 1 "Firmato" + PICTURE TOOL_SIGNPDF + MESSAGE EXIT,112 + FLAGS "D" +END + +#include + +ENDPAGE + +TOOLBAR "bottombar" 0 -1 0 1 +#include <..\include01\bprintbar.h> +ENDPAGE + + +PAGE "Stampa Documenti Vendita" 0 0 0 0 + +STRING F_CODNUM 4 4 +BEGIN + PROMPT 1 1 "Codice numerazione " + FLAG "UP" + USE %NUM + INPUT CODTAB F_CODNUM + DISPLAY "Cod. Num." CODTAB + DISPLAY "Descrizione@50" S0 + OUTPUT F_CODNUM CODTAB + CHECKTYPE NORMAL +END + +NUMBER F_ANNO 4 0 +BEGIN + PROMPT 38 1 "Anno " + FLAG "AP" + CHECKTYPE REQUIRED +END + +LIST F_PROVV 12 +BEGIN + PROMPT 1 2 "Tipo numerazione " + ITEM "D|Definitiva" + ITEM "P|Provvisoria" + FLAG "P" +END + +NUMBER F_NCOPIE 2 +BEGIN + PROMPT 38 2 "Numero copie " + FLAG "UP" + WARNING "Il numero di copie deve essere positivo" +END + +RADIOBUTTON F_ORDERING 68 +BEGIN + PROMPT 1 4 "Selezione per " + ITEM "N|Numero documento" MESSAGE SHOW,1@|HIDE,2@|HIDE,3@ + ITEM "D|Data documento" MESSAGE SHOW,2@|HIDE,1@|HIDE,3@ + ITEM "C|Cliente/Fornitore" MESSAGE SHOW,3@|HIDE,1@|HIDE,2@ + FLAG "P" +END + +GROUPBOX DLG_NULL 68 5 +BEGIN + PROMPT 1 9 "Selezione per numero" + GROUP 1 +END + +NUMBER F_DA_NDOC 7 +BEGIN + PROMPT 2 10 "Dal " + USE 33 + JOIN 20 INTO CODCF=CODCF TIPOCF=TIPOCF + JOIN 13 TO 20 INTO COM=COMCF + INPUT PROVV F_PROVV SELECT + INPUT ANNO F_ANNO SELECT + INPUT CODNUM F_CODNUM SELECT + INPUT NDOC F_DA_NDOC + DISPLAY "Data@10" DATADOC + DISPLAY "Numero@7" NDOC + DISPLAY "Stato" STATO + DISPLAY "Cliente/Fornitore@40" 20->RAGSOC + DISPLAY "Comune@20" 13->DENCOM + DISPLAY "E-Mail per fatture@40" 20->DOCMAIL + OUTPUT F_DA_NDOC NDOC + GROUP 1 + ADD RUN ve0 -0 +END + +NUMBER F_A_NDOC 7 +BEGIN + PROMPT 2 12 "Al " + USE 33 + JOIN 20 INTO CODCF=CODCF TIPOCF=TIPOCF + JOIN 13 TO 20 INTO COM=COMCF + INPUT PROVV F_PROVV SELECT + INPUT ANNO F_ANNO SELECT + INPUT CODNUM F_CODNUM SELECT + INPUT NDOC F_A_NDOC + COPY DISPLAY F_DA_NDOC + OUTPUT F_A_NDOC NDOC + WARNING "Il numero documento deve essere superiore al limite inferiore" + GROUP 1 + ADD RUN ve0 -0 +END + +GROUPBOX DLG_NULL 68 5 +BEGIN + PROMPT 1 9 "Selezione per data" + GROUP 2 +END + +DATE F_DA_DATADOC +BEGIN + PROMPT 2 10 "Dal " + USE 33 KEY 3 SELECT (PROVV==#F_PROVV) && (ANNO==#F_ANNO) && (CODNUM==#F_CODNUM) + JOIN 20 INTO CODCF=CODCF TIPOCF=TIPOCF + JOIN 13 TO 20 INTO COM=COMCF + INPUT DATADOC F_DA_DATADOC + INPUT PROVV F_PROVV + INPUT ANNO F_ANNO + INPUT CODNUM F_CODNUM + DISPLAY "Data@10" DATADOC + DISPLAY "Numero@7" NDOC + DISPLAY "Cliente/Fornitore@40" 20->RAGSOC + DISPLAY "Comune@20" 13->DENCOM + OUTPUT F_DA_NDOC NDOC + OUTPUT F_DA_DATADOC DATADOC + GROUP 2 +END + +DATE F_A_DATADOC +BEGIN + PROMPT 2 12 "Al " + USE LF_DOC KEY 3 SELECT (PROVV==#F_PROVV) && (ANNO==#F_ANNO) && (CODNUM==#F_CODNUM) + JOIN LF_CLIFO INTO CODCF=CODCF TIPOCF=TIPOCF + JOIN LF_COMUNI TO LF_CLIFO INTO COM=COMCF + INPUT DATADOC F_A_DATADOC + INPUT PROVV F_PROVV + INPUT ANNO F_ANNO + INPUT CODNUM F_CODNUM + COPY DISPLAY F_DA_DATADOC + OUTPUT F_A_NDOC NDOC + OUTPUT F_A_DATADOC DATADOC + GROUP 2 +END + +GROUPBOX DLG_NULL 68 5 +BEGIN + PROMPT 1 9 "Selezione per Cliente/Fornitore" + GROUP 3 +END + +LIST F_TIPOCFD 1 12 +BEGIN + PROMPT 2 10 "Tipo " + ITEM "C|Cliente" + ITEM "F|Fornitore" + GROUP 3 +END + +NUMBER F_DA_CLIFO 7 +BEGIN + PROMPT 2 11 "Dal " + USE LF_CLIFO + JOIN LF_COMUNI INTO COM==COMCF + INPUT TIPOCF F_TIPOCFD SELECT + INPUT CODCF F_DA_CLIFO + DISPLAY "Codice@7" CODCF + DISPLAY "Ragione Sociale@50" RAGSOC + DISPLAY "Comune@20" 13->DENCOM + OUTPUT F_DA_CLIFO CODCF + OUTPUT F_DA_RAGSOC RAGSOC + CHECKTYPE SEARCH + GROUP 3 +END + +STRING F_DA_RAGSOC 50 45 +BEGIN + PROMPT 18 11 "" + USE LF_CLIFO KEY 2 + JOIN LF_COMUNI INTO COM==COMCF + INPUT TIPOCF F_TIPOCFD SELECT + INPUT RAGSOC F_DA_RAGSOC + DISPLAY "Ragione Sociale@50" RAGSOC + DISPLAY "Codice@7" CODCF + DISPLAY "Comune@20" 13->DENCOM + COPY OUTPUT F_DA_CLIFO + CHECKTYPE SEARCH + GROUP 3 +END + +NUMBER F_A_CLIFO 7 +BEGIN + PROMPT 2 12 "Al " + COPY USE F_DA_CLIFO + INPUT TIPOCF F_TIPOCFD SELECT + INPUT CODCF F_A_CLIFO + COPY DISPLAY F_DA_CLIFO + OUTPUT F_A_CLIFO CODCF + OUTPUT F_A_RAGSOC RAGSOC + CHECKTYPE SEARCH + GROUP 3 +END + +STRING F_A_RAGSOC 50 45 +BEGIN + PROMPT 18 12 "" + COPY USE F_DA_RAGSOC + INPUT TIPOCF F_TIPOCFD SELECT + INPUT RAGSOC F_A_RAGSOC + COPY DISPLAY F_DA_RAGSOC + COPY OUTPUT F_A_CLIFO + CHECKTYPE SEARCH + GROUP 3 +END + +RADIOBUTTON F_TIPOST 68 +BEGIN + PROMPT 1 14 "Stampa" + ITEM "D|Definitiva (Solo i documenti non stampati in definitiva)" + ITEM "P|Provvisoria (Tutti i documenti selezionati senza cambio stato)" + FLAG "P" +END + +ENDPAGE +ENDMASK diff --git a/src/ve01/vetbcnt.h b/src/ve01/vetbcnt.h new file mode 100644 index 000000000..3f09b0a51 --- /dev/null +++ b/src/ve01/vetbcnt.h @@ -0,0 +1,8 @@ +#define FC_CODNUM 101 +#define FC_DESNUM 102 +#define FC_TIPODOC 103 +#define FC_DESTIPODOC 104 +#define FC_CAUS 105 +#define FC_DESCAUS 106 +#define FC_CAUSANT 107 +#define FC_DESCAUSANT 108 diff --git a/src/ve01/vetbcnt.uml b/src/ve01/vetbcnt.uml new file mode 100644 index 000000000..035c442dc --- /dev/null +++ b/src/ve01/vetbcnt.uml @@ -0,0 +1,138 @@ +#include "vetbcnt.h" + +TOOLBAR "Toolbar" 0 0 0 2 + +#include + +BUTTON DLG_NULL 2 2 +BEGIN +END + +#include + +ENDPAGE + +PAGE "Causali per numerazione" 0 2 0 0 + +GROUPBOX DLG_NULL 78 4 +BEGIN + PROMPT 1 1 "" + FLAGS "R" +END + +STRING FC_CODNUM 4 +BEGIN + PROMPT 2 2 "Numerazione " + FIELD CODTAB[1,4] + HELP "Codice numerazione" + USE %NUM + INPUT CODTAB FC_CODNUM + DISPLAY "Codice" CODTAB + DISPLAY "Descrizione@50" S0 + OUTPUT FC_CODNUM CODTAB + OUTPUT FC_DESNUM S0 + CHECKTYPE FORCED + FLAG "UPA" + KEY 1 + WARNING Numerazione #F_CODNUM assente +END + +STRING FC_DESNUM 50 +BEGIN + PROMPT 24 2 "" + HELP "Descrizione numerazione" + USE %NUM KEY 2 + INPUT S0 FC_DESNUM + DISPLAY "Descrizione@60" S0 + DISPLAY "Codice" CODTAB + COPY OUTPUT FC_CODNUM + KEY 1 + GROUP 1 +END + +STRING FC_TIPODOC 4 +BEGIN + PROMPT 2 3 "Tipo " + FIELD CODTAB[5,8] + HELP "Codice tipo documento" + USE %TIP + INPUT CODTAB FC_TIPODOC + DISPLAY "Codice" CODTAB + DISPLAY "Descrizione@50" S0 + OUTPUT FC_TIPODOC CODTAB + OUTPUT FC_DESTIPODOC S0 + CHECKTYPE FORCED + FLAG "UP" + KEY 1 + WARNING Tipo documento #F_TIPODOC assente +END + +STRING FC_DESTIPODOC 50 +BEGIN + PROMPT 24 3 "" + HELP "Descrizione tipo documento" + USE %TIP KEY 2 + INPUT S0 FC_DESTIPODOC + DISPLAY "Descrizione@60" S0 + DISPLAY "Codice" CODTAB + COPY OUTPUT FC_TIPODOC + KEY 1 +END + +STRING FC_CAUS 3 +BEGIN + PROMPT 2 6 "Causale " + FIELD S5 + USE LF_CAUSALI + INPUT CODCAUS FC_CAUS + DISPLAY "Codice" CODCAUS + DISPLAY "Descrizione@50" DESCR + OUTPUT FC_CAUS CODCAUS + OUTPUT FC_DESCAUS DESCR + CHECKTYPE NORMAL + FLAG "U" + GROUP 2 + ADD RUN CG0 -4 +END + +STRING FC_DESCAUS 50 +BEGIN + PROMPT 24 6 "" + USE LF_CAUSALI KEY 2 + INPUT DESCR FC_DESCAUS + DISPLAY "Descrizione@50" DESCR + DISPLAY "Codice" CODCAUS + COPY OUTPUT FC_CAUS + CHECKTYPE NORMAL + GROUP 2 +END + +STRING FC_CAUSANT 3 +BEGIN + PROMPT 2 7 "Causale ant. " + FIELD S6 + USE LF_CAUSALI SELECT REG =="" + INPUT CODCAUS FC_CAUSANT + DISPLAY "Codice" CODCAUS + DISPLAY "Descrizione@50" DESCR + OUTPUT FC_CAUSANT CODCAUS + OUTPUT FC_DESCAUSANT DESCR + CHECKTYPE NORMAL + FLAG "U" + GROUP 2 +END + +STRING FC_DESCAUSANT 50 +BEGIN + PROMPT 24 7 "" + USE LF_CAUSALI KEY 2 + INPUT DESCR FC_DESCAUSANT + DISPLAY "Descrizione@50" DESCR + DISPLAY "Codice" CODCAUS + COPY OUTPUT FC_CAUSANT + CHECKTYPE NORMAL + GROUP 2 +END + +ENDPAGE +ENDMASK