Patch level : 10.0 patch 471

Files correlati     : lv3
Ricompilazione Demo : [ ]
Commento            :
0001470: gestione documenti
Descrizione  se clicco nuovo nel programma bolle si apre il programma del dettaglio righe e si posiziona sul codice cliente e sul dettaglio non ci sono righe.
Se premo annulla ed poi riclicco nuovo si posiziona sulla prima riga che ora c'è.


git-svn-id: svn://10.65.10.50/trunk@19439 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2009-10-14 09:48:45 +00:00
parent 23b32066dd
commit 0a31292136

View File

@ -377,11 +377,14 @@ void TGestione_bolle_msk:: on_idle()
if (_autoselect >= 0) if (_autoselect >= 0)
{ {
TSheet_field& s = sfield(F_SHEET); TSheet_field& s = sfield(F_SHEET);
if (_autoselect < s.items())
{
//per ora 4 fisso perchè non sappiamo calcolare la colonna del ritirato //per ora 4 fisso perchè non sappiamo calcolare la colonna del ritirato
s.set_focus_cell_id(_autoselect, FR_QTAGG1); s.set_focus_cell_id(_autoselect, FR_QTAGG1);
_autoselect = -1;
dettaglio_causale(s); dettaglio_causale(s);
} }
_autoselect = -1;
}
} }
//magico metodo per settare, al cambio riga dello sheet, il focus sul campo desiderato (il campo in questione è.. //magico metodo per settare, al cambio riga dello sheet, il focus sul campo desiderato (il campo in questione è..
@ -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(); TGestione_bolle_msk& dmsk = (TGestione_bolle_msk&) ss.mask();
if (key == K_TAB && dmsk._autoselect == -1) if (key == K_TAB && dmsk._autoselect < 0 && dmsk.is_running())
dmsk._autoselect = ss.selected(); //riga per settare il focus dmsk._autoselect = r; //riga per settare il focus
return TDocumento_mask::ss_notify(ss, r, key); return TDocumento_mask::ss_notify(ss, r, key);
} }
@ -1360,6 +1363,8 @@ int TGestione_bolle_app::read(TMask& m)
{ {
const int err = TMotore_application::read(m); const int err = TMotore_application::read(m);
if (err == NOERR)
{
TGestione_bolle_msk& mask = (TGestione_bolle_msk&) m; TGestione_bolle_msk& mask = (TGestione_bolle_msk&) m;
TDocumento& d = mask.doc(); TDocumento& d = mask.doc();
@ -1367,8 +1372,8 @@ int TGestione_bolle_app::read(TMask& m)
FOR_EACH_DOC_ROW_BACK(d, r, row) FOR_EACH_DOC_ROW_BACK(d, r, row)
_giac.load_row((TRiga_documento&)*row); _giac.load_row((TRiga_documento&)*row);
if (err == NOERR)
mask._autoselect = 0; mask._autoselect = 0;
}
return err; return err;
} }