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
This commit is contained in:
luca83 2009-09-08 14:30:07 +00:00
parent b8ee5c499d
commit 00338c0d4f

View File

@ -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