Patch level : 12.0 no-patch
Files correlati : Commento : Aggiornamento personalizzazione ATS con aggiunta filtri come da richiesta, adesso le date della registrazione e della fattura sono separate inoltre è possibile filtrare solo le righe con ritenute fiscali git-svn-id: svn://10.65.10.50/branches/R_10_00@23725 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
511f18ed24
commit
37bef158ec
@ -23,8 +23,10 @@ class TEsportaIva_msk : public TAutomask
|
|||||||
bool test_partita(const long numreg, TDate& last_data_pag, const TDate& data) const;
|
bool test_partita(const long numreg, TDate& last_data_pag, const TDate& data) const;
|
||||||
void fill();
|
void fill();
|
||||||
public:
|
public:
|
||||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||||
bool testFields() const;
|
bool testFields() const;
|
||||||
|
TISAM_recordset createRecset() const;
|
||||||
|
TDate getDataTest() const;
|
||||||
TEsportaIva_msk();
|
TEsportaIva_msk();
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -32,12 +34,18 @@ public:
|
|||||||
bool TEsportaIva_msk::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
bool TEsportaIva_msk::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||||
{
|
{
|
||||||
switch (o.dlg())
|
switch (o.dlg())
|
||||||
{
|
{
|
||||||
|
case F_PATH:
|
||||||
|
if (e == fe_init)
|
||||||
|
o.set(ini_get_string(CONFIG_DITTA, "Esporta_Dati_IVA", "Path"));
|
||||||
|
break;
|
||||||
|
/*
|
||||||
case F_DADATA:
|
case F_DADATA:
|
||||||
if (e == fe_init)
|
if (e == fe_init)
|
||||||
o.set(ini_get_string(CONFIG_DITTA, "Esporta_Dati_IVA", "LastSend", "01-01-2017"));
|
o.set(ini_get_string(CONFIG_DITTA, "Esporta_Dati_IVA", "LastSend", "01-01-2017"));
|
||||||
break;
|
break;
|
||||||
case F_ADATA:
|
*/
|
||||||
|
//case F_ADATA:
|
||||||
case F_CODCF:
|
case F_CODCF:
|
||||||
if (e == fe_modify || e == fe_close)
|
if (e == fe_modify || e == fe_close)
|
||||||
createName();
|
createName();
|
||||||
@ -77,16 +85,16 @@ bool TEsportaIva_msk::on_field_event(TOperable_field& o, TField_event e, long jo
|
|||||||
void TEsportaIva_msk::createName()
|
void TEsportaIva_msk::createName()
|
||||||
{
|
{
|
||||||
//setto il campo F_NAME a un valore fisso, e cioè: "CODF_data.txt"
|
//setto il campo F_NAME a un valore fisso, e cioè: "CODF_data.txt"
|
||||||
TDate adata = get_date(F_ADATA);
|
TDate today(TODAY);
|
||||||
TString name;
|
TString name;
|
||||||
if(get(F_CODCF).full())
|
if(get(F_CODCF).full())
|
||||||
name << get(F_CODCF);
|
name << get(F_CODCF);
|
||||||
|
|
||||||
if(get(F_CODCF).full() && adata.ok()) // Solo se ci sono entrambi, sennò farebbe schifo
|
if(get(F_CODCF).full() && today.ok()) // Solo se ci sono entrambi, sennò farebbe schifo
|
||||||
name << "_";
|
name << "_";
|
||||||
|
|
||||||
if(adata.ok())
|
if(today.ok())
|
||||||
name << adata.date2ansi();
|
name << today.date2ansi();
|
||||||
if(name.full()) // Capita che venga chiamato per eliminare
|
if(name.full()) // Capita che venga chiamato per eliminare
|
||||||
name << ".txt";
|
name << ".txt";
|
||||||
set(F_NAME, name);
|
set(F_NAME, name);
|
||||||
@ -95,11 +103,6 @@ void TEsportaIva_msk::createName()
|
|||||||
bool TEsportaIva_msk::testFields() const
|
bool TEsportaIva_msk::testFields() const
|
||||||
{
|
{
|
||||||
// Controllo presenza campi
|
// Controllo presenza campi
|
||||||
if(!get_date(F_ADATA).ok() || !get_date(F_DADATA).ok())
|
|
||||||
{
|
|
||||||
warning_box("Controllare le date");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if(!get_bool(B_PRTAPE) && !get_bool(B_PRTCHIU))
|
if(!get_bool(B_PRTAPE) && !get_bool(B_PRTCHIU))
|
||||||
{
|
{
|
||||||
warning_box("Selezionare almeno un tipo di partita!");
|
warning_box("Selezionare almeno un tipo di partita!");
|
||||||
@ -113,6 +116,85 @@ bool TEsportaIva_msk::testFields() const
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TISAM_recordset TEsportaIva_msk::createRecset() const
|
||||||
|
{
|
||||||
|
// Eseguo un controllo sulle date
|
||||||
|
TDate daDReg = get_date(F_DADATAREG), aDReg = get_date(F_ADATAREG);
|
||||||
|
if(!aDReg.ok())
|
||||||
|
{
|
||||||
|
aDReg = TDate(TODAY);
|
||||||
|
}
|
||||||
|
if(!daDReg.ok())
|
||||||
|
{
|
||||||
|
daDReg = TDate(01,01,1990);
|
||||||
|
}
|
||||||
|
TDate daDFatt = get_date(F_DADATAFATT), aDFatt = get_date(F_ADATAFATT);
|
||||||
|
if(!aDFatt.ok())
|
||||||
|
{
|
||||||
|
aDFatt = TDate(TODAY);
|
||||||
|
}
|
||||||
|
if(!daDFatt.ok())
|
||||||
|
{
|
||||||
|
daDFatt = TDate(01,01,1990);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Preparo query su righe iva joinati ai mov
|
||||||
|
TString query("USE RMOVIVA SELECT ");
|
||||||
|
if(daDReg.ok() && aDReg.ok()) // Se almeno una delle due è stata impostata con i controlli di sopra dovrebbero essere tutte e due OK
|
||||||
|
{
|
||||||
|
query << "BETWEEN(23.DATAREG,#DADATAREG,#ADATAREG)&&";
|
||||||
|
}
|
||||||
|
if(daDFatt.ok() && aDFatt.ok())
|
||||||
|
{
|
||||||
|
query << "BETWEEN(23.DATADOC,#DADATAFATT,#ADATAFATT)&&";
|
||||||
|
}
|
||||||
|
|
||||||
|
query << "(23.INVIVA!=\"X\")&&(23.TIPO=\"F\")";
|
||||||
|
|
||||||
|
if(get_bool(B_FORNITORE))
|
||||||
|
{
|
||||||
|
query << "&&(23.CODCF=#CODCF)";
|
||||||
|
}
|
||||||
|
|
||||||
|
query << "\n";
|
||||||
|
|
||||||
|
query << "JOIN MOV INTO NUMREG==NUMREG\n"
|
||||||
|
<< "JOIN %IVA ALIAS 101 INTO CODTAB==CODIVA\n"
|
||||||
|
<< "JOIN CLIFO TO MOV INTO TIPOCF==TIPO CODCF==CODCF";
|
||||||
|
|
||||||
|
// Instanzio il recordset
|
||||||
|
TISAM_recordset recset(query);
|
||||||
|
if(daDReg.ok() && aDReg.ok())
|
||||||
|
{
|
||||||
|
recset.set_var("#DADATAREG", daDReg);
|
||||||
|
recset.set_var("#ADATAREG", aDReg);
|
||||||
|
}
|
||||||
|
if(daDFatt.ok() && aDFatt.ok())
|
||||||
|
{
|
||||||
|
recset.set_var("#DADATAFATT", daDFatt);
|
||||||
|
recset.set_var("#ADATAFATT", aDFatt);
|
||||||
|
}
|
||||||
|
if(get_bool(B_FORNITORE))
|
||||||
|
{
|
||||||
|
recset.set_var("#CODCF", get(F_CODCF));
|
||||||
|
}
|
||||||
|
|
||||||
|
return recset;
|
||||||
|
}
|
||||||
|
|
||||||
|
TDate TEsportaIva_msk::getDataTest() const
|
||||||
|
{
|
||||||
|
if(get_date(F_ADATAREG).ok())
|
||||||
|
{
|
||||||
|
return get_date(F_ADATAREG);
|
||||||
|
}
|
||||||
|
else if(get_date(F_ADATAFATT).ok())
|
||||||
|
{
|
||||||
|
return get_date(F_ADATAFATT);
|
||||||
|
}
|
||||||
|
return TDate(TODAY);
|
||||||
|
}
|
||||||
|
|
||||||
//TEST_PARTITA: metodo che cerca l'ultima data pagamento delle partite relative ad un numreg (la maggiore)
|
//TEST_PARTITA: metodo che cerca l'ultima data pagamento delle partite relative ad un numreg (la maggiore)
|
||||||
//il metodo restiruisce true se esiste almeno una partita per il numreg indicato
|
//il metodo restiruisce true se esiste almeno una partita per il numreg indicato
|
||||||
bool TEsportaIva_msk::test_partita(const long numreg, TDate& last_data_pag, const TDate& data) const
|
bool TEsportaIva_msk::test_partita(const long numreg, TDate& last_data_pag, const TDate& data) const
|
||||||
@ -151,34 +233,11 @@ void TEsportaIva_msk::fill()
|
|||||||
if(!testFields())
|
if(!testFields())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Preparo le date di interesse
|
|
||||||
bool datadoc = get_int(F_DATASEL) == 1;
|
|
||||||
|
|
||||||
// Preparo query su righe iva joinati ai mov
|
|
||||||
TString query("USE RMOVIVA SELECT ");
|
|
||||||
if(datadoc)
|
|
||||||
{
|
|
||||||
query << "BETWEEN(23.DATAREG,#DADATA,#ADATA)&&";
|
|
||||||
}
|
|
||||||
|
|
||||||
query << "(23.INVIVA!=\"X\")&&(23.TIPO=\"F\")";
|
|
||||||
query << "\n";
|
|
||||||
|
|
||||||
bool with_cms = get_int(F_JOB) == 1;
|
bool with_cms = get_int(F_JOB) == 1;
|
||||||
|
// Controllo che data mettere per partita chiusa
|
||||||
|
TDate dataTest = getDataTest();
|
||||||
|
|
||||||
query << "JOIN MOV INTO NUMREG==NUMREG\n"
|
TISAM_recordset rmoviva = createRecset();
|
||||||
<< "JOIN %IVA ALIAS 101 INTO CODTAB==CODIVA\n"
|
|
||||||
<< "JOIN CLIFO TO MOV INTO TIPOCF==TIPO CODCF==CODCF";
|
|
||||||
|
|
||||||
//instanzio il recordset
|
|
||||||
TISAM_recordset rmoviva(query);
|
|
||||||
if(datadoc)
|
|
||||||
{
|
|
||||||
rmoviva.set_var("#DADATA", get_date(F_DADATA));
|
|
||||||
rmoviva.set_var("#ADATA", get_date(F_ADATA));
|
|
||||||
}
|
|
||||||
if(get_bool(B_FORNITORE))
|
|
||||||
rmoviva.set_var("#CODCF", get(F_CODCF));
|
|
||||||
|
|
||||||
TSheet_field& sheet = sfield(S_RESULT);
|
TSheet_field& sheet = sfield(S_RESULT);
|
||||||
TString_array& strarr = sheet.rows_array();
|
TString_array& strarr = sheet.rows_array();
|
||||||
@ -194,6 +253,8 @@ void TEsportaIva_msk::fill()
|
|||||||
if (!pi.add_status())
|
if (!pi.add_status())
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
if(get_bool(B_SOLRITFIS) && rmoviva.get("23.RITFIS").as_real() <= ZERO) continue;
|
||||||
|
|
||||||
TCursor* i = rmoviva.cursor();
|
TCursor* i = rmoviva.cursor();
|
||||||
int k = i->pos();
|
int k = i->pos();
|
||||||
|
|
||||||
@ -201,9 +262,9 @@ void TEsportaIva_msk::fill()
|
|||||||
const long numreg = rmoviva.get(RMI_NUMREG).as_int();
|
const long numreg = rmoviva.get(RMI_NUMREG).as_int();
|
||||||
|
|
||||||
// Da fare sempre o last_data_pag non viene valorizzato
|
// Da fare sempre o last_data_pag non viene valorizzato
|
||||||
bool partita_chiusa = test_partita(numreg, last_data_pag, datadoc ? get_date(F_ADATA) : TDate(TODAY));
|
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;
|
//if(!datadoc && (last_data_pag < get_date(F_DADATA) || get_date(F_ADATA) < last_data_pag || !last_data_pag.ok())) continue;
|
||||||
|
|
||||||
if (all || (get_bool(B_PRTAPE) && !partita_chiusa) || (get_bool(B_PRTCHIU) && partita_chiusa))
|
if (all || (get_bool(B_PRTAPE) && !partita_chiusa) || (get_bool(B_PRTCHIU) && partita_chiusa))
|
||||||
{
|
{
|
||||||
@ -229,6 +290,7 @@ void TEsportaIva_msk::fill()
|
|||||||
TImporto importo(sez, rmovana.get_real("IMPORTO"));
|
TImporto importo(sez, rmovana.get_real("IMPORTO"));
|
||||||
importo.normalize('D');
|
importo.normalize('D');
|
||||||
row.add(importo.valore());
|
row.add(importo.valore());
|
||||||
|
row.add(rmoviva.get("23.RITFIS").as_real());
|
||||||
row.add(rmoviva.get("23.DATADOC").as_string());
|
row.add(rmoviva.get("23.DATADOC").as_string());
|
||||||
row.add(rmoviva.get("23.NUMDOC").as_string());
|
row.add(rmoviva.get("23.NUMDOC").as_string());
|
||||||
row.add(last_data_pag);
|
row.add(last_data_pag);
|
||||||
@ -258,7 +320,8 @@ void TEsportaIva_msk::fill()
|
|||||||
row.add(codcms, 0);
|
row.add(codcms, 0);
|
||||||
row.add(rmoviva.get("23.CODCF").as_string());
|
row.add(rmoviva.get("23.CODCF").as_string());
|
||||||
row.add(rmoviva.get("20.RAGSOC").as_string());
|
row.add(rmoviva.get("20.RAGSOC").as_string());
|
||||||
row.add(rmoviva.get(RMI_IMPONIBILE).as_real());
|
row.add(rmoviva.get(RMI_IMPONIBILE).as_real());
|
||||||
|
row.add(rmoviva.get("23.RITFIS").as_real());
|
||||||
row.add(rmoviva.get("23.DATADOC").as_string());
|
row.add(rmoviva.get("23.DATADOC").as_string());
|
||||||
row.add(rmoviva.get("23.NUMDOC").as_string());
|
row.add(rmoviva.get("23.NUMDOC").as_string());
|
||||||
row.add(last_data_pag);
|
row.add(last_data_pag);
|
||||||
@ -276,7 +339,8 @@ void TEsportaIva_msk::fill()
|
|||||||
row.add("", 0);
|
row.add("", 0);
|
||||||
row.add(rmoviva.get("23.CODCF").as_string());
|
row.add(rmoviva.get("23.CODCF").as_string());
|
||||||
row.add(rmoviva.get("20.RAGSOC").as_string());
|
row.add(rmoviva.get("20.RAGSOC").as_string());
|
||||||
row.add(rmoviva.get(RMI_IMPONIBILE).as_real());
|
row.add(rmoviva.get(RMI_IMPONIBILE).as_real());
|
||||||
|
row.add(rmoviva.get("23.RITFIS").as_real());
|
||||||
row.add(rmoviva.get("23.DATADOC").as_string());
|
row.add(rmoviva.get("23.DATADOC").as_string());
|
||||||
row.add(rmoviva.get("23.NUMDOC").as_string());
|
row.add(rmoviva.get("23.NUMDOC").as_string());
|
||||||
row.add(last_data_pag);
|
row.add(last_data_pag);
|
||||||
@ -370,66 +434,41 @@ void TEsportaIva_app::esporta_righe_iva(const TEsportaIva_msk& m) const
|
|||||||
if(!m.testFields())
|
if(!m.testFields())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
//instanzio il TFilename e controllo la sua esistenza
|
// Instanzio il TFilename e controllo la sua esistenza
|
||||||
TFilename path = m.get(F_PATH);
|
TFilename path = m.get(F_PATH);
|
||||||
path.add(m.get(F_NAME));
|
path.add(m.get(F_NAME));
|
||||||
if (path.exist())
|
if (path.exist())
|
||||||
{
|
{
|
||||||
TString str;
|
TString str;
|
||||||
str << "ATTENZIONE! " << "Il file " << m.get(F_NAME) << "è già esistente.\n"
|
str << "ATTENZIONE! " << "Il file " << m.get(F_NAME) << "è già esistente.\n"
|
||||||
<< "Se si procede sara' azzerato il file esistente!\nContinuare?";
|
<< "Se si procede sara' azzerato il file esistente!\nContinuare?";
|
||||||
if (!yesno_box(str))
|
if (!yesno_box(str))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//preparo le date di interesse
|
|
||||||
bool datadoc = m.get_int(F_DATASEL) == 1;
|
|
||||||
|
|
||||||
// Preparo query su righe iva joinati ai mov
|
|
||||||
TString query("USE RMOVIVA SELECT ");
|
|
||||||
if(datadoc)
|
|
||||||
{
|
|
||||||
query << "BETWEEN(23.DATAREG,#DADATA,#ADATA)&&";
|
|
||||||
}
|
|
||||||
|
|
||||||
query << "(23.INVIVA!=\"X\")&&(23.TIPO=\"F\")";
|
|
||||||
|
|
||||||
if(m.get_bool(B_FORNITORE))
|
|
||||||
{
|
|
||||||
query << "&&(23.CODCF=#CODCF)";
|
|
||||||
}
|
|
||||||
query << "\n";
|
|
||||||
|
|
||||||
bool with_cms = m.get_int(F_JOB) == 1;
|
bool with_cms = m.get_int(F_JOB) == 1;
|
||||||
|
// Controllo che data mettere per partita chiusa
|
||||||
query << "JOIN MOV INTO NUMREG==NUMREG\n"
|
TDate dataTest = m.getDataTest();
|
||||||
<< "JOIN %IVA ALIAS 101 INTO CODTAB==CODIVA\n"
|
TISAM_recordset rmoviva = m.createRecset();
|
||||||
<< "JOIN CLIFO TO MOV INTO TIPOCF==TIPO CODCF==CODCF";
|
|
||||||
|
|
||||||
//instanzio il recordset
|
|
||||||
TISAM_recordset rmoviva(query);
|
|
||||||
if(datadoc)
|
|
||||||
{
|
|
||||||
rmoviva.set_var("#DADATA", m.get_date(F_DADATA));
|
|
||||||
rmoviva.set_var("#ADATA", m.get_date(F_ADATA));
|
|
||||||
}
|
|
||||||
|
|
||||||
//instanzio il csv recordset
|
//instanzio il csv recordset
|
||||||
TEsportaIva_rec csv;
|
TEsportaIva_rec csv;
|
||||||
bool all = m.get_bool(B_PRTAPE) && m.get_bool(B_PRTCHIU);
|
bool all = m.get_bool(B_PRTAPE) && m.get_bool(B_PRTCHIU);
|
||||||
TProgress_monitor pi(rmoviva.items(), TR("Estrazione dati..."));
|
TProgress_monitor pi(rmoviva.items(), TR("Estrazione dati..."));
|
||||||
for (bool ok = rmoviva.move_first(); ok && !pi.is_cancelled(); ok = rmoviva.move_next())
|
for (bool ok = rmoviva.move_first(); ok && !pi.is_cancelled(); ok = rmoviva.move_next())
|
||||||
{
|
{
|
||||||
if (!pi.add_status())
|
if (!pi.add_status())
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
if(m.get_bool(B_SOLRITFIS) && rmoviva.get("23.RITFIS").as_real() <= ZERO) continue;
|
||||||
|
|
||||||
TDate last_data_pag;
|
TDate last_data_pag;
|
||||||
const long numreg = rmoviva.get(RMI_NUMREG).as_int();
|
const long numreg = rmoviva.get(RMI_NUMREG).as_int();
|
||||||
|
|
||||||
// Da fare sempre o last_data_pag non viene valorizzato
|
// Da fare sempre o last_data_pag non viene valorizzato
|
||||||
bool partita_chiusa = test_partita(numreg, last_data_pag, datadoc ? m.get_date(F_ADATA) : TDate(TODAY));
|
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;
|
//if(!datadoc && last_data_pag < m.get_date(F_DADATA) && m.get_date(F_ADATA) < last_data_pag) continue;
|
||||||
|
|
||||||
if (all || (m.get_bool(B_PRTAPE) && !partita_chiusa) || (m.get_bool(B_PRTCHIU) && partita_chiusa))
|
if (all || (m.get_bool(B_PRTAPE) && !partita_chiusa) || (m.get_bool(B_PRTCHIU) && partita_chiusa))
|
||||||
{
|
{
|
||||||
@ -454,7 +493,8 @@ void TEsportaIva_app::esporta_righe_iva(const TEsportaIva_msk& m) const
|
|||||||
char sez = rmovana.get_char("SEZIONE");
|
char sez = rmovana.get_char("SEZIONE");
|
||||||
TImporto importo(sez, rmovana.get_real("IMPORTO"));
|
TImporto importo(sez, rmovana.get_real("IMPORTO"));
|
||||||
importo.normalize('D');
|
importo.normalize('D');
|
||||||
csv.set(3, importo.valore());
|
csv.set(3, importo.valore());
|
||||||
|
csv.set(4, rmoviva.get("23.RITFIS").as_real());
|
||||||
csv.set(6, rmoviva.get("23.DATADOC"));
|
csv.set(6, rmoviva.get("23.DATADOC"));
|
||||||
csv.set(7, rmoviva.get("23.NUMDOC"));
|
csv.set(7, rmoviva.get("23.NUMDOC"));
|
||||||
csv.set(8, last_data_pag);
|
csv.set(8, last_data_pag);
|
||||||
@ -484,6 +524,7 @@ void TEsportaIva_app::esporta_righe_iva(const TEsportaIva_msk& m) const
|
|||||||
csv.set(1, rmoviva.get("23.CODCF"));
|
csv.set(1, rmoviva.get("23.CODCF"));
|
||||||
csv.set(2, rmoviva.get("20.RAGSOC"));
|
csv.set(2, rmoviva.get("20.RAGSOC"));
|
||||||
csv.set(3, rmoviva.get(RMI_IMPONIBILE).as_real());
|
csv.set(3, rmoviva.get(RMI_IMPONIBILE).as_real());
|
||||||
|
csv.set(4, rmoviva.get("23.RITFIS").as_real());
|
||||||
csv.set(6, rmoviva.get("23.DATADOC"));
|
csv.set(6, rmoviva.get("23.DATADOC"));
|
||||||
csv.set(7, rmoviva.get("23.NUMDOC"));
|
csv.set(7, rmoviva.get("23.NUMDOC"));
|
||||||
csv.set(8, last_data_pag);
|
csv.set(8, last_data_pag);
|
||||||
@ -500,7 +541,8 @@ void TEsportaIva_app::esporta_righe_iva(const TEsportaIva_msk& m) const
|
|||||||
csv.set(0, "");
|
csv.set(0, "");
|
||||||
csv.set(1, rmoviva.get("23.CODCF"));
|
csv.set(1, rmoviva.get("23.CODCF"));
|
||||||
csv.set(2, rmoviva.get("20.RAGSOC"));
|
csv.set(2, rmoviva.get("20.RAGSOC"));
|
||||||
csv.set(3, rmoviva.get(RMI_IMPONIBILE).as_real());
|
csv.set(3, rmoviva.get(RMI_IMPONIBILE).as_real());
|
||||||
|
csv.set(4, rmoviva.get("23.RITFIS").as_real());
|
||||||
csv.set(6, rmoviva.get("23.DATADOC"));
|
csv.set(6, rmoviva.get("23.DATADOC"));
|
||||||
csv.set(7, rmoviva.get("23.NUMDOC"));
|
csv.set(7, rmoviva.get("23.NUMDOC"));
|
||||||
csv.set(8, last_data_pag);
|
csv.set(8, last_data_pag);
|
||||||
@ -517,12 +559,13 @@ void TEsportaIva_app::esporta_righe_iva(const TEsportaIva_msk& m) const
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
TString msg;
|
TString msg;
|
||||||
msg << TR("Si conferma l'esportazione definitiva dei movimenti IVA fino al ") << m.get(F_ADATA);
|
msg << TR("Si conferma l'esportazione definitiva dei movimenti IVA fino al ") << dataTest;
|
||||||
if (m.get_bool(B_PRTCHIU) && yesno_box(msg))
|
if (m.get_bool(B_PRTCHIU) && yesno_box(msg))
|
||||||
set_inviva(rmoviva, datadoc ? m.get_date(F_ADATA) : TDate(TODAY)); //mette il flag di "INVIVA" alla testata movimento
|
set_inviva(rmoviva, dataTest); //mette il flag di "INVIVA" alla testata movimento
|
||||||
|
|
||||||
// Salvo su file le impostazioni
|
// Salvo su file le impostazioni
|
||||||
ini_set_string(CONFIG_DITTA, "Esporta_Dati_IVA", "LastSend", m.get_date(F_DADATA));
|
//ini_set_string(CONFIG_DITTA, "Esporta_Dati_IVA", "LastSend", m.get_date(F_DADATA));
|
||||||
|
ini_set_string(CONFIG_DITTA, "Esporta_Dati_IVA", "Path", m.get(F_PATH));
|
||||||
}
|
}
|
||||||
|
|
||||||
//SET_INVIA: metodo che mette il flag di "INVIVA" alla testata movimento
|
//SET_INVIA: metodo che mette il flag di "INVIVA" alla testata movimento
|
||||||
|
@ -1,25 +1,28 @@
|
|||||||
//campi maschera ps0713800a
|
//campi maschera ps0713800a
|
||||||
#define A_IDLAVORO 101
|
#define A_IDLAVORO 101
|
||||||
#define A_CODF 102
|
#define A_CODF 102
|
||||||
#define A_RAGSOC 103
|
#define A_RAGSOC 103
|
||||||
#define A_IMPORTO 104
|
#define A_IMPORTO 104
|
||||||
#define A_DATADOC 105
|
#define A_RITFIS 105
|
||||||
#define A_NUMDOC 106
|
#define A_DATADOC 106
|
||||||
#define A_DATAPAG 107
|
#define A_NUMDOC 107
|
||||||
#define A_GRUPPO 108
|
#define A_DATAPAG 108
|
||||||
#define A_CONTO 109
|
#define A_GRUPPO 109
|
||||||
#define A_SOTTOCONTO 110
|
#define A_CONTO 110
|
||||||
|
#define A_SOTTOCONTO 111
|
||||||
|
|
||||||
#define F_PATH 201
|
#define F_PATH 201
|
||||||
#define F_NAME 202
|
#define F_NAME 202
|
||||||
#define F_DADATA 203
|
#define F_DADATAREG 203
|
||||||
#define F_ADATA 204
|
#define F_ADATAREG 204
|
||||||
#define F_JOB 205
|
#define F_DADATAFATT 205
|
||||||
#define F_DATASEL 206
|
#define F_ADATAFATT 206
|
||||||
#define B_FORNITORE 207
|
#define F_JOB 207
|
||||||
#define F_CODCF 208
|
#define B_FORNITORE 208
|
||||||
#define F_RAGSOC 209
|
#define F_CODCF 209
|
||||||
#define B_PRTAPE 210
|
#define F_RAGSOC 210
|
||||||
#define B_PRTCHIU 211
|
#define B_PRTAPE 211
|
||||||
|
#define B_PRTCHIU 212
|
||||||
|
#define B_SOLRITFIS 213
|
||||||
|
|
||||||
#define S_RESULT 301
|
#define S_RESULT 301
|
@ -44,28 +44,38 @@ BEGIN
|
|||||||
FIELD NAME
|
FIELD NAME
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE F_DADATA
|
DATE F_DADATAREG
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 0 2 "Da data "
|
PROMPT 0 2 "Da data Reg. "
|
||||||
CHECKTYPE REQUIRED
|
|
||||||
FIELD ADATA
|
FIELD ADATA
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE F_ADATA
|
DATE F_ADATAREG
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 20 2 "A data "
|
PROMPT 25 2 "A data Reg. "
|
||||||
CHECKTYPE REQUIRED
|
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
|
FIELD ADATA
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN B_FORNITORE
|
BOOLEAN B_FORNITORE
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 0 3 "Fornitore"
|
PROMPT 0 4 "Fornitore"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_CODCF 6
|
NUMBER F_CODCF 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 14 3 "Codice:"
|
PROMPT 14 4 "Codice:"
|
||||||
USE LF_CLIFO
|
USE LF_CLIFO
|
||||||
INPUT TIPOCF "F" SELECT
|
INPUT TIPOCF "F" SELECT
|
||||||
INPUT CODCF F_CODCF
|
INPUT CODCF F_CODCF
|
||||||
@ -83,7 +93,7 @@ END
|
|||||||
|
|
||||||
STRING F_RAGSOC 50 30
|
STRING F_RAGSOC 50 30
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 30 3 "R.Soc: "
|
PROMPT 30 4 "R.Soc: "
|
||||||
USE LF_CLIFO KEY 2
|
USE LF_CLIFO KEY 2
|
||||||
INPUT TIPOCF "F" SELECT
|
INPUT TIPOCF "F" SELECT
|
||||||
INPUT RAGSOC F_RAGSOC
|
INPUT RAGSOC F_RAGSOC
|
||||||
@ -99,25 +109,22 @@ END
|
|||||||
|
|
||||||
BOOLEAN B_PRTAPE
|
BOOLEAN B_PRTAPE
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 0 4 "Partita aperta"
|
PROMPT 0 5 "Partita aperta"
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN B_PRTCHIU
|
BOOLEAN B_PRTCHIU
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 20 4 "Partita chiusa"
|
PROMPT 20 5 "Partita chiusa"
|
||||||
END
|
END
|
||||||
|
|
||||||
RADIOBUTTON F_DATASEL 15
|
BOOLEAN B_SOLRITFIS
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 70 2 "Data doc/pag"
|
PROMPT 40 5 "Solo Ritenute Fiscali"
|
||||||
ITEM "1|Doc."
|
|
||||||
ITEM "2|Pag"
|
|
||||||
FLAGS "Z"
|
|
||||||
END
|
END
|
||||||
|
|
||||||
RADIOBUTTON F_JOB 12
|
RADIOBUTTON F_JOB 15
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 90 2 "ID lavoro"
|
PROMPT 70 2 "ID lavoro"
|
||||||
ITEM "1|SI"
|
ITEM "1|SI"
|
||||||
ITEM "2|NO"
|
ITEM "2|NO"
|
||||||
FLAGS "Z"
|
FLAGS "Z"
|
||||||
@ -125,11 +132,12 @@ END
|
|||||||
|
|
||||||
SPREADSHEET S_RESULT
|
SPREADSHEET S_RESULT
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 0 5 ""
|
PROMPT 0 6 ""
|
||||||
ITEM "ID Lavoro@10"
|
ITEM "ID Lavoro@10"
|
||||||
ITEM "Cod.\nFornitore@8"
|
ITEM "Cod.\nFornitore@8"
|
||||||
ITEM "Rag. Soc.@30"
|
ITEM "Rag. Soc.@30"
|
||||||
ITEM "Importo@10"
|
ITEM "Importo@10"
|
||||||
|
ITEM "Rit.Fis@10"
|
||||||
ITEM "Data\ndocumento@10"
|
ITEM "Data\ndocumento@10"
|
||||||
ITEM "Numero\ndocumento@10"
|
ITEM "Numero\ndocumento@10"
|
||||||
ITEM "Data pagamento@10"
|
ITEM "Data pagamento@10"
|
||||||
@ -172,6 +180,13 @@ BEGIN
|
|||||||
FIELD PROGR
|
FIELD PROGR
|
||||||
END
|
END
|
||||||
|
|
||||||
|
NUMBER A_RITFIS 18 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 0 "Ritenute Fiscali"
|
||||||
|
FLAGS "D"
|
||||||
|
FIELD PROGR
|
||||||
|
END
|
||||||
|
|
||||||
DATE A_DATADOC
|
DATE A_DATADOC
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 0 "Data Documento"
|
PROMPT 1 0 "Data Documento"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user