diff --git a/lv/lv2400.cpp b/lv/lv2400.cpp index 2b18190eb..9dbbae239 100755 --- a/lv/lv2400.cpp +++ b/lv/lv2400.cpp @@ -309,8 +309,8 @@ bool TGenera_documenti_app::crea_documento(const TISAM_recordset& plan, TLog_rep keyrcont.add(codcont); keyrcont.add(codart); const TRectype& rcont = cache().get(LF_LVRCONDV, keyrcont); - const TDate dadata = (TDate)rcont.get(LVRCONDV_INDTTMP); - const TDate adata = (TDate)rcont.get(LVRCONDV_FIDTTMP); + const TDate dadata = rcont.get_date(LVRCONDV_INDTTMP); + const TDate adata = rcont.get_date(LVRCONDV_FIDTTMP); if (dadata.ok() && dtcons >= adata) crea_riga(chiave, modpas, tplis, true, prinbo, doc, rep); @@ -485,6 +485,10 @@ void TGenera_documenti_app::crea_riga(TToken_string& chiave, const char modpas, const TRectype& umart = cache().get(LF_UMART, key); TString4 um = umart.get(UMART_UM); rdoc.put(RDOC_UMQTA, um); + + //scrivo gli estremi della dotazione temporanea + rdoc.put("DADATATMP", rcont.get_date(LVRCONDV_INDTTMP)); + rdoc.put("ADATATMP", rcont.get_date(LVRCONDV_FIDTTMP)); } if (qta > ZERO) @@ -544,9 +548,7 @@ void TGenera_documenti_app::crea_riga(TToken_string& chiave, const char modpas, rdoc.put(RDOC_QTAGG1, qta); //quantità ritirata else rdoc.put(RDOC_QTAGG1, qta1); //quantità ritirata - } - - + } //elaborazione sul prezzo da utilizzare real prezzo; diff --git a/lv/lv2600.cpp b/lv/lv2600.cpp index e2c3e3552..63f313e0f 100755 --- a/lv/lv2600.cpp +++ b/lv/lv2600.cpp @@ -859,14 +859,21 @@ void TAcquisizione_lavanderie_app::genera_documenti(TLog_report& rep, TAssoc_arr TLaundry_contract cont(codcf, codindsp, datadoc); const TString8 codcont = cont.get(LVCONDV_CODCONT); const TRectype rcont = cont.row(codart); - const TString4 causale = rcont.get(LVRCONDV_CAUSLAV).full() ? rcont.get(LVRCONDV_CAUSLAV) : ini_get_string(CONFIG_DITTA, "lv", "CAUSLAV"); - + TDate oggi(TODAY); TDocumento& doc = ca.doc(datadoc, codcf); if (!giri) doc.put("DATAPRCO", oggi); + const TDate dtcons = doc.get_date("DATAPRCO"); + + TString4 causale; + if(rcont.get_date(LVRCONDV_INDTTMP).ok() && dtcons >= rcont.get_date(LVRCONDV_FIDTTMP)) + causale = ini_get_string(CONFIG_DITTA, "lv", "CAULVRITDT"); + else + causale = rcont.get(LVRCONDV_CAUSLAV).full() ? rcont.get(LVRCONDV_CAUSLAV) : ini_get_string(CONFIG_DITTA, "lv", "CAUSLAV"); + if (doc.rows() > 0 && (idriga > 0 && idriga <= doc.rows())) { TRiga_documento& rdoc = doc[idriga];