Patch level : 12.0 758

Files correlati     : fp0400
Commento            : Aggiunto ordinamento fatture passive: data doc o ricezione
This commit is contained in:
Simone Palacino 2019-04-05 15:04:05 +02:00
parent 0616ae1f04
commit 795aacf12e
3 changed files with 65 additions and 38 deletions

View File

@ -99,6 +99,8 @@ void TPassive_mask::fill()
const TDate dal = get(F_DATAINI);
const TDate al = get(F_DATAEND);
const TString& ordin = get(F_FATTORD);
const TString& verso_ord = get(F_VERSOORD);
sf.hide();
sf.destroy();
@ -108,10 +110,10 @@ void TPassive_mask::fill()
elenco_prots_sel(prots_query);
query << "SELECT PZ_TIPOPROT AS TIPO_PROT, YEAR(P7_DATA) AS ANNO, P7_TIPODOC AS [TIPO_SDI], P7_NUMERO AS [NUM_DOC], " <<
"P7_DATA AS [DATA_DOC], PQ_IMPTOTDOC AS [TOT_DOC], PZ_NUMREGCONT AS NUMREGCONT, PZ_DATAREGCONT AS DATAREGCONT, P2_ANADENOMIN AS [RAG_SOC], P2_ANANOME AS NOME, " <<
"P7_DATA AS [DATA_DOC], PZ_DATAORARIC AS [DATA_RIC], PQ_IMPTOTDOC AS [TOT_DOC], PZ_NUMREGCONT AS NUMREGCONT, PZ_DATAREGCONT AS DATAREGCONT, P2_ANADENOMIN AS [RAG_SOC], P2_ANANOME AS NOME, " <<
"P2_ANACOGNOME AS COGNOME, P2_FISCIVACOD AS [P_IVA], P2_CODFISCALE AS [COD_FISC], P2_FISCIVAPAESE AS [COD_PAESE],\n" <<
"COUNT(PP_ATTACHMENT) AS ATTACHMENT, P1_CODDEST AS [COD_SDI], PU_PEC AS PEC, P1_KEYPRGINVIO AS KEYPROG, P1_KEYHEADERFATT AS KEYHEAD, P1_KEYBODYFATT AS KEYFATT, " <<
"PZ_TIPOPROT AS [TIPO_PROT], PZ_NUMPROT AS [NUM_PROT], PZ_ANNOPROT AS [ANNO_PROT], PZ_TIPOCF AS [TIPO_CF], PZ_CLIFOR AS [COD_CLIFOR]\n" <<
"PZ_NUMPROT AS [NUM_PROT], PZ_ANNOPROT AS [ANNO_PROT], PZ_TIPOCF AS [TIPO_CF], PZ_CLIFOR AS [COD_CLIFOR]\n" <<
"FROM PAA0100F PAA01\n" <<
"JOIN PAA0200F PAA02 ON P1_KEYPRGINVIO = P2_KEYPRGINVIO and P1_KEYHEADERFATT = P2_KEYHEADERFATT and P1_KEYBODYFATT = P2_KEYBODYFATT\n" <<
"JOIN PAA0700F PAA07 ON P1_KEYPRGINVIO = P7_KEYPRGINVIO and P1_KEYHEADERFATT = P7_KEYHEADERFATT and P1_KEYBODYFATT = P7_KEYBODYFATT\n" <<
@ -120,9 +122,9 @@ void TPassive_mask::fill()
"LEFT JOIN PAA3200F PAA32 ON P1_KEYPRGINVIO = PU_KEYPRGINVIO and P1_KEYHEADERFATT = PU_KEYHEADERFATT and P1_KEYBODYFATT = PU_KEYBODYFATT\n" <<
"LEFT JOIN FPPRO00F FPPRO ON P1_KEYPRGINVIO = PZ_KEYPRGINVIO and P1_KEYHEADERFATT = PZ_KEYHEADERFATT and P1_KEYBODYFATT = PZ_KEYBODYFATT\n" <<
"WHERE P7_DATA >= \'" << dal.date2ansi() << "\' AND P7_DATA <= \'" << al.date2ansi() << "\'" << prots_query << "\n" <<
"GROUP BY YEAR(P7_DATA), P7_TIPODOC, P7_NUMERO, P7_DATA, PQ_IMPTOTDOC, PZ_NUMREGCONT, PZ_DATAREGCONT, P2_ANADENOMIN, P2_ANANOME, P2_ANACOGNOME, P2_FISCIVACOD, P2_CODFISCALE, P2_FISCIVAPAESE,\n" <<
"GROUP BY YEAR(P7_DATA), P7_TIPODOC, P7_NUMERO, P7_DATA, PZ_DATAORARIC, PQ_IMPTOTDOC, PZ_NUMREGCONT, PZ_DATAREGCONT, P2_ANADENOMIN, P2_ANANOME, P2_ANACOGNOME, P2_FISCIVACOD, P2_CODFISCALE, P2_FISCIVAPAESE,\n" <<
"P1_CODDEST, PU_PEC, P1_KEYPRGINVIO, P1_KEYHEADERFATT, P1_KEYBODYFATT, PZ_TIPOPROT, PZ_NUMPROT, PZ_ANNOPROT, PZ_TIPOCF, PZ_CLIFOR\n" <<
"ORDER BY PZ_ANNOPROT DESC, PZ_TIPOPROT ASC, PZ_NUMPROT DESC";
"ORDER BY " << (ordin == "R"? "PZ_DATAORARIC" : "P7_DATA") << " " << (verso_ord == "C"? "ASC" : "DESC");
fp_db().sq_set_exec(query, false);
_list_fatt_err.clear();
@ -164,20 +166,19 @@ void TPassive_mask::elenco_prots_sel(TString& string) const
void TPassive_mask::aggiungi_riga(TLocalisamfile& clifo, TSheet_field& sf, TSheet_field& sf_err)
{
int forn_code = -1;
TString denom = fp_db().sq_get("RAG_SOC");
const TString paa_codfisc = fp_db().sq_get("COD_FISC");
const TString paa_piva = fp_db().sq_get("P_IVA");
const TString paa_codpaese = fp_db().sq_get("COD_PAESE");
const TString paa_codsdi = fp_db().sq_get("COD_SDI");
const TString prot = fp_db().sq_get("TIPO_PROT");
const TDate dataregcont = fp_db().sq_get_date("DATAREGCONT");
const TString filter_elab = get(F_FATTSEL);
TString denom = fp_db().sq_get("RAG_SOC");
const TString& paa_codfisc = fp_db().sq_get("COD_FISC");
const TString& paa_piva = fp_db().sq_get("P_IVA");
const TString& paa_codpaese = fp_db().sq_get("COD_PAESE");
const TString& paa_codsdi = fp_db().sq_get("COD_SDI");
const TString& prot = fp_db().sq_get("TIPO_PROT");
const TDate& dataregcont = fp_db().sq_get_date("DATAREGCONT");
const TString& filter_elab = get(F_FATTSEL);
clifo.zero();
clifo.put(CLI_TIPOCF, 'F');
forn_code = find_fornitore(clifo);
const int forn_code = find_fornitore(clifo);
if( filter_elab.blank() && forn_code != 0 || filter_elab == "E" && forn_code == 0 || filter_elab == "A")
{
TToken_string& row = sf.row(-1);
@ -190,7 +191,7 @@ void TPassive_mask::aggiungi_riga(TLocalisamfile& clifo, TSheet_field& sf, TShee
row.add(fp_db().sq_get_int("ANNO"), 1);
row.add(fp_db().sq_get("TIPO_SDI"));
row.add(fp_db().sq_get("NUM_DOC"));
// Trasformo formato data da yyyy-mm-gg a italiano
row.add(fp_db().sq_get_date("DATA_RIC"));
row.add(fp_db().sq_get_date("DATA_DOC"));
row.add(fp_db().sq_get("TOT_DOC"));

View File

@ -3,6 +3,8 @@
#define F_DATAEND 502
#define F_SAVEFOR 503
#define F_FATTSEL 504
#define F_FATTORD 505
#define F_VERSOORD 506
#define END_MASK 599
@ -17,21 +19,22 @@
#define S_ANNO 102
#define S_TIPODOCSDI 103
#define S_NDOC 104
#define S_DATADOC 105
#define S_TOTDOC 106
#define S_FPPRO 107
#define S_NUMREGCONT 108
#define S_DATAREGCONT 109
#define S_FORNITORE 110
#define S_RAGSOC 111
#define S_STATOPAIV 112
#define S_PARIVA 113
#define S_CODFISC 114
#define S_ATTACH 115
#define S_CODSDI 116
#define S_RAGXML 117
#define S_NPROT 118
#define S_PROKEY 119
#define S_DATARIC 105
#define S_DATADOC 106
#define S_TOTDOC 107
#define S_FPPRO 108
#define S_NUMREGCONT 109
#define S_DATAREGCONT 110
#define S_FORNITORE 111
#define S_RAGSOC 112
#define S_STATOPAIV 113
#define S_PARIVA 114
#define S_CODFISC 115
#define S_ATTACH 116
#define S_CODSDI 117
#define S_RAGXML 118
#define S_NPROT 119
#define S_PROKEY 120
#define F_ERR 301

View File

@ -57,9 +57,25 @@ BEGIN
FLAGS "Z"
END
RADIOBUTTON F_FATTORD 20 20
BEGIN
PROMPT 1 5 "Ordinamento fatture per "
ITEM "|Data Documento"
ITEM "R|Data Ricezione"
FLAGS ""
END
RADIOBUTTON F_VERSOORD 20 20
BEGIN
PROMPT 25 5 "Ordinamento:"
ITEM "|Decrescente"
ITEM "C|Crescente"
FLAGS ""
END
SPREADSHEET F_PROT 25 10
BEGIN
PROMPT 1 6 "Selezionare o aggiungere un filtro sul Tipo Progressivo"
PROMPT 1 10 "Selezionare o aggiungere un filtro sul Tipo Progressivo"
ITEM "@1"
ITEM "Codice\nProtocol.@12"
END
@ -75,6 +91,7 @@ BEGIN
ITEM "Anno"
ITEM "Tipo Doc.\nSDI@6"
ITEM "Numero\nDocumento@18"
ITEM "Data\nRicezione@8"
ITEM "Data\nDoc.@8"
ITEM "Totale\nDocumento@12"
ITEM "Salvato in\nFP PRO@7"
@ -160,13 +177,13 @@ END
NUMBER S_ANNO 4
BEGIN
PROMPT 1 1 "Anno "
PROMPT 7 0 "Anno "
FLAGS "D"
END
LIST S_TIPODOCSDI 35
BEGIN
PROMPT 12 1 "Tipo Doc SDI"
PROMPT 25 0 "Tipo Doc SDI"
ITEM "TD01|TD01 Fattura"
ITEM "TD02|TD02 Acconto/Anticipo su fattura"
ITEM "TD03|TD03 Acconto/Anticipo su parcella"
@ -179,31 +196,37 @@ END
STRING S_NDOC 20
BEGIN
PROMPT 1 2 "Numero Doc. "
PROMPT 1 1 "Numero Doc. "
FLAGS "D"
END
DATE S_DATARIC
BEGIN
PROMPT 20 1 "Data\nRicezione"
FLAGS "D"
END
DATE S_DATADOC
BEGIN
PROMPT 20 0 "Data Doc. "
PROMPT 40 1 "Data Doc. "
FLAGS "D"
END
NUMBER S_TOTDOC 11 3
BEGIN
PROMPT 26 2 "Totale Doc. "
PROMPT 1 2 "Totale Doc. "
FLAGS "D"
END
BOOLEAN S_FPPRO
BEGIN
PROMPT 1 3 "Salvato in FP-PRO"
PROMPT 15 2 "Salvato in FP-PRO"
FLAGS "D"
END
NUMBER S_NUMREGCONT 6 0
BEGIN
PROMPT 1 3 "Num. Registrazione contabile"
PROMPT 40 2 "Num. Registrazione contabile"
FLAGS "D"
END