Patch level : nopatch

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :

ATS invio fatture


git-svn-id: svn://10.65.10.50/trunk@20578 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2010-06-21 07:30:36 +00:00
parent 73fc819e35
commit 87ebf8ebeb

View File

@ -135,15 +135,13 @@ void TEsporta_dativa_app::esporta_righe_iva(const TMask& m) const
const TDate dadata(1, 1, adata.year() - 1);
//preparo query su righe iva joinati ai mov
TString query;
query << "USE RMOVIVA "
<< "SELECT ((NUM(ANSI(23.DATAREG))>=NUM(ANSI(#DADATA)))"
<< "&&(NUM(ANSI(23.DATAREG))<=NUM(ANSI(#ADATA))))&&(23.INVIVA!=\"X\")&&(23.TIPO=\"F\")";
TString query("USE RMOVIVA SELECT BETWEEN(23.DATAREG,#DADATA,#ADATA)&&(23.INVIVA!=\"X\")&&(23.TIPO=\"F\")\n");
if (m.get_int(F_JOB) == 1)
query << "&&(CODCMS!=\"\")\n";
else
query << "&&(CODCMS=\"\")\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"
@ -165,40 +163,76 @@ void TEsporta_dativa_app::esporta_righe_iva(const TMask& m) const
TDate last_data_pag;
const long numreg = rmoviva.get(RMI_NUMREG).as_int();
const real impiva = rmoviva.get(RMI_IMPONIBILE).as_real();
bool partita_chiusa = test_partita(numreg, last_data_pag);
if (partita_chiusa)
{
//creazione di un nuovo record da esportare
csv.new_rec("");
//..e successivo riempimento
TString8 codcms; codcms.cut(0);
TString query_movana;
query_movana << "USE MOVANA KEY 3\n"
<< "FROM NUMREGCG=NUMREG\n"
<< "TO NUMREGCG=NUMREG";
<< "FROM NUMREGCG=#NUMREG\n"
<< "TO NUMREGCG=#NUMREG";
TISAM_recordset rec_movana(query_movana);
rec_movana.set_var("#NUMREGCG", numreg);
rec_movana.set_var("#NUMREG", numreg);
int items = rec_movana.items();
if (items > 0)
{
if (with_cms)
{
csv.new_rec("");
rec_movana.move_first();
const long numregca = rec_movana.get("NUMREG").as_int();
TAnal_mov movana(numregca);
TAnal_mov movana = rec_movana.move_first();
for(int i = 1; i <= movana.rows(); i++)
{
const TRectype& rmovana = movana.body()[i];
for(int i = 1; i <= movana.rows(); i++)
{
const TRectype& rmovana = movana.body()[i];
const real impana = rmovana.get_real("IMPORTO");
codcms = rmovana.get("CODCMS");
csv.set(0, codcms);
csv.set(1, rmoviva.get("23.CODCF"));
csv.set(2, rmoviva.get("20.RAGSOC"));
char sez = rmovana.get_char("SEZIONE");
TImporto importo(sez, rmovana.get_real("IMPORTO"));
importo.normalize('D');
csv.set(3, importo.valore());
csv.set(6, rmoviva.get("23.DATADOC"));
csv.set(7, rmoviva.get("23.NUMDOC"));
csv.set(8, last_data_pag);
}
}
while (rmoviva.move_next())
{
const long wnumreg = rmoviva.get(RMI_NUMREG).as_int();
if (wnumreg != numreg)
{
rmoviva.move_prev();
break;
}
}
}
else
{
const TString & codcms = rmoviva.get("CODCMS").as_string();
if(impiva == impana)
codcms = rmovana.get("CODCMS");
}
csv.set(0, codcms);
csv.set(1, rmoviva.get("23.CODCF"));
csv.set(2, rmoviva.get("20.RAGSOC"));
csv.set(3, rmoviva.get(RMI_IMPONIBILE).as_real());
csv.set(6, rmoviva.get("23.DATADOC"));
csv.set(7, rmoviva.get("23.NUMDOC"));
csv.set(8, last_data_pag);
if ((!with_cms && codcms.blank()) ||
(with_cms && codcms.full()))
{
csv.new_rec("");
csv.set(0, codcms);
csv.set(1, rmoviva.get("23.CODCF"));
csv.set(2, rmoviva.get("20.RAGSOC"));
csv.set(3, rmoviva.get(RMI_IMPONIBILE).as_real());
csv.set(6, rmoviva.get("23.DATADOC"));
csv.set(7, rmoviva.get("23.NUMDOC"));
csv.set(8, last_data_pag);
}
}
}
}
csv.save_as(path, fmt_text);