24.04.2013, 04:39 | #1 |
Участник
|
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 |
Участник
|
Это стандартное поведение. Программировать ничего для этого не нужно. Для того чтобы такой лукап работал связь должна быть прописана не у поля в расширенном типе данных, а у таблицы. Связь на расширином типе считается более приоритетной, поэтому чтобы сработала связь на таблице, на расширенном типе в этом случае связи не должно быть вообще.
Посмотрите как это сделано, например, при выборе договоров в российской локализации. Во всех таблицах, где нужна подстановка договора, прописана связь к таблице RContractTable по двум полям "группа договора" и "номер договора". Последний раз редактировалось S.Kuskov; 24.04.2013 в 08:13. |
|
24.04.2013, 12:11 | #3 |
Участник
|
Спасибо. Посыпаю голову пелом, тк букварный вопрос, но почему-то казалось, что на таблице relations имеют приоритет над relations на EDT.
Удаление EDT на лукапном поле действительно решило задачу. |
|
24.04.2013, 12:30 | #4 |
Участник
|
и вот почему казалось: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 |
Участник
|
подниму для AX2012
у меня ситуация аналогична, только лукапы нужны в ДВУХ полях. ну например DimensionFrom и DimensionTo. По отдельности relations работают отлично, но вот вместе не хотят - система пишет конфликт релэйшнов. Перекрывать лукап руками не хочется. |
|
07.07.2013, 01:46 | #6 |
Участник
|
На свойстве релейшена изменить свойства "RelatedTableRole" и "Role" на какой-либо текст (лучше использовать descriptive name для себя же ), чтобы значения этих полей одного из релейшенов были отличными от значений другого релейшена.
|
|