10.09.2009, 08:17 | #1 |
Участник
|
Как определить fieldId в relation расширенного типа
Доброго всем времени суток. Подскажите как определить fieldId в releation'е расширенного типа. DictRelation содержит только tableid а fieldid ни как не могу найти. Поэтому приходится перебирать все поля таблицы чтобы определить поле с таким типом. Мне кажется это немного коряво, моэет есть более простой способ?
|
|
10.09.2009, 08:35 | #2 |
Участник
|
Лучше расскажите, "как вы дошли до жизни такой" т.е. с чего возникла задача программно разбирать relation на EDT? Может, исходную задачу можно решить иначе?..
|
|
10.09.2009, 08:39 | #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). |
10.09.2009, 08:43 | #4 |
Участник
|
Цитата:
|
|
10.09.2009, 08:47 | #5 |
Участник
|
Хотя так написал так же все работает нормально Пасибо
|
|
10.09.2009, 08:48 | #6 |
Боец
|
|
|
10.09.2009, 08:50 | #7 |
Участник
|
А еще вопрос в этом же направлении как можно быстро проверить есть ли поле в таблице по названию или нет без перебора?
|
|
10.09.2009, 09:05 | #8 |
Боец
|
Цитата:
X++: if (new DictTable(tablenum(InventTable)).fieldName2Id("ItemId")) { info("The field exists"); } Но, расскажите, что вы такое интересное делаете? |
|
10.09.2009, 09:34 | #9 |
Участник
|
)))) Да вот издеваются тут надо мной идет крутая преднастройка. Дак тут в полях используются коды таблиц, в которых выбираются поля в зависимости от выбранной ранее таблицы, плюс еще идет ограничение на эти поля, они должны ссылаться на поле в другой таблицы. а когда и это выбирается нужно показывать данные по этим выбранным полям из таблицы на которую ссылается поле по типу. И последний мой вопрос был связан с тем что к этим полям которые отображаются нужно выдавать описание. Но как вы понимаете оно может иметь имя не только Name, но еще description или txt. Вот я проверяю это. Иначе пишу что нужно сделатьметод на выбранный таблице. Вот в кратце проектик
Последний раз редактировалось IvanS; 10.09.2009 в 09:37. |
|
10.09.2009, 09:34 | #10 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: IvanS (1), alex55 (1). |
10.09.2009, 09:49 | #11 |
Участник
|
Цитата:
Сообщение от IvanS
тут в полях используются коды таблиц, в которых выбираются поля в зависимости от выбранной ранее таблицы, плюс еще идет ограничение на эти поля, они должны ссылаться на поле в другой таблицы. а когда и это выбирается нужно показывать данные по этим выбранным полям из таблицы на которую ссылается поле по типу.
|
|
10.09.2009, 14:42 | #12 |
Мрачный тип
|
IvanS, описание Ваше напоминает попытку соорудить на MorphX где-то и для каких-то целей некий универсальный аналог 1С-овского субконто или аналитики ГК аля ГАЛАКТИКА
Оно ?
__________________
Мы летаем, кружимся, нагоняем ужасы ... |
|
11.09.2009, 09:47 | #13 |
Участник
|
Цитата:
может сможете дать ответ на последующий вопрос? Строковое выражение простейших операций в действие |
|
Теги |
edt, extended data type, fieldid, relation |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|