diff --git a/lv/lv2600.cpp b/lv/lv2600.cpp index fad0fb7d7..be0102c65 100755 --- a/lv/lv2600.cpp +++ b/lv/lv2600.cpp @@ -858,6 +858,8 @@ void TAcquisizione_lavanderie_app::genera_documenti(TLog_report& rep, TAssoc_arr const int codindsp = atoi(cache().get(LF_CFVEN, key, CFV_CODINDSP)); 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_CAUSMAG).full() ? rcont.get(LVRCONDV_CAUSMAG) : ini_get_string(CONFIG_DITTA, "lv", "CAUSLAV"); TDate oggi(TODAY); @@ -880,10 +882,39 @@ void TAcquisizione_lavanderie_app::genera_documenti(TLog_report& rep, TAssoc_arr rdoc.put(RDOC_DESCR, anamag.get(ANAMAG_DESCR)); rdoc.put(RDOC_CODARTMAG, codart); rdoc.put(RDOC_CHECKED, 'X'); - rdoc.put(RDOC_CODAGG1, ini_get_string(CONFIG_DITTA, "lv", "CAUSLAV")); + rdoc.put(RDOC_CODAGG1, causale); rdoc.put(RDOC_QTAGG1, qtacon); rdoc.put(RDOC_QTAGG2, qtarotti); rdoc.put(RDOC_CODIVA, anamag.get(ANAMAG_CODIVA)); + + //scrivo il magazzino + + const TCausale_lavanderie cau(causale); + TCausale_magazzino rit(cau.causale_ritiro()); + TCausale_magazzino con(cau.causale_consegna()); + + TString8 magazzino; + TString8 magazzinoc; + + if(rit.get("S10").full()) + magazzino = rit.get("S10").mid(0,5); + else + magazzino << ini_get_string(CONFIG_DITTA, "lv", "CODMAG") << ini_get_string(CONFIG_DITTA, "lv", "CODMAGN"); + + if(con.get("S10").full()) + magazzinoc = con.get("S10").mid(0,5); + else + magazzinoc << ini_get_string(CONFIG_DITTA, "lv", "CODMAG") << ini_get_string(CONFIG_DITTA, "lv", "CODMAGC"); + + rdoc.put(RDOC_CODMAG, magazzino); + rdoc.put(RDOC_CODMAGC, magazzinoc); + + //scrivo l'unità di misura + TToken_string key; + key.add(codart); + key.add(1); + const TRectype& umart = cache().get(LF_UMART, key); + rdoc.put(RDOC_UMQTA, umart.get(UMART_UM)); } if (!doc.get_date("DATAPRCO").ok() && giri)