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

View File

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

View File

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