From b2333118c6f72626d6c1e937014d1e3a0c66777e Mon Sep 17 00:00:00 2001 From: guy Date: Thu, 26 Nov 2009 16:51:56 +0000 Subject: [PATCH] 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 --- lv/lv3400.cpp | 106 +++++++++++++++++++++++++++++-------------------- lv/lv3400a.h | 13 +++--- lv/lv3400a.uml | 5 +++ 3 files changed, 74 insertions(+), 50 deletions(-) diff --git a/lv/lv3400.cpp b/lv/lv3400.cpp index dbeb4ead1..5d64a4949 100755 --- a/lv/lv3400.cpp +++ b/lv/lv3400.cpp @@ -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 { diff --git a/lv/lv3400a.h b/lv/lv3400a.h index fc58a3ee9..32d2c0a09 100755 --- a/lv/lv3400a.h +++ b/lv/lv3400a.h @@ -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 diff --git a/lv/lv3400a.uml b/lv/lv3400a.uml index 1cf1879c4..4d5baa4a6 100755 --- a/lv/lv3400a.uml +++ b/lv/lv3400a.uml @@ -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