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
This commit is contained in:
mtollari 2017-06-13 15:45:44 +00:00
parent b66f707789
commit f6d7eb4639
3 changed files with 428 additions and 120 deletions

View File

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

View File

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

View File

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