diff --git a/lv/lv2400.cpp b/lv/lv2400.cpp index 9ec281558..4b42529a8 100755 --- a/lv/lv2400.cpp +++ b/lv/lv2400.cpp @@ -317,6 +317,9 @@ bool TGenera_documenti_app::crea_documento(const TISAM_recordset& plan, TLog_rep if (doc.rows() > 0) { + TToken_string orderkey; + orderkey.add(RDOC_CODART); + doc.sort_rows(orderkey); err = doc.rewrite(); ++numdocgen; } diff --git a/lv/lv2600.cpp b/lv/lv2600.cpp index 24dd78cf5..83007fb56 100755 --- a/lv/lv2600.cpp +++ b/lv/lv2600.cpp @@ -8,6 +8,7 @@ #include "lvlib.h" #include "../ve/velib.h" +#include "clifo.h" #include "cfven.h" #include "lvcondv.h" #include "lvrcondv.h" @@ -306,6 +307,9 @@ public: void TAcquisizione_cache::discarding(const THash_object* obj) { TDocumento& doc = (TDocumento&)obj->obj(); + TToken_string orderkey; + orderkey.add(RDOC_CODART); + doc.sort_rows(orderkey); int err = doc.rewrite(); } @@ -710,6 +714,20 @@ bool TAcquisizione_lavanderie_app::elabora_file(const TString& file, TLog_report continue; } + TToken_string key; + key.add('C'); + key.add(codcf); + const int codindsp = atoi(cache().get(LF_CFVEN, key, CFV_CODINDSP)); + TLaundry_contract cont(codcf, codindsp, datadoc); + const TRectype& rcont = cont.row(codart.trim()); + + if(rcont.empty()) + { + TString str; + str << "L'articolo " << codart << " non è previsto nel contratto del cliente " << codcf; + warning_box(str); + } + TQuantita_contate* qc = articoli.quantita(codcf, codart.trim(), datadoc, true); //se la chiave è già presente nel TAssoc_array, chiedi cosa fare delle quantità diff --git a/lv/lv2900.cpp b/lv/lv2900.cpp index 49e2790e8..18b3a741a 100755 --- a/lv/lv2900.cpp +++ b/lv/lv2900.cpp @@ -39,6 +39,9 @@ public: void TBuoni_cache::discarding(const THash_object* obj) { TDocumento& doc = (TDocumento&)obj->obj(); + TToken_string orderkey; + orderkey.add(RDOC_CODART); + doc.sort_rows(orderkey); int err = doc.rewrite(); } diff --git a/lv/lv3200.cpp b/lv/lv3200.cpp index 2403ce89a..b869d7ab7 100755 --- a/lv/lv3200.cpp +++ b/lv/lv3200.cpp @@ -592,6 +592,9 @@ void TEvasione_msk::genera_documento() int err = 1; if (doc.rows() > 0) { + TToken_string orderkey; + orderkey.add(RDOC_CODART); + doc.sort_rows(orderkey); err = doc.write(); if(controlla()) { diff --git a/lv/lv3400.cpp b/lv/lv3400.cpp index 70b6db01c..a1e8e7c80 100755 --- a/lv/lv3400.cpp +++ b/lv/lv3400.cpp @@ -558,6 +558,9 @@ void TEvasione_ter_msk::genera_buono() int err = 1; if (doc.rows() > 0) { + TToken_string orderkey; + orderkey.add(RDOC_CODART); + doc.sort_rows(orderkey); err = doc.write(); if(controlla())