diff --git a/ve/velib06a.cpp b/ve/velib06a.cpp index f82703f30..93abedfe8 100755 --- a/ve/velib06a.cpp +++ b/ve/velib06a.cpp @@ -1696,13 +1696,21 @@ bool codart_handler(TMask_field& f, KEY key ) int pos = row_mask.id2pos(id); if (pos >= 0 && row_mask.fld(pos).get().blank()) - row_mask.fld(pos).set(anamag.get(ANAMAG_SCACONTR).smid(type * 4, 4)); + { + const int lognum = anamag.num(); + const TFieldref fr(conai_sottocat_name(type, lognum), lognum); + row_mask.fld(pos).set(fr.read(anamag)); + } id = conai_peso_id(type); pos = row_mask.id2pos(id); if (pos >= 0 && row_mask.fld(pos).get().blank()) - row_mask.fld(pos).set(anamag.get(conai_peso_name(type, LF_ANAMAG))); + { + const int lognum = anamag.num(); + const TFieldref fr(conai_peso_name(type, lognum), lognum); + row_mask.fld(pos).set(fr.read(anamag)); + } } const int pos = row_mask.id2pos(FR_CODIVA);