From 00338c0d4fd4ee93e338327d6af0fb9070d1ef97 Mon Sep 17 00:00:00 2001 From: luca83 Date: Tue, 8 Sep 2009 14:30:07 +0000 Subject: [PATCH] Patch level : 10.0 patch 432 Files correlati : lv2 Ricompilazione Demo : [ ] Commento : Cambiata intestazione del report Adesso non si crea la riga di dotazione temporanea se dottmp = 0 git-svn-id: svn://10.65.10.50/trunk@19259 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- lv/lv2400.cpp | 52 ++++++++++++++++++++++----------------------------- 1 file changed, 22 insertions(+), 30 deletions(-) diff --git a/lv/lv2400.cpp b/lv/lv2400.cpp index d74dbb608..f54eab75b 100755 --- a/lv/lv2400.cpp +++ b/lv/lv2400.cpp @@ -255,8 +255,21 @@ void TGenera_documenti_app::crea_riga(const TString& codart, const char modpas, //recupero i dati di interesse dall'anagrafica di magazzino const real ppconf = anamag.get_real(ANAMAG_PPCONF); + //recupero i valori delle dotazione temporanea dal magazzino del cliente + TLocalisamfile magcli(LF_CLIFOGIAC); + magcli.put(CLIFOGIAC_ANNOES, doc.get_date(DOC_DATADOC).year()); + magcli.put(CLIFOGIAC_TIPOCF, 'C'); + magcli.put(CLIFOGIAC_CODCF, codcli); + magcli.put(CLIFOGIAC_INDSPED, 0); //in realtà è da leggere dal contratto + magcli.put(CLIFOGIAC_CODART, codart); + magcli.put(CLIFOGIAC_NRIGA, 1); + //leggo il record corrispondente + magcli.read(); + long dottmp = magcli.get_long(CLIFOGIAC_DOTTM); + long dotod = magcli.get_long(CLIFOGIAC_DOTOD); + //GESTIONE DOTAZIONE TEMPOARANEA - if (tmp && rcont.get_bool(LVRCONDV_RITAUDTTMP)) + if (tmp && rcont.get_bool(LVRCONDV_RITAUDTTMP) && dottmp > 0) { TRiga_documento& rdoc = doc.new_row(tiporiga); rdoc.put(RDOC_CODART,codart); @@ -266,19 +279,6 @@ void TGenera_documenti_app::crea_riga(const TString& codart, const char modpas, if (prinbo) rdoc.put(RDOC_PREZZO,rcont.get_real(LVRCONDV_PRZDTTMP)); //prezzo - //recupero i valori delle dotazione temporanea dal magazzino del cliente - TLocalisamfile magcli(LF_CLIFOGIAC); - magcli.put(CLIFOGIAC_ANNOES, doc.get_date(DOC_DATADOC).year()); - magcli.put(CLIFOGIAC_TIPOCF, 'C'); - magcli.put(CLIFOGIAC_CODCF, codcli); - magcli.put(CLIFOGIAC_INDSPED, 0); //in realtà è da leggere dal contratto - magcli.put(CLIFOGIAC_CODART, codart); - magcli.put(CLIFOGIAC_NRIGA, 1); - //leggo il record corrispondente - magcli.read(); - long dottmp = magcli.get_long(CLIFOGIAC_DOTTM); - long dotod = magcli.get_long(CLIFOGIAC_DOTOD); - //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 @@ -289,7 +289,11 @@ void TGenera_documenti_app::crea_riga(const TString& codart, const char modpas, rdoc.put(RDOC_GENERATA, true); rdoc.put(RDOC_CODAGG1, ini_get_string(CONFIG_DITTA, "lv", "CAULVRITDT")); dottmp = 0; - dotod -= qta.integer(); + dotod -= dottmp; + TString str; + str << "L'articolo " << codart << " inserito nel documento " << doc.get(DOC_CODNUM) << "-" << doc.get(DOC_TIPODOC) + << " numero " << doc.get(DOC_NDOC) << " in dotazione è stato ritirato completamente."; + rep.log(1, str); } else { @@ -306,17 +310,6 @@ void TGenera_documenti_app::crea_riga(const TString& codart, const char modpas, qta = ZERO; } - //riscrivo la dotazione temporanea aggiornata - magcli.put(CLIFOGIAC_ANNOES, doc.get_date(DOC_DATADOC).year()); - magcli.put(CLIFOGIAC_TIPOCF, 'C'); - magcli.put(CLIFOGIAC_CODCF, codcli); - magcli.put(CLIFOGIAC_INDSPED, 0); //in realtà è da leggere dal contratto - magcli.put(CLIFOGIAC_CODART, codart); - magcli.put(CLIFOGIAC_NRIGA, 1); - magcli.put(CLIFOGIAC_DOTTM, dottmp); - magcli.put(CLIFOGIAC_DOTOD, dotod); - magcli.rewrite(); - //scrivo il magazzino TString8 magazzino; TString8 magazzinoc; @@ -326,7 +319,6 @@ void TGenera_documenti_app::crea_riga(const TString& codart, const char modpas, rdoc.put(RDOC_CODMAG, magazzino); rdoc.put(RDOC_CODMAGC, magazzinoc); - rdoc.put(RDOC_PREZZO, przdttmp); } if (qta > ZERO) @@ -355,9 +347,9 @@ void TGenera_documenti_app::crea_riga(const TString& codart, const char modpas, rdoc.put(RDOC_QTA, quantita_arr); //quantità consegnata eventualmente arrotondata //se no scrivo le quantità sbalgiate if (tmp && rcont.get_bool(LVRCONDV_RITAUDTTMP)) - rdoc.put(RDOC_QTAGG1, qta); //quantità ritirata + rdoc.put(RDOC_QTAGG1, qta); //quantità ritirata else - rdoc.put(RDOC_QTAGG1, qta1); //quantità ritirata + rdoc.put(RDOC_QTAGG1, qta1); //quantità ritirata rdoc.put(RDOC_QTAGG2, conguaglio); //conguaglio rdoc.put(RDOC_QTAGG3, quantita_arr); //copia della quantità consegnata rdoc.put(RDOC_QTAGG4, quantita_noarr); //quantità che avrei consegnato se non arrotondavo (qta ritirata) @@ -689,7 +681,7 @@ bool TGenera_documenti_app::transfer() long codcli = _msk->get_long(F_CODCF); - TLog_report rep("Articoli non in contratto"); + TLog_report rep("Riepilogo associazioni"); rep.kill_duplicates(true); //preparo un recordset che contiene tutti planning per cui voglio creare i documenti relativi