Patch level : 10.0 276

Files correlati     : lv2.exe
Ricompilazione Demo : [ ]
Commento            :

Fatturazione lavanderie


git-svn-id: svn://10.65.10.50/trunk@18646 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2009-03-31 16:12:06 +00:00
parent 9c3df44481
commit c5d2a3a80b
2 changed files with 48 additions and 10 deletions

View File

@ -25,6 +25,7 @@ protected:
virtual void post_process_input(TLista_documenti& doc_out) {} virtual void post_process_input(TLista_documenti& doc_out) {}
virtual void post_process_output(TLista_documenti& doc_out); virtual void post_process_output(TLista_documenti& doc_out);
virtual bool da_raggruppare(const TRiga_documento & rin); virtual bool da_raggruppare(const TRiga_documento & rin);
virtual bool doc_raggruppabili(const TDocumento& doc_in, const TDocumento& doc_out, TToken_string& campi) const ;
virtual bool doc_raggruppabile(const TDocumento & doc) const { return true; } virtual bool doc_raggruppabile(const TDocumento & doc) const { return true; }
virtual bool gestione_riferimenti() const { return true; } virtual bool gestione_riferimenti() const { return true; }
virtual bool riferimenti_in_testa() const { return true; } virtual bool riferimenti_in_testa() const { return true; }
@ -44,6 +45,29 @@ TFatturazione_lavanderie::TFatturazione_lavanderie(const char* cod)
{ {
} }
bool TFatturazione_lavanderie::doc_raggruppabili(const TDocumento& doc_in, const TDocumento& doc_out, TToken_string& campi) const
{
if (doc_in.ha_riga_esenzione() != doc_out.ha_riga_esenzione())
return false;
bool ok = true;
TString campo;
for (const char* c = campi.get(0); c && ok; c = campi.get())
{
if (strncmp(c, "CODABI", 6) == 0 || strncmp(c, "CODCAB", 6) == 0)
{
long cod = doc_in.get_long(c);
ok &= (cod == doc_out.get_long(c));
}
else
{
campo = doc_in.get(c);
ok &= campo == doc_out.get(c);
}
}
return ok;
}
bool TFatturazione_lavanderie::da_raggruppare(const TRiga_documento & rin) bool TFatturazione_lavanderie::da_raggruppare(const TRiga_documento & rin)
{ {
/* const long clifo = rin.doc().get_long(DOC_CODCF); /* const long clifo = rin.doc().get_long(DOC_CODCF);
@ -330,18 +354,31 @@ void TFatturazione_lav_app::main_loop()
while (msk.run()!=K_QUIT) while (msk.run()!=K_QUIT)
{ {
TString query; TString query;
query << "USE DOC KEY 3 SELECT (TIPOCF==\"C\")&&(BETWEEN(DATADOC,#DADATA,#ADATA))&&(STATO=2)&&(TIPODOC==\"B01\")\n" query << "USE DOC KEY 3 SELECT (TIPOCF==\"C\")&&(BETWEEN(DATADOC,#DADATA,#ADATA))&&(STATO==\"2\")&&(TIPODOC==\"B01\")\n"
<< "BY TIPOCF CODCF DATADOC\n" << "BY TIPOCF CODCF DATADOC\n"
<< "FROM " << "DATADOC=#DADATA PROVV=D ANNO=#ANNO\n" << "FROM " << "DATADOC=#DADATA PROVV=D ANNO=#ANNO\n"
<< "TO " << " DATADOC=#ADATA PROVV=D ANNO=#ANNO\n"; << "TO " << " DATADOC=#ADATA PROVV=D ANNO=#ANNO\n";
// query << "USE DOC KEY 2 SELECT BETWEEN(DATADOC,#DADATA,#ADATA)\n" // query << "USE DOC KEY 2 SELECT BETWEEN(DATADOC,#DADATA,#ADATA)&&STATO==\"2\")&&(TIPODOC==\"B01\")\n"
// << "FROM " << "TIPOCF=C PROVV=D ANNO=#ANNO DATADOC=#DADATA \n" // << "FROM " << "TIPOCF=C PROVV=D ANNO=#ANNO DATADOC=#DADATA \n"
// << "TO " << "TIPOCF=C PROVV=D ANNO=#ANNO DATADOC=#ADATA \n"; // << "TO " << "TIPOCF=C PROVV=D ANNO=#ANNO DATADOC=#ADATA \n";
TISAM_recordset recset(query); TISAM_recordset recset(query);
recset.set_var("#DADATA",msk.get_date(F_DADATA)); TDate al = msk.get_date(F_ADATA);
recset.set_var("#ADATA",msk.get_date(F_ADATA));
recset.set_var("#ANNO",long(msk.get_date(F_ADATA).year())); if (!al.ok())
al = msk.get_date(F_DATAFAT);
TDate dal = msk.get_date(F_DADATA);
const long year = al.year();
if (!dal.ok())
{
dal.set_day(1);
dal.set_month(1);
dal.set_year(year);
}
recset.set_var("#DADATA", dal);
recset.set_var("#ADATA", al);
recset.set_var("#ANNO", year);
TFatturazione_lavanderie elab(msk.get(F_COD_ELAB)); TFatturazione_lavanderie elab(msk.get(F_COD_ELAB));
TLista_documenti docsin; TLista_documenti docsin;

View File

@ -10,12 +10,13 @@ PAGE "Fatturazione" -1 -1 40 5
DATE F_DADATA DATE F_DADATA
BEGIN BEGIN
PROMPT 2 1 "Fattura dal " PROMPT 2 1 "Fattura dal "
FLAGS "H"
END END
DATE F_ADATA DATE F_ADATA
BEGIN BEGIN
PROMPT 45 1 "al " PROMPT 45 1 "al "
FLAGS "A" FLAGS "H"
END END
DATE F_DATAFAT DATE F_DATAFAT
@ -27,7 +28,7 @@ END
STRING F_CODCATC 2 STRING F_CODCATC 2
BEGIN BEGIN
PROMPT 43 3 "Codice Categoria economica " PROMPT 2 3 "Codice Categoria economica "
FIELD LF_CFVEN->CODCATC FIELD LF_CFVEN->CODCATC
USE CCO USE CCO
INPUT CODTAB F_CODCATC INPUT CODTAB F_CODCATC