Patch level : 10.0 577

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

Fatturazione 02 e velocizzazione calcolo consegnato mensile


git-svn-id: svn://10.65.10.50/trunk@19914 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2010-01-12 21:50:17 +00:00
parent 12dd0b83a9
commit 1494671c5b
2 changed files with 30 additions and 12 deletions

View File

@ -97,6 +97,7 @@ class TFatturazione_lavanderie:public TFatturazione_bolle
TDate _data_elab; TDate _data_elab;
TToken_string _campi_raggruppamento; TToken_string _campi_raggruppamento;
TAssoc_array _output_rows_02; TAssoc_array _output_rows_02;
bool _prova;
protected: protected:
virtual void add_rows(TRiga_documento & rout, TRiga_documento & rin); virtual void add_rows(TRiga_documento & rout, TRiga_documento & rin);
@ -112,17 +113,17 @@ protected:
virtual bool riferimenti_in_testa() const { return true; } virtual bool riferimenti_in_testa() const { return true; }
virtual TRiga_documento& find_or_create_row(TDocumento& doc_out, const TRiga_documento & rin,const char lavtype); virtual TRiga_documento& find_or_create_row(TDocumento& doc_out, const TRiga_documento & rin,const char lavtype);
void aggiorna_fattura(TDocumento & doc, int codcont); void aggiorna_fattura(TDocumento & doc, int codcont);
bool fatt_02() const { return !_prova &&lv_is_02_active(); }
public: public:
virtual bool elabora(TLista_documenti& doc_in, TLista_documenti& doc_out, virtual bool elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
const TDate& data_elab, bool interattivo = false); const TDate& data_elab, bool interattivo = false);
TFatturazione_lavanderie(const char* cod); TFatturazione_lavanderie(const char* cod, bool prova = false);
~TFatturazione_lavanderie() {} ~TFatturazione_lavanderie() {}
}; };
TFatturazione_lavanderie::TFatturazione_lavanderie(const char* cod) TFatturazione_lavanderie::TFatturazione_lavanderie(const char* cod, bool prova)
: TFatturazione_bolle(cod) : TFatturazione_bolle(cod), _prova(prova)
{ {
} }
@ -747,7 +748,7 @@ void TFatturazione_lavanderie::post_process(TLista_documenti& doc_out, TLista_do
} }
} }
} }
if (redditivita > ZERO && lv_is_02_active() && !ragart && tipocan != 1) if (redditivita > ZERO && fatt_02() && !ragart && tipocan != 1)
{ {
const real totdoc = doc.totale_doc(); const real totdoc = doc.totale_doc();
const real provvigione1 = doc.provvigione(); const real provvigione1 = doc.provvigione();
@ -1034,7 +1035,7 @@ TRiga_documento& TFatturazione_lavanderie::find_or_create_row(TDocumento& doc_ou
row.put("LVTYPE", lavtype); row.put("LVTYPE", lavtype);
r = row.get_int(RDOC_NRIGA); r = row.get_int(RDOC_NRIGA);
} }
if (lv_is_02_active()) if (fatt_02())
{ {
doc_out.set_row_ids(); doc_out.set_row_ids();
const TString key = format("%04d%04d", doc_out.get_int("FATID"), doc_out[r].get_int(RDOC_IDRIGA)); const TString key = format("%04d%04d", doc_out.get_int("FATID"), doc_out[r].get_int(RDOC_IDRIGA));
@ -1376,6 +1377,15 @@ bool TFatturazione_lav_app::controlli_preliminari()
void TFatturazione_lav_app::main_loop() void TFatturazione_lav_app::main_loop()
{ {
bool prova = false;
if (main_app().argc() > 2)
{
TString16 tpela = main_app().argv(2);
tpela = tpela.mid(4);
prova = (tpela == "FatPro");
}
//instanzio la maschera //instanzio la maschera
_msk = new TFatturazione_msk(); _msk = new TFatturazione_msk();
@ -1415,7 +1425,7 @@ void TFatturazione_lav_app::main_loop()
} }
//instanzio una TFatturaziome_lavanderie //instanzio una TFatturaziome_lavanderie
TFatturazione_lavanderie elab(_msk->get(F_COD_ELAB)); TFatturazione_lavanderie elab(_msk->get(F_COD_ELAB), prova);
//preparo le variabili di interesse //preparo le variabili di interesse
TLista_documenti docsin; TLista_documenti docsin;
TLista_documenti docsout; TLista_documenti docsout;

View File

@ -10,7 +10,7 @@
TFatturazione_bolle::TFatturazione_bolle(const char* cod) TFatturazione_bolle::TFatturazione_bolle(const char* cod)
: TElaborazione(cod) : TElaborazione(cod)
{ {
TString16 name; name.format("AGGFLD(%s)", cod); TString80 name; name.format("AGGFLD(%s)", cod);
_lista_campi = ini_get_string(CONFIG_DITTA, "ve", name); _lista_campi = ini_get_string(CONFIG_DITTA, "ve", name);
name.format("ROWSORT(%s)", cod); name.format("ROWSORT(%s)", cod);
@ -495,6 +495,7 @@ bool TFatturazione_bolle::elabora(TLista_documenti& doc_in, TLista_documenti& do
// Aggiungilo alla lista dei documenti in uscita // Aggiungilo alla lista dei documenti in uscita
od = doc_out.add(new_doc); od = doc_out.add(new_doc);
new_doc->put("FATID", od + 1);
} }
if (change_clifo()) if (change_clifo())
@ -511,7 +512,7 @@ bool TFatturazione_bolle::elabora(TLista_documenti& doc_in, TLista_documenti& do
} }
post_process_input(doc_in); post_process_input(doc_in);
const int tot = doc_out.items(); int tot = doc_out.items();
const TString4 codnum(codice_numerazione_finale()); const TString4 codnum(codice_numerazione_finale());
for (int i = 0; i < tot; i++) // Forza tipo e numerazione documento. for (int i = 0; i < tot; i++) // Forza tipo e numerazione documento.
@ -547,7 +548,14 @@ bool TFatturazione_bolle::elabora(TLista_documenti& doc_in, TLista_documenti& do
if (_rowsort.full()) if (_rowsort.full())
d.sort_rows(_rowsort); d.sort_rows(_rowsort);
} }
post_process_output(doc_out); post_process(doc_out, doc_in);
tot = doc_out.items();
for (int i = 0; i < tot; i++) // Forza tipo e numerazione documento.
{
TDocumento& d = doc_out[i];
d.put("FATID", 0);
}
return tot > 0; return tot > 0;
} }