From 0a312921362447400ef5ccb6ae478d1439f9fc58 Mon Sep 17 00:00:00 2001 From: luca83 Date: Wed, 14 Oct 2009 09:48:45 +0000 Subject: [PATCH] =?UTF-8?q?Patch=20level=20=20=20=20=20=20=20=20=20:=2010.?= =?UTF-8?q?0=20patch=20471=20Files=20correlati=20=20=20=20=20:=20lv3=20Ric?= =?UTF-8?q?ompilazione=20Demo=20:=20[=20]=20Commento=20=20=20=20=20=20=20?= =?UTF-8?q?=20=20=20=20=20:=200001470:=20gestione=20documenti=20Descrizion?= =?UTF-8?q?e=20=20se=20clicco=20nuovo=20nel=20programma=20bolle=20si=20apr?= =?UTF-8?q?e=20il=20programma=20del=20dettaglio=20righe=20e=20si=20posizio?= =?UTF-8?q?na=20sul=20codice=20cliente=20e=20sul=20dettaglio=20non=20ci=20?= =?UTF-8?q?sono=20righe.=20Se=20premo=20annulla=20ed=20poi=20riclicco=20nu?= =?UTF-8?q?ovo=20si=20posiziona=20sulla=20prima=20riga=20che=20ora=20c'?= =?UTF-8?q?=C3=A8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://10.65.10.50/trunk@19439 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- lv/lv3100.cpp | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/lv/lv3100.cpp b/lv/lv3100.cpp index 180293706..af969e2b0 100755 --- a/lv/lv3100.cpp +++ b/lv/lv3100.cpp @@ -377,10 +377,13 @@ void TGestione_bolle_msk:: on_idle() if (_autoselect >= 0) { TSheet_field& s = sfield(F_SHEET); - //per ora 4 fisso perchè non sappiamo calcolare la colonna del ritirato - s.set_focus_cell_id(_autoselect, FR_QTAGG1); + if (_autoselect < s.items()) + { + //per ora 4 fisso perchè non sappiamo calcolare la colonna del ritirato + s.set_focus_cell_id(_autoselect, FR_QTAGG1); + dettaglio_causale(s); + } _autoselect = -1; - dettaglio_causale(s); } } @@ -391,8 +394,8 @@ bool TGestione_bolle_msk::ss_notify(TSheet_field& ss, int r, KEY key) { TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&) ss.mask(); - if (key == K_TAB && dmsk._autoselect == -1) - dmsk._autoselect = ss.selected(); //riga per settare il focus + if (key == K_TAB && dmsk._autoselect < 0 && dmsk.is_running()) + dmsk._autoselect = r; //riga per settare il focus return TDocumento_mask::ss_notify(ss, r, key); } @@ -1359,16 +1362,18 @@ int TGestione_bolle_app::rewrite( const TMask& m ) int TGestione_bolle_app::read(TMask& m) { const int err = TMotore_application::read(m); - - TGestione_bolle_msk& mask = (TGestione_bolle_msk&) m; - TDocumento& d = mask.doc(); - - _giac.reset(d); - FOR_EACH_DOC_ROW_BACK(d, r, row) - _giac.load_row((TRiga_documento&)*row); - + if (err == NOERR) + { + TGestione_bolle_msk& mask = (TGestione_bolle_msk&) m; + TDocumento& d = mask.doc(); + + _giac.reset(d); + FOR_EACH_DOC_ROW_BACK(d, r, row) + _giac.load_row((TRiga_documento&)*row); + mask._autoselect = 0; + } return err; }