Patch level : 10.0 patch 413
Files correlati : lv2 lv3 Ricompilazione Demo : [ ] Commento : 7) Quando inserisco un articolo fuori contratto in bolla (sia una bolla manuale che la generazione buoni di consegna da buoni di ritiro) il programma dovrebbe prendere il prezzo nello stesso modo in cui lo prende il programma dei contratti con un articolo nuovo git-svn-id: svn://10.65.10.50/trunk@19203 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
879ef7ba98
commit
aeb78aded9
@ -10,6 +10,7 @@
|
||||
#include "lvrcondv.h"
|
||||
#include "lvrconsplan.h"
|
||||
#include "../mg/clifogiac.h"
|
||||
#include "../ve/rcondv.h"
|
||||
|
||||
#define FOR_EACH_DOC_ROW_BACK(d, r, row) const TRiga_documento* row = NULL; for (int r = d.rows(); r > 0 && (row = &d[r]) != NULL; r--)
|
||||
|
||||
@ -668,6 +669,7 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k)
|
||||
rdoc.put(RDOC_SCONTO, sconto);
|
||||
//controllo da dove devo prendere il prezzo
|
||||
real prezzo;
|
||||
|
||||
if (tplis == 0)
|
||||
prezzo = rcont.get(LVRCONDV_PREZZO).as_real();
|
||||
else
|
||||
@ -871,6 +873,64 @@ bool TGestione_bolle_msk::lv_codart_handler(TMask_field& f, KEY k)
|
||||
}
|
||||
}
|
||||
|
||||
if (rcont.empty())
|
||||
{
|
||||
real prezzo;
|
||||
//PROPONI PREZZO
|
||||
TToken_string key;
|
||||
key.add('C');
|
||||
key.add(codcf);
|
||||
const TRectype& cfven = cache().get(LF_CFVEN, key);
|
||||
|
||||
bool trvlst = false;
|
||||
|
||||
if (!cfven.empty())
|
||||
{
|
||||
//se è settata la categoria merceologica, leggo sia il listino che la cat merc, altrimenti solo il listino
|
||||
TString8 codlis = cfven.get(CFV_CODLIST);
|
||||
TString8 catven;
|
||||
TConfig* configve = new TConfig(CONFIG_DITTA,"ve");
|
||||
const char gesliscv = configve->get_char("GESLISCV");
|
||||
if (gesliscv != 'X')
|
||||
catven = "";
|
||||
else
|
||||
catven = cfven.get(CFV_CATVEN);
|
||||
|
||||
//cerco il prezzo sul listino
|
||||
key.cut(0);
|
||||
key.add('L'); //tipo
|
||||
key.add(catven); //catven
|
||||
key.add(""); //tipocf
|
||||
key.add(""); //codcf
|
||||
key.add(codlis); //codlis
|
||||
key.add('A'); //tiporiga
|
||||
key.add(codart); //codriga
|
||||
key.add(""); //um
|
||||
key.add(""); //nscagl
|
||||
const TRectype& rcondv = cache().get(LF_RCONDV, key);
|
||||
|
||||
if (!rcondv.empty())
|
||||
{
|
||||
prezzo = rcondv.get_real(RCONDV_PREZZO);
|
||||
trvlst = true;
|
||||
}
|
||||
}
|
||||
|
||||
//se non ho trovato un listino, o se non c'è un listino impostato
|
||||
//propongo come prezzo il valore convenzionale
|
||||
if (!trvlst)
|
||||
{
|
||||
key.cut(0);
|
||||
key.add(codart);
|
||||
key.add(1);
|
||||
const TRectype& umart = cache().get(LF_UMART, key);
|
||||
prezzo = umart.get_real(UMART_PREZZO);
|
||||
if (umart.get(UMART_PREZZO).full())
|
||||
trvlst = true;
|
||||
}
|
||||
rdoc.put(RDOC_PREZZO, prezzo);
|
||||
}
|
||||
|
||||
//controllo se si vuole aggiungere un eventuale nuovo articolo al contratto
|
||||
if (cont.get_int(LVCONDV_CODCONT) <= 0)
|
||||
warning_box(TR("ATTENZIONE: stai generando una bolla per un clinete che non ha nessun contratto in essere"));
|
||||
|
Loading…
x
Reference in New Issue
Block a user