Привет.
Никак не могу понять что у определенного поля у таблицы может быть два fieldid.
И под обоими оно находится через:
X++:
new DictField(_tableId, _fieldId).dictField.name()
fieldId2name(_tableId, _fieldId)
Важно: данное поле не стоковое, а новое - созданное.
Вот код:
X++:
int id;
str name;
str _fieldName(tableId _tableId, fieldId _fieldId)
{
DictField dictField = new DictField(_tableId, _fieldId);
str ret;
;
if (dictField)
ret = dictField.name();
return ret;
}
;
id = fieldNum(smmActivities, NewField);
info(strFmt("field name (%1) = %2", id, fieldId2name(tableNum(smmActivities), id)));
info(strFmt("field name (%1) = %2", 115539, fieldId2name(tableNum(smmActivities), 115539)));
info(strFmt("field name (%1) = %2", 115539, _fieldName(tableNum(smmActivities), 115539)));
Его выполнение дает результат:
Цитата:
field name (50003) = NewField
field name (115539) = NewField
field name (115539) = NewField
Т.е. получается у таблицы smmActivities есть новое поле NewField
которое одинакого находится под id 50003 и 115539.
Посмотрел в таблице SqlDictinary в SQL под данным именем существует только запись с id 50003.
Вопрос, что за виртуальный номер 115539 ?
Кто нибуль сталкивался с таким?