diff --git a/lv/lv2400.cpp b/lv/lv2400.cpp index b57619823..b2e0717c5 100755 --- a/lv/lv2400.cpp +++ b/lv/lv2400.cpp @@ -419,6 +419,8 @@ void TGenera_documenti_app::crea_riga(const TString& codart, const char modpas, rdoc.put(RDOC_CODIVA, anamag.get(ANAMAG_CODIVA)); //codiva + const TCausale_lavanderie caudt(ini_get_string(CONFIG_DITTA, "lv", "CAULVRITDT")); + //se ho ritirato un quantitativo di roba maggiore o uguale alla dotazione temporanea //allora creo la nuova riga documento e azzero la dottmp; altrimenti preparo la riga //per la quantità che ho ritirato e tengo traccia della cosa @@ -427,7 +429,7 @@ void TGenera_documenti_app::crea_riga(const TString& codart, const char modpas, qta -= dottmp; rdoc.put(RDOC_QTAGG1, dottmp); //quantità ritirata rdoc.put(RDOC_GENERATA, true); - rdoc.put(RDOC_CODAGG1, ini_get_string(CONFIG_DITTA, "lv", "CAULVRITDT")); + rdoc.put(RDOC_CODAGG1, caudt.codice()); dottmp = 0; dotod -= dottmp; TString str; @@ -441,7 +443,7 @@ void TGenera_documenti_app::crea_riga(const TString& codart, const char modpas, dotod -= qta; rdoc.put(RDOC_QTAGG1, qta); //quantità ritirata rdoc.put(RDOC_GENERATA, true); - rdoc.put(RDOC_CODAGG1, ini_get_string(CONFIG_DITTA, "lv", "CAULVRITDT")); + rdoc.put(RDOC_CODAGG1, caudt.codice()); TString str; str << "L'articolo " << codart << " inserito nel documento " << doc.get(DOC_CODNUM) << "-" << doc.get(DOC_TIPODOC) << " numero " << doc.get(DOC_NDOC) << " in dotazione temporanea non è stato ritirato completamente." @@ -451,11 +453,23 @@ void TGenera_documenti_app::crea_riga(const TString& codart, const char modpas, } //scrivo il magazzino + + TCausale_magazzino rit(caudt.causale_ritiro()); + TCausale_magazzino con(caudt.causale_consegna()); + TString8 magazzino; TString8 magazzinoc; - magazzino << ini_get_string(CONFIG_DITTA, "lv", "CODMAG") << ini_get_string(CONFIG_DITTA, "lv", "CODMAGN"); - magazzinoc << ini_get_string(CONFIG_DITTA, "lv", "CODMAG") << ini_get_string(CONFIG_DITTA, "lv", "CODMAGC"); + 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); @@ -503,7 +517,10 @@ void TGenera_documenti_app::crea_riga(const TString& codart, const char modpas, rdoc.put(RDOC_QTAGG4, quantita_noarr); //quantità che avrei consegnato se non arrotondavo (qta ritirata) rdoc.put(RDOC_GENERATA, true); - rdoc.put(RDOC_CODAGG1, ini_get_string(CONFIG_DITTA, "lv", "CAUSLAVSC")); //causale presa dalla configurazione + //causale da mettere sulle righe documento + const TCausale_lavanderie cau(ini_get_string(CONFIG_DITTA, "lv", "CAUSLAV")); + const TString4 codcau = cau.caucol().empty() ? cau.codice() : cau.caucol(); + rdoc.put(RDOC_CODAGG1, codcau); //aggiorno il conguaglio sulla riga del contratto if (!rcont.empty()) @@ -605,11 +622,21 @@ void TGenera_documenti_app::crea_riga(const TString& codart, const char modpas, rdoc.put(RDOC_UMQTA, um); //scrivo il magazzino + TCausale_magazzino rit(cau.causale_ritiro()); + TCausale_magazzino con(cau.causale_consegna()); + TString8 magazzino; TString8 magazzinoc; - magazzino << ini_get_string(CONFIG_DITTA, "lv", "CODMAG") << ini_get_string(CONFIG_DITTA, "lv", "CODMAGN"); - magazzinoc << ini_get_string(CONFIG_DITTA, "lv", "CODMAG") << ini_get_string(CONFIG_DITTA, "lv", "CODMAGC"); + 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); diff --git a/lv/lv2900.cpp b/lv/lv2900.cpp index ce7af02c6..de331d6a8 100755 --- a/lv/lv2900.cpp +++ b/lv/lv2900.cpp @@ -662,11 +662,22 @@ bool TConta_pulito_msk::genera_documenti(const TFilename& file, TAssoc_array& do } //scrivo il magazzino + const TCausale_lavanderie cau(causale); + TCausale_magazzino rit(cau.causale_ritiro()); + TCausale_magazzino con(cau.causale_consegna()); + TString8 magazzino; TString8 magazzinoc; - magazzino << ini_get_string(CONFIG_DITTA, "lv", "CODMAG") << ini_get_string(CONFIG_DITTA, "lv", "CODMAGN"); - magazzinoc << ini_get_string(CONFIG_DITTA, "lv", "CODMAG") << ini_get_string(CONFIG_DITTA, "lv", "CODMAGC"); + 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); diff --git a/lv/lv3200.cpp b/lv/lv3200.cpp index 29eb6638f..c54db9b53 100755 --- a/lv/lv3200.cpp +++ b/lv/lv3200.cpp @@ -561,7 +561,8 @@ void TEvasione_msk::genera_documento() rdoc.add("DOTMP", rbpre.qta_consegnata() - rbpre.qta_ritirata()); } - rdoc.put(RDOC_CODAGG1, rbpre.causale()); + const TCausale_lavanderie cau(rbpre.causale()); + rdoc.put(RDOC_CODAGG1, cau.codice()); const TRectype& anamag = cache().get(LF_ANAMAG, codart); //gestione prezzo @@ -580,11 +581,22 @@ void TEvasione_msk::genera_documento() rdoc.put(RDOC_UMQTA, um); //scrivo il magazzino + TCausale_magazzino rit(cau.causale_ritiro()); + TCausale_magazzino con(cau.causale_consegna()); + TString8 magazzino; TString8 magazzinoc; - magazzino << ini_get_string(CONFIG_DITTA, "lv", "CODMAG") << ini_get_string(CONFIG_DITTA, "lv", "CODMAGN"); - magazzinoc << ini_get_string(CONFIG_DITTA, "lv", "CODMAG") << ini_get_string(CONFIG_DITTA, "lv", "CODMAGC"); + 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); diff --git a/lv/lv3400.cpp b/lv/lv3400.cpp index 84f04f876..b3b6e1714 100755 --- a/lv/lv3400.cpp +++ b/lv/lv3400.cpp @@ -527,7 +527,8 @@ void TEvasione_ter_msk::genera_buono() rdoc.add("DOTMP", rbpre.qta_consegnata() - rbpre.qta_ritirata()); } - rdoc.put(RDOC_CODAGG1, rbpre.causale()); + const TCausale_lavanderie cau(rbpre.causale()); + rdoc.put(RDOC_CODAGG1, cau.codice()); const TRectype& anamag = cache().get(LF_ANAMAG, codart); //gestione prezzo @@ -546,11 +547,21 @@ void TEvasione_ter_msk::genera_buono() rdoc.put(RDOC_UMQTA, um); //scrivo il magazzino + TCausale_magazzino rit(cau.causale_ritiro()); + TCausale_magazzino con(cau.causale_consegna()); + TString8 magazzino; TString8 magazzinoc; - magazzino << ini_get_string(CONFIG_DITTA, "lv", "CODMAG") << ini_get_string(CONFIG_DITTA, "lv", "CODMAGN"); - magazzinoc << ini_get_string(CONFIG_DITTA, "lv", "CODMAG") << ini_get_string(CONFIG_DITTA, "lv", "CODMAGC"); + 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);