Patch level : 12.0 no-patch
Files correlati : Commento : Corretto errori, aggiunto filtro sulla data del pagamento git-svn-id: svn://10.65.10.50/branches/R_10_00@23699 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
1041fb7d3c
commit
d9a5db0f56
@ -78,7 +78,7 @@ void TEsportaIva_msk::createName()
|
||||
{
|
||||
//setto il campo F_NAME a un valore fisso, e cioè: "CODF_data.txt"
|
||||
TDate adata = get_date(F_ADATA);
|
||||
TString16 name;
|
||||
TString name;
|
||||
if(get(F_CODCF).full())
|
||||
name << get(F_CODCF);
|
||||
|
||||
@ -152,15 +152,16 @@ void TEsportaIva_msk::fill()
|
||||
return;
|
||||
|
||||
// Preparo le date di interesse
|
||||
const TDate adata(get_date(F_ADATA));
|
||||
const TDate dadata(get_date(F_DADATA));
|
||||
bool datadoc = get_int(F_DATASEL) == 1;
|
||||
|
||||
// Preparo query su righe iva joinati ai mov
|
||||
TString query("USE RMOVIVA SELECT BETWEEN(23.DATAREG,#DADATA,#ADATA)&&(23.INVIVA!=\"X\")&&(23.TIPO=\"F\")");
|
||||
if(get_bool(B_FORNITORE))
|
||||
TString query("USE RMOVIVA SELECT ");
|
||||
if(datadoc)
|
||||
{
|
||||
query << "&&(23.CODCF=#CODCF)";
|
||||
query << "BETWEEN(23.DATAREG,#DADATA,#ADATA)&&";
|
||||
}
|
||||
|
||||
query << "(23.INVIVA!=\"X\")&&(23.TIPO=\"F\")";
|
||||
query << "\n";
|
||||
|
||||
bool with_cms = get_int(F_JOB) == 1;
|
||||
@ -171,8 +172,11 @@ void TEsportaIva_msk::fill()
|
||||
|
||||
//instanzio il recordset
|
||||
TISAM_recordset rmoviva(query);
|
||||
rmoviva.set_var("#DADATA", dadata);
|
||||
rmoviva.set_var("#ADATA", adata);
|
||||
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));
|
||||
|
||||
@ -195,11 +199,11 @@ void TEsportaIva_msk::fill()
|
||||
|
||||
TDate last_data_pag;
|
||||
const long numreg = rmoviva.get(RMI_NUMREG).as_int();
|
||||
TToken_string* row = new TToken_string;
|
||||
|
||||
bool partita_chiusa;
|
||||
if(!all)
|
||||
partita_chiusa = test_partita(numreg, last_data_pag, adata);
|
||||
// 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));
|
||||
|
||||
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))
|
||||
{
|
||||
@ -214,23 +218,23 @@ void TEsportaIva_msk::fill()
|
||||
{
|
||||
for(int i = 1; i <= rows; i++)
|
||||
{
|
||||
row->cut(0);
|
||||
TToken_string row;
|
||||
const TRectype& rmovana = movana.body()[i];
|
||||
const TString80 codcms = rmovana.get("CODCMS");
|
||||
|
||||
row->add(codcms, 0);
|
||||
row->add(rmoviva.get("23.CODCF").as_string());
|
||||
row->add(rmoviva.get("20.RAGSOC").as_string());
|
||||
row.add(codcms, 0);
|
||||
row.add(rmoviva.get("23.CODCF").as_string());
|
||||
row.add(rmoviva.get("20.RAGSOC").as_string());
|
||||
char sez = rmovana.get_char("SEZIONE");
|
||||
TImporto importo(sez, rmovana.get_real("IMPORTO"));
|
||||
importo.normalize('D');
|
||||
row->add(importo.valore());
|
||||
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(importo.valore());
|
||||
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());
|
||||
strarr.add(row);
|
||||
}
|
||||
while (rmoviva.move_next())
|
||||
@ -250,17 +254,17 @@ void TEsportaIva_msk::fill()
|
||||
|
||||
if (codcms.full())
|
||||
{
|
||||
row->cut(0);
|
||||
row->add(codcms, 0);
|
||||
row->add(rmoviva.get("23.CODCF").as_string());
|
||||
row->add(rmoviva.get("20.RAGSOC").as_string());
|
||||
row->add(rmoviva.get(RMI_IMPONIBILE).as_real());
|
||||
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());
|
||||
TToken_string row;
|
||||
row.add(codcms, 0);
|
||||
row.add(rmoviva.get("23.CODCF").as_string());
|
||||
row.add(rmoviva.get("20.RAGSOC").as_string());
|
||||
row.add(rmoviva.get(RMI_IMPONIBILE).as_real());
|
||||
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());
|
||||
strarr.add(row);
|
||||
}
|
||||
}
|
||||
@ -268,17 +272,17 @@ void TEsportaIva_msk::fill()
|
||||
else
|
||||
if (rmoviva.get("CODCMS").as_string().blank())
|
||||
{
|
||||
row->cut(0);
|
||||
row->add("", 0);
|
||||
row->add(rmoviva.get("23.CODCF").as_string());
|
||||
row->add(rmoviva.get("20.RAGSOC").as_string());
|
||||
row->add(rmoviva.get(RMI_IMPONIBILE).as_real());
|
||||
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());
|
||||
TToken_string row;
|
||||
row.add("", 0);
|
||||
row.add(rmoviva.get("23.CODCF").as_string());
|
||||
row.add(rmoviva.get("20.RAGSOC").as_string());
|
||||
row.add(rmoviva.get(RMI_IMPONIBILE).as_real());
|
||||
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());
|
||||
strarr.add(row);
|
||||
}
|
||||
}
|
||||
@ -379,11 +383,17 @@ void TEsportaIva_app::esporta_righe_iva(const TEsportaIva_msk& m) const
|
||||
}
|
||||
|
||||
//preparo le date di interesse
|
||||
const TDate adata(m.get_date(F_ADATA));
|
||||
const TDate dadata(1, 1, adata.year() - 4);
|
||||
bool datadoc = m.get_int(F_DATASEL) == 1;
|
||||
|
||||
// Preparo query su righe iva joinati ai mov
|
||||
TString query("USE RMOVIVA SELECT BETWEEN(23.DATAREG,#DADATA,#ADATA)&&(23.INVIVA!=\"X\")&&(23.TIPO=\"F\")");
|
||||
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)";
|
||||
@ -391,10 +401,6 @@ void TEsportaIva_app::esporta_righe_iva(const TEsportaIva_msk& m) const
|
||||
query << "\n";
|
||||
|
||||
bool with_cms = m.get_int(F_JOB) == 1;
|
||||
/* if (m.get_int(F_JOB) == 1)
|
||||
query << "&&(CODCMS!=\"\")\n";
|
||||
else
|
||||
query << "&&(CODCMS=\"\")\n"; */
|
||||
|
||||
query << "JOIN MOV INTO NUMREG==NUMREG\n"
|
||||
<< "JOIN %IVA ALIAS 101 INTO CODTAB==CODIVA\n"
|
||||
@ -402,8 +408,11 @@ void TEsportaIva_app::esporta_righe_iva(const TEsportaIva_msk& m) const
|
||||
|
||||
//instanzio il recordset
|
||||
TISAM_recordset rmoviva(query);
|
||||
rmoviva.set_var("#DADATA", dadata);
|
||||
rmoviva.set_var("#ADATA", adata);
|
||||
if(datadoc)
|
||||
{
|
||||
rmoviva.set_var("#DADATA", m.get_date(F_DADATA));
|
||||
rmoviva.set_var("#ADATA", m.get_date(F_ADATA));
|
||||
}
|
||||
|
||||
//instanzio il csv recordset
|
||||
TEsportaIva_rec csv;
|
||||
@ -416,9 +425,11 @@ void TEsportaIva_app::esporta_righe_iva(const TEsportaIva_msk& m) const
|
||||
|
||||
TDate last_data_pag;
|
||||
const long numreg = rmoviva.get(RMI_NUMREG).as_int();
|
||||
bool partita_chiusa;
|
||||
if(!all)
|
||||
partita_chiusa = test_partita(numreg, last_data_pag, adata);
|
||||
|
||||
// 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));
|
||||
|
||||
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))
|
||||
{
|
||||
@ -508,7 +519,7 @@ void TEsportaIva_app::esporta_righe_iva(const TEsportaIva_msk& m) const
|
||||
TString msg;
|
||||
msg << TR("Si conferma l'esportazione definitiva dei movimenti IVA fino al ") << m.get(F_ADATA);
|
||||
if (m.get_bool(B_PRTCHIU) && yesno_box(msg))
|
||||
set_inviva(rmoviva, adata); //mette il flag di "INVIVA" alla testata movimento
|
||||
set_inviva(rmoviva, datadoc ? m.get_date(F_ADATA) : TDate(TODAY)); //mette il flag di "INVIVA" alla testata movimento
|
||||
|
||||
// Salvo su file le impostazioni
|
||||
ini_set_string(CONFIG_DITTA, "Esporta_Dati_IVA", "LastSend", m.get_date(F_DADATA));
|
||||
|
@ -5,19 +5,21 @@
|
||||
#define A_IMPORTO 104
|
||||
#define A_DATADOC 105
|
||||
#define A_NUMDOC 106
|
||||
#define A_GRUPPO 107
|
||||
#define A_CONTO 108
|
||||
#define A_SOTTOCONTO 109
|
||||
#define A_DATAPAG 107
|
||||
#define A_GRUPPO 108
|
||||
#define A_CONTO 109
|
||||
#define A_SOTTOCONTO 110
|
||||
|
||||
#define F_PATH 201
|
||||
#define F_NAME 202
|
||||
#define F_DADATA 203
|
||||
#define F_ADATA 204
|
||||
#define F_JOB 205
|
||||
#define B_FORNITORE 206
|
||||
#define F_CODCF 207
|
||||
#define F_RAGSOC 208
|
||||
#define B_PRTAPE 209
|
||||
#define B_PRTCHIU 210
|
||||
#define F_DATASEL 206
|
||||
#define B_FORNITORE 207
|
||||
#define F_CODCF 208
|
||||
#define F_RAGSOC 209
|
||||
#define B_PRTAPE 210
|
||||
#define B_PRTCHIU 211
|
||||
|
||||
#define S_RESULT 301
|
@ -58,14 +58,23 @@ BEGIN
|
||||
FIELD ADATA
|
||||
END
|
||||
|
||||
RADIOBUTTON F_DATASEL 15
|
||||
BEGIN
|
||||
PROMPT 70 2 "Data doc/pag"
|
||||
ITEM "1|Doc."
|
||||
ITEM "2|Pag"
|
||||
FLAGS "Z"
|
||||
END
|
||||
|
||||
RADIOBUTTON F_JOB 12
|
||||
BEGIN
|
||||
PROMPT 70 2 "ID lavoro"
|
||||
PROMPT 90 2 "ID lavoro"
|
||||
ITEM "1|SI"
|
||||
ITEM "2|NO"
|
||||
FLAGS "Z"
|
||||
END
|
||||
|
||||
|
||||
BOOLEAN B_FORNITORE
|
||||
BEGIN
|
||||
PROMPT 0 3 "Fornitore"
|
||||
@ -124,6 +133,7 @@ BEGIN
|
||||
ITEM "Importo@10"
|
||||
ITEM "Data\ndocumento@10"
|
||||
ITEM "Numero\ndocumento@10"
|
||||
ITEM "Data pagamento@10"
|
||||
ITEM "Gruppo@5"
|
||||
ITEM "Conto@5"
|
||||
ITEM "Sottoconto@10"
|
||||
@ -177,6 +187,13 @@ BEGIN
|
||||
FIELD PROGR
|
||||
END
|
||||
|
||||
DATE A_DATAPAG
|
||||
BEGIN
|
||||
PROMPT 1 0 "Data pagamento documento"
|
||||
FLAGS "D"
|
||||
FIELD PROGR
|
||||
END
|
||||
|
||||
NUMBER A_GRUPPO 3
|
||||
BEGIN
|
||||
PROMPT 1 0 "Gruppo"
|
||||
|
Loading…
x
Reference in New Issue
Block a user