AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.04.2013, 04:39   #1  
kitty is offline
kitty
Участник
 
367 / 26 (1) +++
Регистрация: 24.05.2005
Relation по 2м полям на таблице и лукап
Если два таблицы
TableA (Field1, Field2, Field3, Field4), где первичный ключ (Field1)
TableB(Field2, Field3, Field5). где первичный ключ (Field2, Field3, Field5)

Relation
TableA .Field2 =TableB.Field2
TableA .Field3 =TableB.Field3

Можно ли без программирования сделать так, чтобы на форме с полями из TableA при выборе значения TableA.Field3 выпадал лукап по таблицы TableB уже отфильтрованый по второму полю из релэйшна TableA.Field2

То есть , использовать связь на таблицах, а не переписывать lookup() метод
Старый 24.04.2013, 07:58   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Это стандартное поведение. Программировать ничего для этого не нужно. Для того чтобы такой лукап работал связь должна быть прописана не у поля в расширенном типе данных, а у таблицы. Связь на расширином типе считается более приоритетной, поэтому чтобы сработала связь на таблице, на расширенном типе в этом случае связи не должно быть вообще.

Посмотрите как это сделано, например, при выборе договоров в российской локализации. Во всех таблицах, где нужна подстановка договора, прописана связь к таблице RContractTable по двум полям "группа договора" и "номер договора".

Последний раз редактировалось S.Kuskov; 24.04.2013 в 08:13.
Старый 24.04.2013, 12:11   #3  
kitty is offline
kitty
Участник
 
367 / 26 (1) +++
Регистрация: 24.05.2005
Спасибо. Посыпаю голову пелом, тк букварный вопрос, но почему-то казалось, что на таблице relations имеют приоритет над relations на EDT.
Удаление EDT на лукапном поле действительно решило задачу.
Старый 24.04.2013, 12:30   #4  
kitty is offline
kitty
Участник
 
367 / 26 (1) +++
Регистрация: 24.05.2005
и вот почему казалось:http://www.axaptapedia.com/Lookups
Цитата:
Relations which are set directly on the specified table will be used to create the lookup if available, or the standard EDT relations otherwise.
, что вполне было логично, если бы было так.
За это сообщение автора поблагодарили: Logger (1).
Старый 02.07.2013, 14:59   #5  
dax2012 is offline
dax2012
Участник
 
2 / 10 (1) +
Регистрация: 22.05.2013
подниму для AX2012
у меня ситуация аналогична, только лукапы нужны в ДВУХ полях. ну например DimensionFrom и DimensionTo. По отдельности relations работают отлично, но вот вместе не хотят - система пишет конфликт релэйшнов. Перекрывать лукап руками не хочется.
Старый 07.07.2013, 01:46   #6  
axy is offline
axy
Участник
 
8 / 11 (1) +
Регистрация: 22.03.2006
Адрес: Kiev
Цитата:
Сообщение от dax2012 Посмотреть сообщение
подниму для AX2012
у меня ситуация аналогична, только лукапы нужны в ДВУХ полях. ну например DimensionFrom и DimensionTo. По отдельности relations работают отлично, но вот вместе не хотят - система пишет конфликт релэйшнов. Перекрывать лукап руками не хочется.
На свойстве релейшена изменить свойства "RelatedTableRole" и "Role" на какой-либо текст (лучше использовать descriptive name для себя же ), чтобы значения этих полей одного из релейшенов были отличными от значений другого релейшена.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ax-erp: EDT Relation Migration Tool [AX 2012] Blog bot DAX Blogs 0 14.12.2012 23:11
Relation CustTable, VendTable и т.д. на таблице LedgerJournalTrans AX2009 Gad DAX: Программирование 2 20.04.2010 20:04
relation по 2 полям kitty DAX: Программирование 11 20.08.2009 12:26
Как сделать хитрый лукап miklenew DAX: Программирование 11 08.10.2007 17:28
Relation на таблице и EDT Alex_K DAX: Программирование 2 15.12.2004 15:49

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:21.