Patch level : 10.0 no patch

Files correlati     : pd0610 pd0610300a.msk
Ricompilazione Demo : [ ]
Commento            :
Modificata la query di selezione documenti


git-svn-id: svn://10.65.10.50/branches/R_10_00@21412 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2011-01-10 18:14:06 +00:00
parent 0973fe757a
commit 529f13f82e
2 changed files with 22 additions and 30 deletions

@ -16,54 +16,52 @@
class TSost_condpag_msk: public TAutomask
{
protected:
void elabora_documenti();
bool elabora_documenti();
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
public:
TSost_condpag_msk();
};
void TSost_condpag_msk::elabora_documenti()
bool TSost_condpag_msk::elabora_documenti()
{
//se non sono settate le date, compilo gli anni dagli esercizi contabili
TEsercizi_contabili& esc = esercizi();
const TDate dadata = get_date(F_DADATA);
const TDate adata = get_date(F_ADATA);
const long daanno = dadata.ok() ? dadata.year() : esc.first();
const long aanno = adata.ok() ? adata.year() : esc.last();
const TDate dadata = get_date(F_DADATA);
const TDate adata = get_date(F_ADATA);
const long daanno = dadata.ok() ? dadata.year() : esc.first();
const long aanno = adata.ok() ? adata.year() : esc.last();
const TString8 tipodoc = get(F_TIPODOC);
const TString8 stato = get(F_STATO);
const long dacodcf = get_long(F_DACODCF);
const long acodcf = get_long(F_ACODCF);
const TString8 codnum = get(F_CODNUM);
TString query;
query << "USE DOC\n"
<< "SELECT (TIPODOC=\"#TIPODOC\")&&(STATO=\"#STATO\")&&(TIPOCF=\"C\")&&(BETWEEN(CODCF,#DACODCF,#ACODCF))&&(BETWEEN(DATADOC,#DADATA,#ADATA))\n"
<< "FROM PROVV=\"D\" ANNO=#DAANNO CODNUM=\"#CODNUM\"\n"
<< "TO PROVV=\"D\" ANNO=#AANNO CODNUM=\"#CODNUM\"";
query << "USE DOC SELECT (CODNUM=\"" << codnum << "\")&&(TIPODOC=\"" << tipodoc << "\")&&(STATO=\"" << stato << "\")&&(TIPOCF=\"C\")&&(BETWEEN(CODCF," << dacodcf << "," << acodcf << "))&&(BETWEEN(DATADOC,#DADATA,#ADATA))\n"
<< "FROM PROVV=\"D\" ANNO=" << daanno << "\n"
<< "TO PROVV=\"D\" ANNO=" << aanno;
//instanzio il recordset e gli setto tutte le variabili
TISAM_recordset doc(query);
doc.set_var("#TIPODOC", get(F_TIPODOC));
doc.set_var("#STATO", get(F_STATO));
doc.set_var("#DACODCF", get_long(F_DACODCF));
doc.set_var("#ACODCF", get_long(F_ACODCF));
doc.set_var("#DADATA", dadata);
doc.set_var("#ADATA", adata);
doc.set_var("#DAANNO", daanno);
doc.set_var("#AANNO", aanno);
doc.set_var("#CODNUM", get(F_CODNUM));
TLocalisamfile& documenti = doc.cursor()->file();
const long codpag = get_long(F_CODPAG);
const TString4 codpag = get(F_CODPAG);
//scorro il recordset e aggiorno i documenti che è necessario aggiornare
for(bool ok = doc.move_first(); ok; ok = doc.move_next())
{
TRectype& rec = doc.cursor()->curr();
if(rec.get_long(DOC_CODPAG) != codpag)
if(rec.get(DOC_CODPAG) != codpag)
{
rec.put(DOC_CODPAG, codpag);
rec.rewrite(documenti);
}
}
return doc.items() > 0 ? true : false;
}
bool TSost_condpag_msk::on_field_event(TOperable_field& o, TField_event e, long jolly)
@ -73,19 +71,13 @@ bool TSost_condpag_msk::on_field_event(TOperable_field& o, TField_event e, long
case DLG_OK:
if(e == fe_button)
{
elabora_documenti();
if(elabora_documenti())
message_box(TR("Elaborazione terminata"));
else
message_box(TR("Non è stato possibile individuare nessuna commessa da modificare con i filtri impostati"));
return false;
}
break;
/*case DLG_CANCEL:
if(e == fe_button)
{
reset(F_CLIENTE);
reset(F_RAGSOC);
sfield(F_SHEET).destroy();
return false;
}
break;*/
default: break;
}
return true;

@ -150,7 +150,7 @@ BEGIN
PROMPT 1 9 "@bNuova Condizione"
END
NUMBER F_CODPAG 4
STRING F_CODPAG 4
BEGIN
PROMPT 2 10 "Codice Pagamento"
USE %CPG