|  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
			   тут в полях используются коды таблиц, в которых выбираются поля в зависимости от выбранной ранее таблицы, плюс еще идет ограничение на эти поля, они должны ссылаться на поле в другой таблицы. а когда и это выбирается нужно показывать данные по этим выбранным полям из таблицы на которую ссылается поле по типу.  Есть ведь штатный подход к решению таких задач: поле с кодом (строка) + поле с типом ссылки в первом поле (enum), как в журналах ГК, как в номенклатурных журналах, как в InventTrans, как еще в фиговой туче мест в системе. Или я чего-то непонял, и у вас идет косвенная ссылка из первой таблицы на третью через промежуточную вторую, идентификатор которой задается в поле первой таблицы? Зачем это все?.. | 
|  | 
|  10.09.2009, 14:42 | #12 | 
| Мрачный тип | 
			
			IvanS, описание Ваше напоминает попытку соорудить на MorphX где-то и для каких-то целей некий универсальный аналог 1С-овского субконто или аналитики ГК аля ГАЛАКТИКА    Оно ? 
				__________________ Мы летаем, кружимся, нагоняем ужасы ... | 
|  | 
|  11.09.2009, 09:47 | #13 | 
| Участник | Цитата:  может сможете дать ответ на последующий вопрос? Строковое выражение простейших операций в действие | 
|  | 
| Теги | 
| edt, extended data type, fieldid, relation | 
|  | 
| 
 |