From f6d7eb4639d6de82447097d8730299727f48cd06 Mon Sep 17 00:00:00 2001 From: mtollari Date: Tue, 13 Jun 2017 15:45:44 +0000 Subject: [PATCH] Patch level : 12.0 no-patch Files correlati : ps0713 Commento : Rivisti completamente i filtri: - Aggiunto filtro da/a Fornitore - Aggiunto filtro da/a Gruppo - Aggiunto filtro da/a Conto - Aggiunto filtro da/a Sottoconto - Aggiunto filtro da/a Importo - Sistemata data test in test_partita() - Aggiunti controlli per i nuovi campi - Sistemata query per i nuovi campi - Aggiunta pagina per i nuovi campi git-svn-id: svn://10.65.10.50/branches/R_10_00@23866 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- src/ps/ps0713800.cpp | 338 +++++++++++++++++++++++++++++++++--------- src/ps/ps0713800a.h | 31 ++-- src/ps/ps0713800a.msk | 179 +++++++++++++++++----- 3 files changed, 428 insertions(+), 120 deletions(-) diff --git a/src/ps/ps0713800.cpp b/src/ps/ps0713800.cpp index 3eaae4135..5229ed130 100644 --- a/src/ps/ps0713800.cpp +++ b/src/ps/ps0713800.cpp @@ -48,52 +48,86 @@ bool TEsportaIva_msk::on_field_event(TOperable_field& o, TField_event e, long jo if (e == fe_init) o.set(ini_get_string(CONFIG_DITTA, "Esporta_Dati_IVA", "Path")); break; -/* - case F_DADATA: - if (e == fe_init) - o.set(ini_get_string(CONFIG_DITTA, "Esporta_Dati_IVA", "LastSend", "01-01-2017")); - break; -*/ - //case F_ADATA: - case F_CODCF: + case F_DACODCF: if (e == fe_modify || e == fe_close) createName(); break; - case B_FORNITORE: + case F_ACODCF: + if (e == fe_modify || e == fe_close) + createName(); + break; + case B_DAFORNITORE: if(e != fe_init) { - if(get_bool(B_FORNITORE)) + if(get_bool(B_DAFORNITORE)) { - enable(F_CODCF); - enable(F_RAGSOC); + enable(F_DACODCF); + enable(F_DARAGSOC); } else { - disable(F_CODCF); - disable(F_RAGSOC); - set(F_CODCF, ""); - set(F_RAGSOC, ""); + disable(F_DACODCF); + disable(F_DARAGSOC); + set(F_DACODCF, ""); + set(F_DARAGSOC, ""); createName(); } } break; - case B_GCS: - if(get_bool(B_GCS)) + case B_AFORNITORE: + if(e != fe_init) { - enable(F_GRUPPO); - enable(F_CONTO); - enable(F_SOTTOCONTO); + if(get_bool(B_AFORNITORE)) + { + enable(F_ACODCF); + enable(F_ARAGSOC); + } + else + { + disable(F_ACODCF); + disable(F_ARAGSOC); + set(F_ACODCF, ""); + set(F_ARAGSOC, ""); + createName(); + } + } + break; + case B_DAGCS: + if(get_bool(B_DAGCS)) + { + enable(F_DAGRUPPO); + enable(F_DACONTO); + enable(F_DASOTTOCONTO); } else { - disable(F_GRUPPO); - disable(F_CONTO); - disable(F_SOTTOCONTO); - set(F_GRUPPO, ""); - set(F_CONTO, ""); - set(F_SOTTOCONTO, ""); + disable(F_DAGRUPPO); + disable(F_DACONTO); + disable(F_DASOTTOCONTO); + set(F_DAGRUPPO, ""); + set(F_DACONTO, ""); + set(F_DASOTTOCONTO, ""); } + break; + case B_AGCS: + if(get_bool(B_AGCS)) + { + enable(F_AGRUPPO); + enable(F_ACONTO); + enable(F_ASOTTOCONTO); + } + else + { + disable(F_AGRUPPO); + disable(F_ACONTO); + disable(F_ASOTTOCONTO); + set(F_AGRUPPO, ""); + set(F_ACONTO, ""); + set(F_ASOTTOCONTO, ""); + + } + break; case B_PRTAPE: if(e == fe_init) { @@ -101,10 +135,13 @@ bool TEsportaIva_msk::on_field_event(TOperable_field& o, TField_event e, long jo set(B_PRTCHIU, "X"); set(B_SOLNONINV, "X"); } - break; + break; case DLG_RECALC: if (e != fe_init) + { + show_page(1); fill(); + } break; default: break; } @@ -116,10 +153,16 @@ void TEsportaIva_msk::createName() //setto il campo F_NAME a un valore fisso, e cioè: "CODF_data.txt" TDate today(TODAY); TString name; - if(get(F_CODCF).full()) - name << get(F_CODCF); + if(get(F_DACODCF).full()) + name << get(F_DACODCF); - if(get(F_CODCF).full() && today.ok()) // Solo se ci sono entrambi, sennò farebbe schifo + if(get(F_DACODCF).full() && (today.ok() || get(F_ACODCF).full())) // Solo se ci sono entrambi, sennò farebbe schifo + name << "_"; + + if(get(F_ACODCF).full()) + name << get(F_ACODCF); + + if(get(F_ACODCF).full() && today.ok()) // Solo se ci sono entrambi, sennò farebbe schifo name << "_"; if(today.ok()) @@ -137,7 +180,7 @@ bool TEsportaIva_msk::testFields() const warning_box("Selezionare almeno un tipo di partita!"); return false; } - if(get_bool(B_FORNITORE) && get(F_CODCF).empty()) + if(get_bool(B_DAFORNITORE) && get(F_DACODCF).empty()) { warning_box("Selezionare il fornitore o togliere il filtro!"); return false; @@ -185,25 +228,81 @@ TISAM_recordset TEsportaIva_msk::createRecset() const query << "(23.TIPO=\"F\")"; - if(get_bool(B_FORNITORE)) + if(get_bool(B_DAFORNITORE) && get_bool(B_AFORNITORE)) { - query << "&&(23.CODCF=#CODCF)"; + query << "&&STR((23.CODCF>=#DACODCF))&&STR((23.CODCF<=#ACODCF))"; + } + else if(get_bool(B_DAFORNITORE)) + { + query << "&&(23.CODCF=#DACODCF)"; + } + else if(get_bool(B_AFORNITORE)) + { + query << "&&(23.CODCF=#ACODCF)"; } - if(get_bool(B_GCS)) + bool nolav = get_int(F_JOB) != 1; + + if(nolav) { - if(get_int(F_GRUPPO) > 0) + + /* Gruppo *************************************************************/ + + if(get_int(F_DAGRUPPO) > 0 && get_int(F_AGRUPPO) > 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 << "&&STR((25.GRUPPO>=#DAGRUPPO))&&STR((25.GRUPPO<=#AGRUPPO))"; } + else if(get_int(F_DAGRUPPO) > 0) + { + query << "&&(25.GRUPPO=#DAGRUPPO)"; + } + else if(get_int(F_AGRUPPO) > 0) + { + query << "&&(25.GRUPPO=#AGRUPPO)"; + } + + /* Conto *************************************************************/ + + if(get_int(F_DACONTO) > 0 && get_int(F_ACONTO) > 0) + { + query << "&&STR((25.CONTO>=#DACONTO))&&STR((25.CONTO<=#ACONTO))"; + } + else if(get_int(F_DACONTO) > 0) + { + query << "&&(25.CONTO=#DACONTO)"; + } + else if(get_int(F_ACONTO) > 0) + { + query << "&&(25.CONTO=#ACONTO)"; + } + + /* Sottoconto *************************************************************/ + + if(get_int(F_DASOTTOCONTO) > 0 && get_int(F_ASOTTOCONTO) > 0) + { + query << "&&STR((25.SOTTOCONTO>=#DASOTTOCONTO))&&STR((25.SOTTOCONTO<=#ASOTTOCONTO))"; + } + else if(get_int(F_DASOTTOCONTO) > 0) + { + query << "&&(25.SOTTOCONTO=#DASOTTOCONTO)"; + } + else if(get_int(F_ASOTTOCONTO) > 0) + { + query << "&&(25.SOTTOCONTO=#ASOTTOCONTO)"; + } + } + + if(get_real(F_DAIMPORTO) > ZERO && get_real(F_AIMPORTO) > ZERO) + { + query << "&&STR((23.TOTDOC>=#DATOTDOC))&&STR((23.TOTDOC<=#ATOTDOC))"; + } + if(get_real(F_DAIMPORTO) > ZERO) + { + query << "&&(23.TOTDOC>#DATOTDOC)"; + } + if(get_real(F_AIMPORTO) > ZERO) + { + query << "&&(23.TOTDOC<#ATOTDOC)"; } query << "\n"; @@ -225,39 +324,66 @@ TISAM_recordset TEsportaIva_msk::createRecset() const recset.set_var("#ADATAFATT", aDFatt); } - if(get_bool(B_FORNITORE)) + if(get_bool(B_DAFORNITORE)) { - recset.set_var("#CODCF", get(F_CODCF)); + recset.set_var("#DACODCF", get(F_DACODCF)); + } + if(get_bool(B_AFORNITORE)) + { + recset.set_var("#ACODCF", get(F_ACODCF)); } - if(get_bool(B_GCS)) + if(nolav) { - if(get_int(F_GRUPPO) > 0) + + /* Gruppo *************************************************************/ + + if(get_int(F_DAGRUPPO) > 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)); - } - } + recset.set_var("#DAGRUPPO", get(F_DAGRUPPO)); + } + if(get_int(F_AGRUPPO) > 0) + { + recset.set_var("#AGRUPPO", get(F_AGRUPPO)); + } + + /* Conto *************************************************************/ + + if(get_int(F_DACONTO) > 0) + { + recset.set_var("#DACONTO", get(F_DACONTO)); + } + if(get_int(F_ACONTO) > 0) + { + recset.set_var("#ACONTO", get(F_ACONTO)); + } + + /* Sottoconto *************************************************************/ + + if(get_int(F_DASOTTOCONTO) > 0) + { + recset.set_var("#DASOTTOCONTO", get(F_DASOTTOCONTO)); + } + if(get_int(F_ASOTTOCONTO) > 0) + { + recset.set_var("#ASOTTOCONTO", get(F_ASOTTOCONTO)); } } + if(get_real(F_DAIMPORTO) > ZERO) + recset.set_var("#DAIMPORTO", get_real(F_DAIMPORTO)); + + if(get_real(F_AIMPORTO) > ZERO) + recset.set_var("#AIMPORTO", get_real(F_AIMPORTO)); + return recset; } TDate TEsportaIva_msk::getDataTest() const { - if(get_date(F_ADATAREG).ok()) + if(get_date(F_ADATAPAG).ok()) { - return get_date(F_ADATAREG); - } - else if(get_date(F_ADATAFATT).ok()) - { - return get_date(F_ADATAFATT); + return get_date(F_ADATAPAG); } return TDate(TODAY); } @@ -314,6 +440,7 @@ void TEsportaIva_msk::fill() TProgress_monitor pi(rmoviva.items(), TR("Creazione sheet...")); + bool lav = get_int(F_JOB) == 1; bool all = get_bool(B_PRTAPE) && get_bool(B_PRTCHIU); for (bool ok = rmoviva.move_first(); ok && !pi.is_cancelled(); ok = rmoviva.move_next()) { @@ -340,7 +467,7 @@ void TEsportaIva_msk::fill() { 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)) @@ -358,7 +485,24 @@ void TEsportaIva_msk::fill() { TToken_string row; const TRectype& rmovana = movana.body()[i]; - const TString80 codcms = rmovana.get("CODCMS"); + const TString codcms = rmovana.get("CODCMS"); + if(atoi(codcms) == 37832) + bool tolla = true; + + // Controllo gruppo conto e sottoconto se ho l'id lavorazione + if(lav) + { + int gruppo = atoi(rmovana.get("CODCONTO").left(3)); + int conto = atoi(rmovana.get("CODCONTO").mid(3,3)); + int sottoconto = atoi(rmovana.get("CODCONTO").mid(6,6)); + if( (get_int(F_DAGRUPPO) != 0 && get_int(F_DAGRUPPO) > gruppo) || + (get_int(F_AGRUPPO) != 0 && get_int(F_AGRUPPO) < gruppo) || + (get_int(F_DACONTO) != 0 && get_int(F_DACONTO) > conto) || + (get_int(F_ACONTO) != 0 && get_int(F_ACONTO) < conto) || + (get_int(F_DASOTTOCONTO) != 0 && get_int(F_DASOTTOCONTO) > sottoconto) || + (get_int(F_ASOTTOCONTO) != 0 && get_int(F_ASOTTOCONTO) < sottoconto)) + continue; + } row.add(rmoviva.get("23.DATAREG").as_string(), 0); row.add(codcms); @@ -373,9 +517,9 @@ void TEsportaIva_msk::fill() row.add(rmoviva.get("23.DATADOC").as_string()); row.add(rmoviva.get("23.NUMDOC").as_string()); row.add(last_data_pag); - row.add(rmoviva.get("25.GRUPPO").as_string()); - row.add(rmoviva.get("25.CONTO").as_string()); - row.add(rmoviva.get("25.SOTTOCONTO").as_string()); + row.add(rmovana.get("CODCONTO").left(3)); + row.add(rmovana.get("CODCONTO").mid(3,3)); + row.add(rmovana.get("CODCONTO").mid(6,6)); strarr.add(row); } while (rmoviva.move_next()) @@ -393,6 +537,22 @@ void TEsportaIva_msk::fill() { const TString & codcms = rmoviva.get("CODCMS").as_string(); + // Con quelli che non hanno delle righe effettuo il filtro con g/c/s della contabilità, + // controllo lo stesso lav perchè indica se devo farlo o meno + if(lav) + { + int gruppo = rmoviva.get("25.GRUPPO").as_int(); + int conto = rmoviva.get("25.CONTO").as_int(); + int sottoconto = rmoviva.get("25.SOTTOCONTO").as_int(); + if( (get_int(F_DAGRUPPO) != 0 && get_int(F_DAGRUPPO) > gruppo) || + (get_int(F_AGRUPPO) != 0 && get_int(F_AGRUPPO) < gruppo) || + (get_int(F_DACONTO) != 0 && get_int(F_DACONTO) > conto) || + (get_int(F_ACONTO) != 0 && get_int(F_ACONTO) < conto) || + (get_int(F_DASOTTOCONTO) != 0 && get_int(F_DASOTTOCONTO) > sottoconto) || + (get_int(F_ASOTTOCONTO) != 0 && get_int(F_ASOTTOCONTO) < sottoconto)) + continue; + } + if (codcms.full()) { TToken_string row; @@ -536,6 +696,7 @@ void TEsportaIva_app::esporta_righe_iva(const TEsportaIva_msk& m) const //instanzio il csv recordset TEsportaIva_rec csv; + bool lav = m.get_int(F_JOB) == 1; bool all = m.get_bool(B_PRTAPE) && m.get_bool(B_PRTCHIU); TProgress_monitor pi(rmoviva.items(), TR("Estrazione dati...")); for (bool ok = rmoviva.move_first(); ok && !pi.is_cancelled(); ok = rmoviva.move_next()) @@ -578,7 +739,22 @@ void TEsportaIva_app::esporta_righe_iva(const TEsportaIva_msk& m) const { csv.new_rec(""); const TRectype& rmovana = movana.body()[i]; - const TString80 codcms = rmovana.get("CODCMS"); + const TString80 codcms = rmovana.get("CODCMS"); + + // Controllo gruppo conto e sottoconto se ho l'id lavorazione + if(lav) + { + int gruppo = atoi(rmovana.get("CODCONTO").left(3)); + int conto = atoi(rmovana.get("CODCONTO").mid(3,3)); + int sottoconto = atoi(rmovana.get("CODCONTO").mid(6,6)); + if( (m.get_int(F_DAGRUPPO) != 0 && m.get_int(F_DAGRUPPO) > gruppo) || + (m.get_int(F_AGRUPPO) != 0 && m.get_int(F_AGRUPPO) < gruppo) || + (m.get_int(F_DACONTO) != 0 && m.get_int(F_DACONTO) > conto) || + (m.get_int(F_ACONTO) != 0 && m.get_int(F_ACONTO) < conto) || + (m.get_int(F_DASOTTOCONTO) != 0 && m.get_int(F_DASOTTOCONTO) > sottoconto) || + (m.get_int(F_ASOTTOCONTO) != 0 && m.get_int(F_ASOTTOCONTO) < sottoconto)) + continue; + } csv.set(0, rmoviva.get("23.DATAREG").as_string()); csv.set(1, codcms); @@ -594,9 +770,9 @@ void TEsportaIva_app::esporta_righe_iva(const TEsportaIva_msk& m) const 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")); + csv.set(10, rmovana.get("CODCONTO").left(3)); + csv.set(11, rmovana.get("CODCONTO").mid(3,3)); + csv.set(12, rmovana.get("CODCONTO").mid(6,6)); } while (rmoviva.move_next()) { @@ -613,6 +789,22 @@ void TEsportaIva_app::esporta_righe_iva(const TEsportaIva_msk& m) const { const TString & codcms = rmoviva.get("CODCMS").as_string(); + // Con quelli che non hanno delle righe effettuo il filtro con g/c/s della contabilità, + // controllo lo stesso lav perchè indica se devo farlo o meno + if(lav) + { + int gruppo = rmoviva.get("25.GRUPPO").as_int(); + int conto = rmoviva.get("25.CONTO").as_int(); + int sottoconto = rmoviva.get("25.SOTTOCONTO").as_int(); + if( (m.get_int(F_DAGRUPPO) != 0 && m.get_int(F_DAGRUPPO) > gruppo) || + (m.get_int(F_AGRUPPO) != 0 && m.get_int(F_AGRUPPO) < gruppo) || + (m.get_int(F_DACONTO) != 0 && m.get_int(F_DACONTO) > conto) || + (m.get_int(F_ACONTO) != 0 && m.get_int(F_ACONTO) < conto) || + (m.get_int(F_DASOTTOCONTO) != 0 && m.get_int(F_DASOTTOCONTO) > sottoconto) || + (m.get_int(F_ASOTTOCONTO) != 0 && m.get_int(F_ASOTTOCONTO) < sottoconto)) + continue; + } + if (codcms.full()) { csv.new_rec(""); diff --git a/src/ps/ps0713800a.h b/src/ps/ps0713800a.h index 23cf9a928..e32028bdb 100644 --- a/src/ps/ps0713800a.h +++ b/src/ps/ps0713800a.h @@ -24,16 +24,25 @@ #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 B_DAFORNITORE 210 +#define F_DACODCF 211 +#define F_DARAGSOC 212 +#define B_AFORNITORE 213 +#define F_ACODCF 214 +#define F_ARAGSOC 215 +#define B_DAGCS 216 +#define F_DAGRUPPO 217 +#define F_DACONTO 218 +#define F_DASOTTOCONTO 219 +#define B_AGCS 220 +#define F_AGRUPPO 221 +#define F_ACONTO 222 +#define F_ASOTTOCONTO 223 +#define F_DAIMPORTO 224 +#define F_AIMPORTO 225 +#define B_PRTAPE 226 +#define B_PRTCHIU 227 +#define B_SOLRITFIS 228 +#define B_SOLNONINV 229 #define S_RESULT 301 \ No newline at end of file diff --git a/src/ps/ps0713800a.msk b/src/ps/ps0713800a.msk index d3eff6a9f..9c36754d6 100644 --- a/src/ps/ps0713800a.msk +++ b/src/ps/ps0713800a.msk @@ -18,7 +18,7 @@ END ENDPAGE -PAGE "Trasferimento dati IVA per ATS" -1 -1 80 10 +PAGE "Filtri" -1 -1 80 10 STRING F_PATH 255 45 BEGIN @@ -65,116 +65,219 @@ BEGIN PROMPT 25 4 "A data Pag. " END -BOOLEAN B_FORNITORE +BOOLEAN B_DAFORNITORE BEGIN - PROMPT 0 5 "Fornitore" + PROMPT 0 5 "Da Fornitore" END -NUMBER F_CODCF 6 +NUMBER F_DACODCF 6 BEGIN - PROMPT 14 5 "Codice:" + PROMPT 15 5 "Codice:" USE LF_CLIFO INPUT TIPOCF "F" SELECT - INPUT CODCF F_CODCF + INPUT CODCF F_DACODCF DISPLAY "Codice" CODCF DISPLAY "Ragione Sociale@50" RAGSOC DISPLAY "Occasionale@C" OCCAS DISPLAY "Codice Fiscale@16" COFI DISPLAY "Partita IVA@15" PAIV - OUTPUT F_CODCF CODCF - OUTPUT F_RAGSOC RAGSOC + OUTPUT F_DACODCF CODCF + OUTPUT F_DARAGSOC RAGSOC CHEKTYPE NORMAL GROUP 1 FLAGS "D" END -STRING F_RAGSOC 50 30 +STRING F_DARAGSOC 50 30 BEGIN - PROMPT 30 5 "R.Soc: " + PROMPT 31 5 "R.Soc: " USE LF_CLIFO KEY 2 INPUT TIPOCF "F" SELECT - INPUT RAGSOC F_RAGSOC + INPUT RAGSOC F_DARAGSOC DISPLAY "Ragione Sociale@50" RAGSOC DISPLAY "Codice" CODCF DISPLAY "Codice Fiscale@16" COFI DISPLAY "Partita IVA@15" PAIV - COPY OUTPUT F_CODCF + COPY OUTPUT F_DACODCF ADD RUN CG0 -1 GROUP 1 FLAGS "D" END -BOOLEAN B_GCS +BOOLEAN B_AFORNITORE BEGIN - PROMPT 0 6 "" + PROMPT 0 6 "A Fornitore" END -NUMBER F_GRUPPO 3 +NUMBER F_ACODCF 6 BEGIN - PROMPT 3 6 "Gruppo: " + PROMPT 15 6 "Codice:" + USE LF_CLIFO + INPUT TIPOCF "F" SELECT + INPUT CODCF F_ACODCF + DISPLAY "Codice" CODCF + DISPLAY "Ragione Sociale@50" RAGSOC + DISPLAY "Occasionale@C" OCCAS + DISPLAY "Codice Fiscale@16" COFI + DISPLAY "Partita IVA@15" PAIV + OUTPUT F_ACODCF CODCF + OUTPUT F_ARAGSOC RAGSOC + CHEKTYPE NORMAL + GROUP 1 + FLAGS "D" +END + +STRING F_ARAGSOC 50 30 +BEGIN + PROMPT 31 6 "R.Soc: " + USE LF_CLIFO KEY 2 + INPUT TIPOCF "F" SELECT + INPUT RAGSOC F_ARAGSOC + DISPLAY "Ragione Sociale@50" RAGSOC + DISPLAY "Codice" CODCF + DISPLAY "Codice Fiscale@16" COFI + DISPLAY "Partita IVA@15" PAIV + COPY OUTPUT F_ACODCF + ADD RUN CG0 -1 + GROUP 1 + FLAGS "D" +END + +BOOLEAN B_DAGCS +BEGIN + PROMPT 0 7 "" +END + +NUMBER F_DAGRUPPO 3 +BEGIN + PROMPT 3 7 "Da Gruppo: " USE LF_PCON SELECT (CONTO="") - INPUT GRUPPO F_GRUPPO + INPUT GRUPPO F_DAGRUPPO DISPLAY "Gruppo" GRUPPO DISPLAY "Descrizione@50" DESCR - OUTPUT F_GRUPPO GRUPPO + OUTPUT F_DAGRUPPO GRUPPO CHECKTYPE REQUIRED WARNING "Gruppo assente" FLAGS "D" END -NUMBER F_CONTO 3 +NUMBER F_DACONTO 3 BEGIN - PROMPT 20 6 "Conto: " + PROMPT 20 7 "Conto: " USE LF_PCON SELECT (CONTO!="")&&(SOTTOCONTO="") - INPUT GRUPPO F_GRUPPO - INPUT CONTO F_CONTO + INPUT GRUPPO F_DAGRUPPO + INPUT CONTO F_DACONTO DISPLAY "Gruppo" GRUPPO DISPLAY "Conto" CONTO DISPLAY "Tipo" TMCF DISPLAY "Descrizione@50" DESCR - OUTPUT F_CONTO CONTO - OUTPUT F_GRUPPO GRUPPO + OUTPUT F_DACONTO CONTO + OUTPUT F_DAGRUPPO GRUPPO CHECKTYPE REQUIRED WARNING "Conto assente" FLAGS "D" END -NUMBER F_SOTTOCONTO 6 +NUMBER F_DASOTTOCONTO 6 BEGIN - PROMPT 40 6 "Sottoconto: " + PROMPT 40 7 "Sottoconto: " USE LF_PCON SELECT (SOTTOCONTO!="") - COPY INPUT F_CONTO - INPUT SOTTOCONTO F_SOTTOCONTO + COPY INPUT F_DACONTO + INPUT SOTTOCONTO F_DASOTTOCONTO 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 + OUTPUT F_DASOTTOCONTO SOTTOCONTO + OUTPUT F_DAGRUPPO GRUPPO + OUTPUT F_DACONTO CONTO CHECKTYPE REQUIRED WARNING "Sottoconto assente" FLAGS "D" END +BOOLEAN B_AGCS +BEGIN + PROMPT 0 8 "" +END + +NUMBER F_AGRUPPO 3 +BEGIN + PROMPT 3 8 "A Gruppo: " + USE LF_PCON SELECT (CONTO="") + INPUT GRUPPO F_AGRUPPO + DISPLAY "Gruppo" GRUPPO + DISPLAY "Descrizione@50" DESCR + OUTPUT F_AGRUPPO GRUPPO + CHECKTYPE REQUIRED + WARNING "Gruppo assente" + FLAGS "D" +END + +NUMBER F_ACONTO 3 +BEGIN + PROMPT 20 8 "Conto: " + USE LF_PCON SELECT (CONTO!="")&&(SOTTOCONTO="") + INPUT GRUPPO F_AGRUPPO + INPUT CONTO F_ACONTO + DISPLAY "Gruppo" GRUPPO + DISPLAY "Conto" CONTO + DISPLAY "Tipo" TMCF + DISPLAY "Descrizione@50" DESCR + OUTPUT F_ACONTO CONTO + OUTPUT F_AGRUPPO GRUPPO + CHECKTYPE REQUIRED + WARNING "Conto assente" + FLAGS "D" +END + +NUMBER F_ASOTTOCONTO 6 +BEGIN + PROMPT 40 8 "Sottoconto: " + USE LF_PCON SELECT (SOTTOCONTO!="") + COPY INPUT F_ACONTO + INPUT SOTTOCONTO F_ASOTTOCONTO + DISPLAY "Gruppo" GRUPPO + DISPLAY "Conto" CONTO + DISPLAY "Sottoconto" SOTTOCONTO + DISPLAY "Descrizione@50" DESCR + OUTPUT F_ASOTTOCONTO SOTTOCONTO + OUTPUT F_AGRUPPO GRUPPO + OUTPUT F_ACONTO CONTO + CHECKTYPE REQUIRED + WARNING "Sottoconto assente" + FLAGS "D" +END + +NUMBER F_DAIMPORTO 10 2 +BEGIN + PROMPT 0 9 "Da Importo:" +END + +NUMBER F_AIMPORTO 10 2 +BEGIN + PROMPT 25 9 "A Importo:" +END + + BOOLEAN B_PRTAPE BEGIN - PROMPT 0 7 "Partita aperta" + PROMPT 0 10 "Fatt. da Pagare" END BOOLEAN B_PRTCHIU BEGIN - PROMPT 20 7 "Partita chiusa" + PROMPT 20 10 "Fatt. Pagate" END BOOLEAN B_SOLRITFIS BEGIN - PROMPT 40 7 "Solo Ritenute Fiscali" + PROMPT 40 10 "Filtra Rit. Acconto" END BOOLEAN B_SOLNONINV BEGIN - PROMPT 70 7 "Solo doc. non inviati" + PROMPT 70 10 "Escludi Pag. Inviati" END @@ -186,9 +289,13 @@ BEGIN FLAGS "Z" END +ENDPAGE + +PAGE "Risultati" -1 -1 80 10 + SPREADSHEET S_RESULT BEGIN - PROMPT 0 8 "" + PROMPT 0 0 "" ITEM "Data\nRegistrazione@10" ITEM "ID Lavoro@10" ITEM "Cod.\nFornitore@8"