From 7251853d9ff169176a95a4cbf69fa88d588b06ed Mon Sep 17 00:00:00 2001 From: mtollari Date: Wed, 12 Apr 2017 13:39:06 +0000 Subject: [PATCH] Patch level : 12.0 no-patch Files correlati : Commento : - Aggiunto filtro per gruppo - conto - sottoconto - Aggiunto filtro data pagamento - Aggiunto totale documento git-svn-id: svn://10.65.10.50/branches/R_10_00@23732 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- src/ps/ps0713800.cpp | 145 ++++++++++++++++++++++++++++++++---------- src/ps/ps0713800a.h | 37 +++++++---- src/ps/ps0713800a.msk | 99 ++++++++++++++++++++++------ 3 files changed, 213 insertions(+), 68 deletions(-) diff --git a/src/ps/ps0713800.cpp b/src/ps/ps0713800.cpp index 9e4337663..ad110dfc8 100644 --- a/src/ps/ps0713800.cpp +++ b/src/ps/ps0713800.cpp @@ -51,22 +51,41 @@ bool TEsportaIva_msk::on_field_event(TOperable_field& o, TField_event e, long jo createName(); break; case B_FORNITORE: - if(get_bool(B_FORNITORE)) + if(e != fe_init) { - enable(F_CODCF); - enable(F_RAGSOC); + if(get_bool(B_FORNITORE)) + { + enable(F_CODCF); + enable(F_RAGSOC); + } + else + { + disable(F_CODCF); + disable(F_RAGSOC); + set(F_CODCF, ""); + set(F_RAGSOC, ""); + createName(); + } + } + break; + case B_GCS: + if(get_bool(B_GCS)) + { + enable(F_GRUPPO); + enable(F_CONTO); + enable(F_SOTTOCONTO); } else { - disable(F_CODCF); - disable(F_RAGSOC); - set(F_CODCF, ""); - set(F_RAGSOC, ""); - createName(); + disable(F_GRUPPO); + disable(F_CONTO); + disable(F_SOTTOCONTO); + set(F_GRUPPO, ""); + set(F_CONTO, ""); + set(F_SOTTOCONTO, ""); + } - break; case B_PRTAPE: - case B_PRTCHIU: if(e == fe_init) { set(B_PRTAPE, "X"); @@ -130,11 +149,11 @@ TISAM_recordset TEsportaIva_msk::createRecset() const daDReg = TDate(01,01,1990); } TDate daDFatt = get_date(F_DADATAFATT), aDFatt = get_date(F_ADATAFATT); - if(!aDFatt.ok()) + if(!aDFatt.ok() && daDFatt.ok()) // Sistemo le date solo se mi ha messo il filtro complementare { aDFatt = TDate(TODAY); } - if(!daDFatt.ok()) + if(!daDFatt.ok() && aDFatt.ok()) { daDFatt = TDate(01,01,1990); } @@ -162,6 +181,22 @@ TISAM_recordset TEsportaIva_msk::createRecset() const query << "&&(23.CODCF=#CODCF)"; } + if(get_bool(B_GCS)) + { + if(get_int(F_GRUPPO) > 0) + { + query << "&&(25.GRUPPO=#GRUPPO)"; + if(get_int(F_CONTO) > 0) + { + query << "&&(25.CONTO=#CONTO)"; + if(get_int(F_SOTTOCONTO) > 0) + { + query << "&&(25.SOTTOCONTO=#SOTTOCONTO)"; + } + } + } + } + query << "\n"; query << "JOIN MOV INTO NUMREG==NUMREG\n" @@ -180,11 +215,28 @@ TISAM_recordset TEsportaIva_msk::createRecset() const recset.set_var("#DADATAFATT", daDFatt); recset.set_var("#ADATAFATT", aDFatt); } + if(get_bool(B_FORNITORE)) { recset.set_var("#CODCF", get(F_CODCF)); } + if(get_bool(B_GCS)) + { + if(get_int(F_GRUPPO) > 0) + { + recset.set_var("#GRUPPO", get(F_GRUPPO)); + if(get_int(F_CONTO) > 0) + { + recset.set_var("#CONTO", get(F_CONTO)); + if(get_int(F_SOTTOCONTO) > 0) + { + recset.set_var("#SOTTOCONTO", get(F_SOTTOCONTO)); + } + } + } + } + return recset; } @@ -270,7 +322,17 @@ void TEsportaIva_msk::fill() // Da fare sempre o last_data_pag non viene valorizzato bool partita_chiusa = test_partita(numreg, last_data_pag, dataTest); - //if(!datadoc && (last_data_pag < get_date(F_DADATA) || get_date(F_ADATA) < last_data_pag || !last_data_pag.ok())) continue; + TDate daDPag = get_date(F_DADATAPAG), aDPag = get_date(F_ADATAPAG); + if(!aDPag.ok() && daDPag.ok()) // Sistemo le date solo se mi ha messo il filtro complementare + { + aDPag = TDate(TODAY); + } + if(!daDPag.ok() && aDPag.ok()) + { + daDPag = TDate(01,01,1990); + } + + if(aDPag.ok() && daDPag.ok() && (last_data_pag < daDPag || aDPag < last_data_pag || !last_data_pag.ok())) continue; if (all || (get_bool(B_PRTAPE) && !partita_chiusa) || (get_bool(B_PRTCHIU) && partita_chiusa)) { @@ -296,8 +358,9 @@ void TEsportaIva_msk::fill() char sez = rmovana.get_char("SEZIONE"); TImporto importo(sez, rmovana.get_real("IMPORTO")); importo.normalize('D'); - row.add(importo.valore()); + row.add(importo.valore()); row.add(rmoviva.get("23.RITFIS").as_real()); + row.add(rmoviva.get("23.TOTDOC").as_real()); row.add(rmoviva.get("23.DATADOC").as_string()); row.add(rmoviva.get("23.NUMDOC").as_string()); row.add(last_data_pag); @@ -330,6 +393,7 @@ void TEsportaIva_msk::fill() row.add(rmoviva.get("20.RAGSOC").as_string()); row.add(rmoviva.get(RMI_IMPONIBILE).as_real()); row.add(rmoviva.get("23.RITFIS").as_real()); + row.add(rmoviva.get("23.TOTDOC").as_real()); row.add(rmoviva.get("23.DATADOC").as_string()); row.add(rmoviva.get("23.NUMDOC").as_string()); row.add(last_data_pag); @@ -350,6 +414,7 @@ void TEsportaIva_msk::fill() row.add(rmoviva.get("20.RAGSOC").as_string()); row.add(rmoviva.get(RMI_IMPONIBILE).as_real()); row.add(rmoviva.get("23.RITFIS").as_real()); + row.add(rmoviva.get("23.TOTDOC").as_real()); row.add(rmoviva.get("23.DATADOC").as_string()); row.add(rmoviva.get("23.NUMDOC").as_string()); row.add(last_data_pag); @@ -477,7 +542,17 @@ void TEsportaIva_app::esporta_righe_iva(const TEsportaIva_msk& m) const // Da fare sempre o last_data_pag non viene valorizzato bool partita_chiusa = test_partita(numreg, last_data_pag, dataTest); - //if(!datadoc && last_data_pag < m.get_date(F_DADATA) && m.get_date(F_ADATA) < last_data_pag) continue; + TDate daDPag = m.get_date(F_DADATAPAG), aDPag = m.get_date(F_ADATAPAG); + if(!aDPag.ok() && daDPag.ok()) // Sistemo le date solo se mi ha messo il filtro complementare + { + aDPag = TDate(TODAY); + } + if(!daDPag.ok() && aDPag.ok()) + { + daDPag = TDate(01,01,1990); + } + + if(aDPag.ok() && daDPag.ok() && (last_data_pag < daDPag || aDPag < last_data_pag || !last_data_pag.ok())) continue; if (all || (m.get_bool(B_PRTAPE) && !partita_chiusa) || (m.get_bool(B_PRTCHIU) && partita_chiusa)) { @@ -504,13 +579,15 @@ void TEsportaIva_app::esporta_righe_iva(const TEsportaIva_msk& m) const TImporto importo(sez, rmovana.get_real("IMPORTO")); importo.normalize('D'); csv.set(4, importo.valore()); + csv.set(5, rmoviva.get("23.RITFIS").as_real()); - csv.set(6, rmoviva.get("23.DATADOC")); - csv.set(7, rmoviva.get("23.NUMDOC")); - csv.set(8, last_data_pag); - csv.set(9, rmoviva.get("25.GRUPPO")); - csv.set(10, rmoviva.get("25.CONTO")); - csv.set(11, rmoviva.get("25.SOTTOCONTO")); + csv.set(6, rmoviva.get("23.TOTDOC").as_real()); + csv.set(7, rmoviva.get("23.DATADOC")); + csv.set(8, rmoviva.get("23.NUMDOC")); + csv.set(9, last_data_pag); + csv.set(10, rmoviva.get("25.GRUPPO")); + csv.set(11, rmoviva.get("25.CONTO")); + csv.set(12, rmoviva.get("25.SOTTOCONTO")); } while (rmoviva.move_next()) { @@ -536,12 +613,13 @@ void TEsportaIva_app::esporta_righe_iva(const TEsportaIva_msk& m) const csv.set(3, rmoviva.get("20.RAGSOC")); csv.set(4, rmoviva.get(RMI_IMPONIBILE).as_real()); csv.set(5, rmoviva.get("23.RITFIS").as_real()); - csv.set(6, rmoviva.get("23.DATADOC")); - csv.set(7, rmoviva.get("23.NUMDOC")); - csv.set(8, last_data_pag); - csv.set(9, rmoviva.get("25.GRUPPO")); - csv.set(10, rmoviva.get("25.CONTO")); - csv.set(11, rmoviva.get("25.SOTTOCONTO")); + csv.set(6, rmoviva.get("23.TOTDOC").as_real()); + csv.set(7, rmoviva.get("23.DATADOC")); + csv.set(8, rmoviva.get("23.NUMDOC")); + csv.set(9, last_data_pag); + csv.set(10, rmoviva.get("25.GRUPPO")); + csv.set(11, rmoviva.get("25.CONTO")); + csv.set(12, rmoviva.get("25.SOTTOCONTO")); } } } @@ -555,12 +633,13 @@ void TEsportaIva_app::esporta_righe_iva(const TEsportaIva_msk& m) const csv.set(3, rmoviva.get("20.RAGSOC")); csv.set(4, rmoviva.get(RMI_IMPONIBILE).as_real()); csv.set(5, rmoviva.get("23.RITFIS").as_real()); - csv.set(6, rmoviva.get("23.DATADOC")); - csv.set(7, rmoviva.get("23.NUMDOC")); - csv.set(8, last_data_pag); - csv.set(9, rmoviva.get("25.GRUPPO")); - csv.set(10, rmoviva.get("25.CONTO")); - csv.set(11, rmoviva.get("25.SOTTOCONTO")); + csv.set(6, rmoviva.get("23.TOTDOC").as_real()); + csv.set(7, rmoviva.get("23.DATADOC")); + csv.set(8, rmoviva.get("23.NUMDOC")); + csv.set(9, last_data_pag); + csv.set(10, rmoviva.get("25.GRUPPO")); + csv.set(11, rmoviva.get("25.CONTO")); + csv.set(12, rmoviva.get("25.SOTTOCONTO")); } } } diff --git a/src/ps/ps0713800a.h b/src/ps/ps0713800a.h index 650e5314e..23cf9a928 100644 --- a/src/ps/ps0713800a.h +++ b/src/ps/ps0713800a.h @@ -1,30 +1,39 @@ //campi maschera ps0713800a +/* Sheet */ #define A_DATAREG 101 #define A_IDLAVORO 102 #define A_CODF 103 #define A_RAGSOC 104 #define A_IMPORTO 105 #define A_RITFIS 106 -#define A_DATADOC 107 -#define A_NUMDOC 108 -#define A_DATAPAG 109 -#define A_GRUPPO 110 -#define A_CONTO 111 -#define A_SOTTOCONTO 112 +#define A_TOTALE 107 +#define A_DATADOC 108 +#define A_NUMDOC 109 +#define A_DATAPAG 110 +#define A_GRUPPO 111 +#define A_CONTO 112 +#define A_SOTTOCONTO 113 +/* Maschera */ #define F_PATH 201 #define F_NAME 202 #define F_DADATAREG 203 #define F_ADATAREG 204 #define F_DADATAFATT 205 #define F_ADATAFATT 206 -#define F_JOB 207 -#define B_FORNITORE 208 -#define F_CODCF 209 -#define F_RAGSOC 210 -#define B_PRTAPE 211 -#define B_PRTCHIU 212 -#define B_SOLRITFIS 213 -#define B_SOLNONINV 214 +#define F_DADATAPAG 207 +#define F_ADATAPAG 208 +#define F_JOB 209 +#define B_FORNITORE 210 +#define F_CODCF 211 +#define F_RAGSOC 212 +#define B_GCS 213 +#define F_GRUPPO 214 +#define F_CONTO 215 +#define F_SOTTOCONTO 216 +#define B_PRTAPE 217 +#define B_PRTCHIU 218 +#define B_SOLRITFIS 219 +#define B_SOLNONINV 220 #define S_RESULT 301 \ No newline at end of file diff --git a/src/ps/ps0713800a.msk b/src/ps/ps0713800a.msk index e1d7530e7..d3eff6a9f 100644 --- a/src/ps/ps0713800a.msk +++ b/src/ps/ps0713800a.msk @@ -20,20 +20,12 @@ ENDPAGE PAGE "Trasferimento dati IVA per ATS" -1 -1 80 10 -STRING DLG_PROFILE 50 -BEGIN - PROMPT 9 -12 "Profilo " - PSELECT - FLAGS "H" -END - STRING F_PATH 255 45 BEGIN PROMPT 0 1 "Cartella " DSELECT CHECKTYPE REQUIRED FLAGS "M" - FIELD PATH END STRING F_NAME 30 @@ -41,41 +33,46 @@ BEGIN PROMPT 60 1 "File " FLAGS "D" CHECKTYPE NORMAL - FIELD NAME END DATE F_DADATAREG BEGIN PROMPT 0 2 "Da data Reg. " - FIELD ADATA END DATE F_ADATAREG BEGIN PROMPT 25 2 "A data Reg. " - FIELD ADATA END DATE F_DADATAFATT BEGIN PROMPT 0 3 "Da data Fatt." - FIELD ADATA END DATE F_ADATAFATT BEGIN PROMPT 25 3 "A data Fatt." - FIELD ADATA +END + +DATE F_DADATAPAG +BEGIN + PROMPT 0 4 "Da data Pag. " +END + +DATE F_ADATAPAG +BEGIN + PROMPT 25 4 "A data Pag. " END BOOLEAN B_FORNITORE BEGIN - PROMPT 0 4 "Fornitore" + PROMPT 0 5 "Fornitore" END NUMBER F_CODCF 6 BEGIN - PROMPT 14 4 "Codice:" + PROMPT 14 5 "Codice:" USE LF_CLIFO INPUT TIPOCF "F" SELECT INPUT CODCF F_CODCF @@ -93,7 +90,7 @@ END STRING F_RAGSOC 50 30 BEGIN - PROMPT 30 4 "R.Soc: " + PROMPT 30 5 "R.Soc: " USE LF_CLIFO KEY 2 INPUT TIPOCF "F" SELECT INPUT RAGSOC F_RAGSOC @@ -107,24 +104,77 @@ BEGIN FLAGS "D" END +BOOLEAN B_GCS +BEGIN + PROMPT 0 6 "" +END + +NUMBER F_GRUPPO 3 +BEGIN + PROMPT 3 6 "Gruppo: " + USE LF_PCON SELECT (CONTO="") + INPUT GRUPPO F_GRUPPO + DISPLAY "Gruppo" GRUPPO + DISPLAY "Descrizione@50" DESCR + OUTPUT F_GRUPPO GRUPPO + CHECKTYPE REQUIRED + WARNING "Gruppo assente" + FLAGS "D" +END + +NUMBER F_CONTO 3 +BEGIN + PROMPT 20 6 "Conto: " + USE LF_PCON SELECT (CONTO!="")&&(SOTTOCONTO="") + INPUT GRUPPO F_GRUPPO + INPUT CONTO F_CONTO + DISPLAY "Gruppo" GRUPPO + DISPLAY "Conto" CONTO + DISPLAY "Tipo" TMCF + DISPLAY "Descrizione@50" DESCR + OUTPUT F_CONTO CONTO + OUTPUT F_GRUPPO GRUPPO + CHECKTYPE REQUIRED + WARNING "Conto assente" + FLAGS "D" +END + +NUMBER F_SOTTOCONTO 6 +BEGIN + PROMPT 40 6 "Sottoconto: " + USE LF_PCON SELECT (SOTTOCONTO!="") + COPY INPUT F_CONTO + INPUT SOTTOCONTO F_SOTTOCONTO + DISPLAY "Gruppo" GRUPPO + DISPLAY "Conto" CONTO + DISPLAY "Sottoconto" SOTTOCONTO + DISPLAY "Descrizione@50" DESCR + OUTPUT F_SOTTOCONTO SOTTOCONTO + OUTPUT F_GRUPPO GRUPPO + OUTPUT F_CONTO CONTO + CHECKTYPE REQUIRED + WARNING "Sottoconto assente" + FLAGS "D" +END + BOOLEAN B_PRTAPE BEGIN - PROMPT 0 5 "Partita aperta" + PROMPT 0 7 "Partita aperta" END BOOLEAN B_PRTCHIU BEGIN - PROMPT 20 5 "Partita chiusa" + PROMPT 20 7 "Partita chiusa" END BOOLEAN B_SOLRITFIS BEGIN - PROMPT 40 5 "Solo Ritenute Fiscali" + PROMPT 40 7 "Solo Ritenute Fiscali" END BOOLEAN B_SOLNONINV BEGIN - PROMPT 70 5 "Solo doc. non inviati" + PROMPT 70 7 "Solo doc. non inviati" END @@ -138,13 +188,14 @@ END SPREADSHEET S_RESULT BEGIN - PROMPT 0 6 "" + PROMPT 0 8 "" ITEM "Data\nRegistrazione@10" ITEM "ID Lavoro@10" ITEM "Cod.\nFornitore@8" ITEM "Rag. Soc.@30" ITEM "Importo@10" ITEM "Rit.Fis@10" + ITEM "Totale@10" ITEM "Data\ndocumento@10" ITEM "Numero\ndocumento@10" ITEM "Data pagamento@10" @@ -195,6 +246,12 @@ BEGIN FLAGS "D" END +NUMBER A_TOTALE 18 3 +BEGIN + PROMPT 1 0 "Totale Documento" + FLAGS "D" +END + DATE A_DATADOC BEGIN PROMPT 1 0 "Data Documento"