Patch level : 10.0 patch 528

Files correlati     : lv3 lv3400a.msk
Ricompilazione Demo : [ ]
Commento            :
Correzioni Evasione Terminalino


git-svn-id: svn://10.65.10.50/trunk@19672 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2009-11-26 16:51:56 +00:00
parent 6a8bcc8d25
commit b2333118c6
3 changed files with 74 additions and 50 deletions

View File

@ -648,62 +648,79 @@ void TEvasione_ter_msk::evadi_da_terminale()
const TRiga_pacco rp(codpacco);
const TString80 codart = rp.articolo();
const long qtapacco = rp.quantita().integer();
//se il pacco è già stato pistolettato lo tolgo dai pacchi da evadere, altrimenti cerco di sommarlo
//a una riga documento esistente
if (_pacchi.is_key(codpacco))
if (qtapacco <= 0)
{
_pacchi.remove(codpacco);
TToken_string key;
key.add(codart);
key.add(oggi);
if (_ra.is_key(key))
{
TQuantita_riga& qr = *(TQuantita_riga*)_ra.objptr(key);
qr.add_pacchi(-1);
qr.add_qta_con(-1 * qtapacco);
if (qr.get_evaso())
qr.set_evaso(false);
}
warning_box(TR("Il pacco non esiste a magazzino"));
warning_box(TR("Non è stato possibile sommare il pacco a nessuna riga del buono"));
}
else
{
TDoc_key kdoc(get_date(F_TDATADOC).year(), ini_get_string(CONFIG_DITTA, "lv", "NUM_PRE", NULL, 0), get_int(F_TNDOC));
TToken_string key;
key.add(codart);
key.add(oggi);
if (_ra.is_key(key))
//se il pacco è già stato pistolettato lo tolgo dai pacchi da evadere, altrimenti cerco di sommarlo
//a una riga documento esistente
if (_pacchi.is_key(codpacco))
{
TQuantita_riga& qr = *(TQuantita_riga*)_ra.objptr(key);
_pacchi.remove(codpacco);
if (qr.get_evaso())
TToken_string key;
key.add(codart);
key.add(oggi);
if (_ra.is_key(key))
{
if(yesno_box(TR("Si desidera sommare il pacco a una riga già evasa?")))
TQuantita_riga& qr = *(TQuantita_riga*)_ra.objptr(key);
qr.add_pacchi(-1);
qr.add_qta_con(-1 * qtapacco);
if (qr.get_evaso())
qr.set_evaso(false);
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());
}
}
else
{
TToken_string key;
key.add(codart);
key.add(oggi);
if (_ra.is_key(key))
{
TQuantita_riga& qr = *(TQuantita_riga*)_ra.objptr(key);
if (qr.get_evaso())
{
if(yesno_box(TR("Si desidera sommare il pacco a una riga già evasa?")))
{
qr.add_pacchi();
qr.add_qta_con(qtapacco);
}
}
else
{
qr.add_pacchi();
qr.add_qta_con(qtapacco);
}
}
else
{
qr.add_pacchi();
qr.add_qta_con(qtapacco);
if(qr.get_qta_con() > qr.get_qta_da_con())
{
warning_box(TR("ATTENZIONE: si sta consegnando un quantitativo maggiore al dovuto"));
qr.set_evaso(true);
if(qr.get_qta_con() > qr.get_qta_da_con())
{
warning_box(TR("ATTENZIONE: si sta consegnando un quantitativo maggiore al dovuto"));
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());
}
_pacchi.add(codpacco, kdoc);
else
warning_box(TR("Non è stato possibile sommare il pacco a nessuna riga del buono"));
}
else
warning_box(TR("Non è stato possibile sommare il pacco a nessuna riga del buono"));
}
}
}
@ -773,6 +790,8 @@ bool TEvasione_ter_msk::on_field_event(TOperable_field& f, TField_event e, long
hide(F_TRIGHE);
field(F_TBARCODE).set_focus();
_autoselect = 1;
return false;
}
@ -795,8 +814,6 @@ bool TEvasione_ter_msk::on_field_event(TOperable_field& f, TField_event e, long
hide(F_TANNO);
hide(F_TDATAPRCO);
update();
show(F_TCODCF);
show(F_TRAGSOC);
show(F_TBARCODE);
@ -806,6 +823,9 @@ bool TEvasione_ter_msk::on_field_event(TOperable_field& f, TField_event e, long
show(F_TQTADACON);
precarica_righe();
_autoselect = 1;
field(F_TDATADOC).set_focus();
}
else
{

View File

@ -8,13 +8,12 @@
#define F_TDATAPRCO 407
#define F_TCODCF 408
#define F_TRAGSOC 409
#define F_TDATADOC1 411
#define F_TBARCODE 412
#define F_TPACCHI 413
#define F_TQTAPACCO 414
#define F_TQTACON 415
#define F_TQTADACON 416
#define F_TRIGHE 417
#define F_TBARCODE 410
#define F_TPACCHI 411
#define F_TQTAPACCO 412
#define F_TQTACON 413
#define F_TQTADACON 414
#define F_TRIGHE 415
#define S_TCODART 101
#define S_TDACONS 102

View File

@ -125,21 +125,25 @@ END
NUMBER F_TPACCHI 6
BEGIN
PROMPT 1 5 "Pacchi "
FLAGS "D"
END
NUMBER F_TQTAPACCO 6
BEGIN
PROMPT 1 6 "Quantità pacco"
FLAGS "D"
END
NUMBER F_TQTACON 6
BEGIN
PROMPT 1 7 "Quantità Cons."
FLAGS "D"
END
NUMBER F_TQTADACON 6
BEGIN
PROMPT 1 8 "Da Consegnare "
FLAGS "D"
END
SPREADSHEET F_TRIGHE
@ -172,6 +176,7 @@ END
NUMBER S_TCONS 6
BEGIN
PROMPT 1 3 "Quantità Cons."
FLAGS "D"
END
ENDPAGE