Patch level : 01.00 0282

Files correlati     : f23.dir f23.trr f9.dir f9.trr

Bug                 :
Aggiornamento FePA
This commit is contained in:
Alessandro Bonazzi 2025-06-09 10:36:01 +02:00
parent 165d0f86bc
commit 924af328b5
5 changed files with 462 additions and 8 deletions

View File

@ -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();
}

20
src/ve01/ve1300af.h Normal file
View File

@ -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

291
src/ve01/ve1300af.uml Normal file
View File

@ -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 <helpbar.h>
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

8
src/ve01/vetbcnt.h Normal file
View File

@ -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

138
src/ve01/vetbcnt.uml Normal file
View File

@ -0,0 +1,138 @@
#include "vetbcnt.h"
TOOLBAR "Toolbar" 0 0 0 2
#include <filebar.h>
BUTTON DLG_NULL 2 2
BEGIN
END
#include <cancelbar.h>
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