diff --git a/lv/lv0400.cpp b/lv/lv0400.cpp index ecd58ec69..78c95bdd7 100755 --- a/lv/lv0400.cpp +++ b/lv/lv0400.cpp @@ -102,11 +102,6 @@ bool TContratti_msk::on_art_select() rowmask.set(S_UM, um); } - //abilito il prezzo sempre e comunque - rowmask.enable(S_PREZZOST); - ss.enable_cell(ss.selected(), ss.cid2index(S_PREZZOST)); - ss.force_update(ss.selected()); - //se esiste il record su LF_CLIFOGIAC, recupero l'unità di misura dalla riga dello sheet selezionata //e setto i campi delle dotazioni e dei consegnati ai valori corretti riportati alla giusta unità di misura if (!reclav.empty()) @@ -302,30 +297,36 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly ss.enable_cell(r, pos_tipoforf); ss.enable_cell(r, pos_nolcic); ss.enable_cell(r, pos_vcartcli); + if (riga.get_int(pos_tipoforf) == 4) + riga.add('A', pos_vcartcli); } field(F_TIPOFORF).enable(); field(F_NOLCIC).enable(); } ss.force_update(); - if (ss.items() >= 0) - ss.select(0); + if (ss.items() > 0) + ss.select(0); // Forza aggiornamento del dettaglio di riga (saponetta) } } break; case F_TIPOFORF: { //se questo campo risulta modificato, lo copio in alto e forzo l'update - if (e == fe_modify || e == fe_init) + if (e == fe_modify/* || e == fe_init*/) { TSheet_field& ss = sfield(F_RIGHE); - TToken_string& riga = ss.row(ss.selected()); - riga.add(o.get(), ss.cid2index(S_TIPOFORF)); - if (ss.mask().get_int(F_TIPOCAN) != 2) + const int sel = ss.selected(); + if (sel >= 0) { - riga.add('A', ss.cid2index(S_VCARTCLI)); - ss.disable_cell(ss.selected(), ss.cid2index(S_VCARTCLI)); + TToken_string& riga = ss.row(sel); + riga.add(o.get(), ss.cid2index(S_TIPOFORF)); + if (ss.mask().get_int(F_TIPOCAN) != 2) + { + riga.add('A', ss.cid2index(S_VCARTCLI)); + ss.disable_cell(sel, ss.cid2index(S_VCARTCLI)); + } + ss.force_update(sel); } - ss.force_update(); } } break; @@ -345,22 +346,18 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly } } break; +/* case F_CALCCONS: - { - //Abilito/disabilito il conguaglio sulle righe nel caso opportuno - if (e == fe_modify || e == fe_init) - { - TSheet_field& ss = sfield(F_RIGHE); - - if (atoi(o.get()) == 1) - ss.enable_cell(ss.selected(), ss.cid2index(S_CONG)); - else - ss.disable_cell(ss.selected(), ss.cid2index(S_CONG)); - - ss.force_update(ss.selected()); - } + //Abilito/disabilito il conguaglio sulle righe nel caso opportuno + if (e == fe_modify || e == fe_init) + { + TSheet_field& ss = sfield(F_RIGHE); + const bool on = atoi(o.get()) == 1; + ss.enable_cell(ss.selected(), ss.cid2index(S_CONG), on); + ss.force_update(ss.selected()); } break; +*/ case S_CODART: if (!o.empty()) //se il campo risulta pieno { diff --git a/lv/lv0400a.uml b/lv/lv0400a.uml index a3d3c6446..9e6d9d10a 100755 --- a/lv/lv0400a.uml +++ b/lv/lv0400a.uml @@ -720,7 +720,6 @@ BEGIN PROMPT 2 9 "In vigore " FIELD PREZZO FLAGS "U" - GROUP 2 END CURRENCY S_PREZZORN 15