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

View File

@ -16,13 +16,13 @@
class TSost_condpag_msk: public TAutomask class TSost_condpag_msk: public TAutomask
{ {
protected: protected:
void elabora_documenti(); bool elabora_documenti();
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);
public: public:
TSost_condpag_msk(); 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 //se non sono settate le date, compilo gli anni dagli esercizi contabili
TEsercizi_contabili& esc = esercizi(); TEsercizi_contabili& esc = esercizi();
@ -30,40 +30,38 @@ void TSost_condpag_msk::elabora_documenti()
const TDate adata = get_date(F_ADATA); const TDate adata = get_date(F_ADATA);
const long daanno = dadata.ok() ? dadata.year() : esc.first(); const long daanno = dadata.ok() ? dadata.year() : esc.first();
const long aanno = adata.ok() ? adata.year() : esc.last(); 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; TString query;
query << "USE DOC\n" query << "USE DOC SELECT (CODNUM=\"" << codnum << "\")&&(TIPODOC=\"" << tipodoc << "\")&&(STATO=\"" << stato << "\")&&(TIPOCF=\"C\")&&(BETWEEN(CODCF," << dacodcf << "," << acodcf << "))&&(BETWEEN(DATADOC,#DADATA,#ADATA))\n"
<< "SELECT (TIPODOC=\"#TIPODOC\")&&(STATO=\"#STATO\")&&(TIPOCF=\"C\")&&(BETWEEN(CODCF,#DACODCF,#ACODCF))&&(BETWEEN(DATADOC,#DADATA,#ADATA))\n" << "FROM PROVV=\"D\" ANNO=" << daanno << "\n"
<< "FROM PROVV=\"D\" ANNO=#DAANNO CODNUM=\"#CODNUM\"\n" << "TO PROVV=\"D\" ANNO=" << aanno;
<< "TO PROVV=\"D\" ANNO=#AANNO CODNUM=\"#CODNUM\"";
//instanzio il recordset e gli setto tutte le variabili //instanzio il recordset e gli setto tutte le variabili
TISAM_recordset doc(query); 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("#DADATA", dadata);
doc.set_var("#ADATA", adata); 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(); 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 //scorro il recordset e aggiorno i documenti che è necessario aggiornare
for(bool ok = doc.move_first(); ok; ok = doc.move_next()) for(bool ok = doc.move_first(); ok; ok = doc.move_next())
{ {
TRectype& rec = doc.cursor()->curr(); TRectype& rec = doc.cursor()->curr();
if(rec.get_long(DOC_CODPAG) != codpag) if(rec.get(DOC_CODPAG) != codpag)
{ {
rec.put(DOC_CODPAG, codpag); rec.put(DOC_CODPAG, codpag);
rec.rewrite(documenti); rec.rewrite(documenti);
} }
} }
return doc.items() > 0 ? true : false;
} }
bool TSost_condpag_msk::on_field_event(TOperable_field& o, TField_event e, long jolly) 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: case DLG_OK:
if(e == fe_button) 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; return false;
} }
break; break;
/*case DLG_CANCEL:
if(e == fe_button)
{
reset(F_CLIENTE);
reset(F_RAGSOC);
sfield(F_SHEET).destroy();
return false;
}
break;*/
default: break; default: break;
} }
return true; return true;

View File

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