Patch level : 10.0 patch ???
Files correlati : lv3 Ricompilazione Demo : [ ] Commento : Corretta la gestione dell'avasione di un quantitativo di roba maggiore al dovuto git-svn-id: svn://10.65.10.50/trunk@20326 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
bccbb6c7e7
commit
14ea075d9c
105
lv/lv3400.cpp
105
lv/lv3400.cpp
@ -998,17 +998,17 @@ void TEvasione_ter_msk::evadi_da_terminale()
|
||||
}
|
||||
else
|
||||
{
|
||||
bool trovato = false;
|
||||
bool trovato = false;
|
||||
bool trovato2 = false;
|
||||
bool associato = false;
|
||||
bool evaso1 = false;
|
||||
bool evaso2 = false;
|
||||
bool evaso1 = false;
|
||||
bool evaso2 = false;
|
||||
|
||||
TToken_string chiave1;
|
||||
TToken_string chiave2;
|
||||
|
||||
FOR_EACH_ASSOC_OBJECT(_ra, obj, key, itm)
|
||||
{
|
||||
//TString& tmp = *(TString*)key;
|
||||
chiave1 = key;
|
||||
//se trovo una riga di quell'artticolo allora
|
||||
TString cod = chiave1.get(0);
|
||||
@ -1036,9 +1036,9 @@ void TEvasione_ter_msk::evadi_da_terminale()
|
||||
set(F_TQTACON, qr.get_qta_con());
|
||||
set(F_TQTADACON, qr.get_qta_da_con());
|
||||
set(F_CODART, rp.articolo());
|
||||
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1046,15 +1046,13 @@ void TEvasione_ter_msk::evadi_da_terminale()
|
||||
//cerco un eventuale altra riga per quell'articolo
|
||||
if(trovato && !associato)
|
||||
{
|
||||
trovato = false;
|
||||
|
||||
FOR_EACH_ASSOC_OBJECT(_ra, obj, key, itm)
|
||||
{
|
||||
chiave2 = *(TToken_string*)key;
|
||||
chiave2 = key;
|
||||
//se trovo una riga di quell'artticolo allora
|
||||
if(chiave2.get(0) == codart && chiave1 != chiave2)
|
||||
{
|
||||
trovato = true;
|
||||
trovato2 = true;
|
||||
TQuantita_riga& qr = *(TQuantita_riga*)_ra.objptr(key);
|
||||
|
||||
//se la riga trovata non è già evasa e manca da consegnare almeno la qta
|
||||
@ -1084,46 +1082,71 @@ void TEvasione_ter_msk::evadi_da_terminale()
|
||||
}
|
||||
|
||||
//se risulta ancora trovato, ma non associato, allora lo associo alla riga non ancora evasa
|
||||
if(trovato && !associato)
|
||||
if(trovato2 && !associato)
|
||||
{
|
||||
TQuantita_riga qr;
|
||||
if(!evaso1)
|
||||
{
|
||||
qr = *(TQuantita_riga*)_ra.objptr(chiave1);
|
||||
kdoc.add(chiave1.get(2));
|
||||
kdoc.add(chiave1.get(2));
|
||||
qr.add_pacchi();
|
||||
qr.add_qta_con(qtapacco);
|
||||
|
||||
if(qr.get_qta_con() >= qr.get_qta_da_con())
|
||||
qr.set_evaso(true);
|
||||
|
||||
_pacchi.add(codpacco, kdoc);
|
||||
set(F_TPACCHI, qr.get_pacchi());
|
||||
set(F_TQTAPACCO, qtapacco);
|
||||
set(F_TQTACON, qr.get_qta_con());
|
||||
set(F_TQTADACON, qr.get_qta_da_con());
|
||||
set(F_CODART, rp.articolo());
|
||||
}
|
||||
else if(!evaso2)
|
||||
{
|
||||
qr = *(TQuantita_riga*)_ra.objptr(chiave2);
|
||||
kdoc.add(chiave2.get(2));
|
||||
qr.add_pacchi();
|
||||
qr.add_qta_con(qtapacco);
|
||||
|
||||
if(qr.get_qta_con() >= qr.get_qta_da_con())
|
||||
qr.set_evaso(true);
|
||||
|
||||
_pacchi.add(codpacco, kdoc);
|
||||
set(F_TPACCHI, qr.get_pacchi());
|
||||
set(F_TQTAPACCO, qtapacco);
|
||||
set(F_TQTACON, qr.get_qta_con());
|
||||
set(F_TQTADACON, qr.get_qta_da_con());
|
||||
set(F_CODART, rp.articolo());
|
||||
}
|
||||
}
|
||||
|
||||
//se non è ancora associato e entrambe le righe risultano evase oppure c'è una riga sola
|
||||
//allora sommo alla prima (o unica) riga se l'utente lo desidera
|
||||
if(!associato && ((evaso1 && evaso2)||!trovato2))
|
||||
{
|
||||
TQuantita_riga qr;
|
||||
if(yesno_box(TR("Si desidera sommare il pacco ad un riga già evasa?")))
|
||||
{
|
||||
qr = *(TQuantita_riga*)_ra.objptr(chiave1);
|
||||
kdoc.add(chiave1.get(2));
|
||||
qr.add_pacchi();
|
||||
qr.add_qta_con(qtapacco);
|
||||
|
||||
if(qr.get_qta_con() >= qr.get_qta_da_con())
|
||||
qr.set_evaso(true);
|
||||
|
||||
_pacchi.add(codpacco, kdoc);
|
||||
set(F_TPACCHI, qr.get_pacchi());
|
||||
set(F_TQTAPACCO, qtapacco);
|
||||
set(F_TQTACON, qr.get_qta_con());
|
||||
set(F_TQTADACON, qr.get_qta_da_con());
|
||||
set(F_CODART, rp.articolo());
|
||||
}
|
||||
else
|
||||
if(!evaso2)
|
||||
{
|
||||
qr = *(TQuantita_riga*)_ra.objptr(chiave2);
|
||||
kdoc.add(chiave2.get(2));
|
||||
}
|
||||
else
|
||||
if(yesno_box(TR("Si desidera sommare il pacco ad un riga già evasa?")))
|
||||
{
|
||||
qr = *(TQuantita_riga*)_ra.objptr(chiave1);
|
||||
kdoc.add(chiave1.get(2));
|
||||
}
|
||||
else
|
||||
return;
|
||||
|
||||
qr.add_pacchi();
|
||||
qr.add_qta_con(qtapacco);
|
||||
|
||||
if(qr.get_qta_con() > qr.get_qta_da_con())
|
||||
|
||||
|
||||
if(qr.get_qta_con() >= qr.get_qta_da_con())
|
||||
qr.set_evaso(true);
|
||||
|
||||
_pacchi.add(codpacco, kdoc);
|
||||
set(F_TPACCHI, qr.get_pacchi());
|
||||
set(F_TQTAPACCO, qtapacco);
|
||||
set(F_TQTACON, qr.get_qta_con());
|
||||
set(F_TQTADACON, qr.get_qta_da_con());
|
||||
set(F_CODART, rp.articolo());
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if(!trovato)
|
||||
{
|
||||
TDoc_key kdoc(get_date(F_TDATADOC).year(), ini_get_string(CONFIG_DITTA, "lv", "NUM_PRE", NULL, 0), get_long(F_TNDOC));
|
||||
|
Loading…
x
Reference in New Issue
Block a user