diff --git a/ve/ve0100.cpp b/ve/ve0100.cpp index b90b9590f..196dc3edf 100755 --- a/ve/ve0100.cpp +++ b/ve/ve0100.cpp @@ -349,14 +349,17 @@ void TMotore_application::sheet2ini(TSheet_field &sheet,TConfig& ini) { defpar.format("%d,%d",LF_RIGHEDOC,r); const TMask * sm = m.riga_mask(r-1); - + const TToken_string rigar = sheet.row(r-1); for (int sf = 0; sf < sm->fields(); sf++) { TMask_field& campo = sm->fld(sf); if (campo.shown() && campo.field()) { - str = sheet.row(r-1).get(sheet.cid2index(campo.dlg())); - if (str.empty()) str = " "; + // str = sheet.row(r-1).get(sheet.cid2index(campo.dlg())); + const short id = campo.dlg(); + rigar.get(sheet.cid2index(id), str); + if (str.empty()) + str = " "; const word field_class = campo.class_id(); if (field_class == CLASS_MEMO_FIELD || field_class == CLASS_ZOOM_FIELD) @@ -449,15 +452,15 @@ void TMotore_application::ini2mask(TConfig& ini, TMask& msk, bool query) split_pos = descr_len; if (split_pos > 0) { - rec.put( "DESCR", s.left(split_pos)); - rec.put("DESCLUNGA", "X"); - rec.put("DESCEST", s.mid(split_pos)); + rec.put(RDOC_DESCR, s.left(split_pos)); + rec.put(RDOC_DESCLUNGA, "X"); + rec.put(RDOC_DESCEST, s.mid(split_pos)); } else { - rec.put("DESCR", s); - rec.put("DESCLUNGA", ""); - rec.zero("DESCEST"); + rec.put(RDOC_DESCR, s); + rec.put(RDOC_DESCLUNGA, ""); + rec.zero(RDOC_DESCEST); } } diff --git a/ve/ve5400.uml b/ve/ve5400.uml index a6fc21225..dfa59d569 100755 --- a/ve/ve5400.uml +++ b/ve/ve5400.uml @@ -55,6 +55,7 @@ BEGIN OUTPUT F_FROM_NUM CODTAB OUTPUT F_FROM_DES S0 CHECKTYPE REQUIRED + ADD NONE FIELD CODNUM END diff --git a/ve/velib02.cpp b/ve/velib02.cpp index fb196f289..d85b42f10 100755 --- a/ve/velib02.cpp +++ b/ve/velib02.cpp @@ -730,7 +730,7 @@ void TRiga_documento::put_str(const char* fieldname, const char* val) bool TRiga_documento::is_articolo() const { const char t = tipo().tipo(); - return (t == RIGA_MERCE || t == RIGA_OMAGGI) && get("CODARTMAG").not_empty(); + return (t == RIGA_MERCE || t == RIGA_OMAGGI) && get(RDOC_CODARTMAG).not_empty(); } void TRiga_documento::zero(const char * fieldname) diff --git a/ve/velib06a.cpp b/ve/velib06a.cpp index 474d0d94e..66dbd1880 100755 --- a/ve/velib06a.cpp +++ b/ve/velib06a.cpp @@ -838,29 +838,23 @@ void set_curr_um(const TMask & m) bool umart_handler( TMask_field& f, KEY key ) { + TMask& row_mask = f.mask( ); + TDocumento_mask & mask = (TDocumento_mask &) row_mask.get_sheet()->mask(); // Se qualcuno cerca di modificare la maschera - if ( key == K_TAB && f.focusdirty()) + if ( key == K_TAB && f.focusdirty() && mask.is_running()) { - TMask& row_mask = f.mask( ); - TDocumento_mask & mask = (TDocumento_mask &) row_mask.get_sheet()->mask(); TSheet_field& sh = (TSheet_field &)mask.field(F_SHEET); const int current_doc_row = sh.selected() + 1; -// TLocalisamfile & anamag = ((TEdit_field &) row_mask.field(FR_CODART)).browse()->cursor()->file(); -// TLocalisamfile & umart = ((TEdit_field &) f).browse()->cursor()->file(); - TLocalisamfile anamag(LF_ANAMAG); - TLocalisamfile umart(LF_UMART); - TCond_vendita & condv = mask.condv(); - -// condv.set_testa(&mask); - condv.set_riga(&row_mask); -// condv.set_anamag(anamag); -// condv.set_umart(umart); - const TString16 um(f.get()); + TCond_vendita & condv = mask.condv(); + condv.set_riga(&row_mask); + + const TString& um = f.get(); real fc(1.0); if (um.not_empty() && curr_um.not_empty() && um != curr_um) { + TLocalisamfile umart(LF_UMART); umart.setkey(2); umart.put(UMART_CODART, row_mask.get(FR_CODARTMAG)); umart.put(UMART_UM, um);