diff --git a/lv/lv1300.cpp b/lv/lv1300.cpp index e5a7a23c5..5813d8808 100755 --- a/lv/lv1300.cpp +++ b/lv/lv1300.cpp @@ -111,11 +111,13 @@ protected: void elabora(const TMask& mask, const char action); }; -//SISTEMA_MAGAZZINO_PACCHImetodo che sistema l'elenco dei pacchi, +//SISTEMA_MAGAZZINO_PACCHI: metodo che sistema l'elenco dei pacchi, //eliminando quelli che effettivamente non ci sono void TStampa_inv_app::sistema_magazzino_pacchi(TAssoc_array& documenti) { - TLocalisamfile pacchi(LF_PACCHI); + TSystemisamfile pacchi(LF_PACCHI); + pacchi.open(); + pacchi.lock(); TAssoc_array arpacchi; //Scorro tutti i documenti che sto stampando; per ognuno recupero l'elenco dei pacchi @@ -141,12 +143,14 @@ void TStampa_inv_app::sistema_magazzino_pacchi(TAssoc_array& documenti) } } - //scorro l'elenco dei pacchi che mi sono appena costruito, separando i vari codioci dei pacchi + //scorro l'elenco dei pacchi che mi sono appena costruito, separando i vari codici dei pacchi + bool trovato = false; FOR_EACH_ASSOC_OBJECT(arpacchi, obj1, key1, itm1) { TAssoc_array pa; TString16 codart(key1); TToken_string& codpacchi = *(TToken_string*)arpacchi.objptr(codart); + codpacchi.replace('-', '|'); //separo i vari codici dei pacchi for(int i = 0; i < codpacchi.items(); i++) @@ -168,10 +172,17 @@ void TStampa_inv_app::sistema_magazzino_pacchi(TAssoc_array& documenti) { TRiga_pacco rp(paxcodart.cursor()->curr()); if(!pa.is_key(rp.codpacco())) + { rp.remove(pacchi); + trovato = true; + } } } - pacchi.rewrite(); + if(trovato) + pacchi.rewrite(); + + pacchi.unlock(); + pacchi.close(); } void TStampa_inv_app::elabora(const TMask& mask, const char action) diff --git a/lv/lv3700.cpp b/lv/lv3700.cpp index 2b9c2fcc4..9860cde21 100755 --- a/lv/lv3700.cpp +++ b/lv/lv3700.cpp @@ -241,7 +241,7 @@ void TInventario_ter_msk::registra() TDoc_inventario inv(kinv); if(_nuovo) { - TString8 codcau = cache().get("%TIP", ini_get_string(CONFIG_DITTA, "lv", "NUM_INV", NULL), "S9"); + TString8 codcau = cache().get("%TIP", ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_INV", NULL), "S9"); inv.put(DOC_TIPODOC, get(F_TPDOC)); inv.put(DOC_DATADOC, get_date(F_DATAINV)); inv.put(DOC_CAUSMAG, codcau);