|
![]() |
#1 |
Участник
|
Как определить fieldId в relation расширенного типа
Доброго всем времени суток. Подскажите как определить fieldId в releation'е расширенного типа. DictRelation содержит только tableid а fieldid ни как не могу найти. Поэтому приходится перебирать все поля таблицы чтобы определить поле с таким типом. Мне кажется это немного коряво, моэет есть более простой способ?
|
|
![]() |
#2 |
Участник
|
Лучше расскажите, "как вы дошли до жизни такой"
![]() |
|
![]() |
#3 |
Боец
|
Цитата:
Сообщение от IvanS
![]() Доброго всем времени суток. Подскажите как определить fieldId в releation'е расширенного типа. DictRelation содержит только tableid а fieldid ни как не могу найти. Поэтому приходится перебирать все поля таблицы чтобы определить поле с таким типом. Мне кажется это немного коряво, моэет есть более простой способ?
X++: //EVO static void EDT_Relation(Args _args) { DictRelation dr ; DictType dt; ; dt = new DictType(typeId2ExtendedTypeId(typeid(CustAccount))); dr = dt.relationObject(1); info(strFmt("TableId: %1 FieldId: %2", dr.lineTableValue(1), dr.lineExternTableValue(1))); } |
|
|
За это сообщение автора поблагодарили: IvanS (1). |
![]() |
#4 |
Участник
|
Цитата:
|
|
![]() |
#5 |
Участник
|
Хотя так написал так же все работает нормально
![]() |
|
![]() |
#6 |
Участник
|
А еще вопрос в этом же направлении как можно быстро проверить есть ли поле в таблице по названию или нет без перебора?
|
|
![]() |
#7 |
Боец
|
Цитата:
X++: if (new DictTable(tablenum(InventTable)).fieldName2Id("ItemId")) { info("The field exists"); } Но, расскажите, что вы такое интересное делаете? ![]() |
|
![]() |
#8 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: IvanS (1), alex55 (1). |
![]() |
#9 |
Боец
|
|
|
Теги |
edt, extended data type, fieldid, relation |
|
|