From 97729484de76b26ff27dc29ba44565e9d2c7a1da Mon Sep 17 00:00:00 2001 From: luca83 Date: Fri, 13 Nov 2009 16:01:46 +0000 Subject: [PATCH] =?UTF-8?q?Patch=20level=20=20=20=20=20=20=20=20=20:=2010.?= =?UTF-8?q?0=20patch=20516=20Files=20correlati=20=20=20=20=20:=20lv0=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:=20E.=20Contratto=201)=20Non=20mi=20salva=20il?= =?UTF-8?q?=20=C2=93ritiro=20in=20dotazione=20temporanea=C2=94=20messo=20s?= =?UTF-8?q?ulle=20righe=20del=20contratto=20dall=C2=92elenco=20righe=20ma?= =?UTF-8?q?=20solo=20se=20vado=20nel=20dettaglio=20degli=20articoli?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 5) Se entro in modifica di un contratto e cambio un codice articolo mi chiede se sono sicuro ma se dico di si non lo aggiorna , se dico di no lo aggiorna. Deve essere il contrario git-svn-id: svn://10.65.10.50/trunk@19624 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- lv/lv0400.cpp | 44 +++++++++++++++++++++++++++++++++----------- 1 file changed, 33 insertions(+), 11 deletions(-) diff --git a/lv/lv0400.cpp b/lv/lv0400.cpp index 07ad48cb4..4fa1e56a3 100755 --- a/lv/lv0400.cpp +++ b/lv/lv0400.cpp @@ -370,7 +370,27 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly if (field(F_RITAUDTTMP).get()[0] != 'X') { warning_box("E' necessario prima attivare il ritiro automatico della dotazione temporanea in testata"); - o.set(""); + o.set(""); + } + } + + if (e == fe_modify) + { + TSheet_field& ss = sfield(F_RIGHE); + const int sel = ss.selected(); + + if (sel >= 0) + { + const int index = ss.cid2index(S_RITAUDTTMP); + + const char* oldval = ss.row(sel).get(index); + const TString& newval = o.get(); + if (newval != oldval) + { + ss.sheet_mask().set(S_RITAUDTTMP,newval); + ss.row(sel).add(newval,index); + ss.force_update(sel); + } } } } @@ -468,15 +488,16 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly //e lascio tutto invariato if (_artrig.full() && codart != _artrig) { - if (yesno_box("Si desidera veramente modificare l'articolo %s",(const char*) _artrig)) - { - m.set(S_CODART, _artrig); - TToken_string& row = ss.row(ss.selected()); - row.add(_artrig, 0); - ss.force_update(ss.selected()); - } - else - _artrig = codart; + if (yesno_box("Si desidera veramente modificare l'articolo %s",(const char*) _artrig)) + _artrig = codart; + + else + { + m.set(S_CODART, _artrig); + TToken_string& row = ss.row(ss.selected()); + row.add(_artrig, 0); + ss.force_update(ss.selected()); + } } //se all'articolo è associata un'unità di misura, la propongo //in automatico e richiamo il metodo ON_ART_SELECT(); altrimenti lo richiamo @@ -547,6 +568,7 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly { TSheet_field& ss = sfield(F_RIGHE); const int sel = ss.selected(); + if (sel >= 0) { const short rowid = o.dlg() - 400; @@ -858,7 +880,7 @@ int TContratti_app::read(TMask& m) //estraggo il record corrispondente su LF_CLIFOGIAC TArticolo_lavanderie& artrec = cached_article_laundry(codart, 'C', clifo, indsp); - artrec.find_rec(0); //svuoto la ccahe a forza + artrec.find_rec(0); //svuoto la cache a forza const TRecmag_lavanderie& reclav = artrec.find_rec(year); //lettura dei dati da LF_CLIFOGIAC //se esiste il record su LF_CLIFOGIAC, recupero l'unità di misura dalla riga dello sheet selezionata