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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.09.2011, 14:51   #1  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Лукап по новому EDT
Здравствуйте.
Создал EDT наследованный от EDT CustAccount.
Указал у него релейшен к CustTable.AccountNum
В CustTable есть поле-галочка.
Указал дополнительно еще поле ссылки фиксированно к этой галке.
Теперь лукап из поля с этим EDT в новой таблице почем-то не фильтрует автоматом записи с этой галкой....
Как быть?
Старый 19.09.2011, 15:28   #2  
PavelX is offline
PavelX
MCTS
MCBMSS
 
46 / 97 (4) ++++
Регистрация: 08.09.2006
Адрес: Красноярск
А может попробовать новый EDT унаследовать напрямую от CustVendAC?
За это сообщение автора поблагодарили: Eldar9x (5).
Старый 19.09.2011, 15:41   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Правильно ля я понимаю, что после добавление связи "поле ссылки фиксированно к этой галке" лукап всё равно отображает все записи и с галкой и без галки? А галка стандартная? или это новое поле? Может синхронизировать CustTable? А в CustTable есть строки и с галкой и без галки? Вы хотите отобрать записи с галкой или без галки? Правильное ли значение поставили в свойстве Value в Relation?

Вообще, вы всё правильно написали. Должно работать. Ищите барабашку.
А так вы всё правильно написали, должно работать, ищите барабашку.
Старый 19.09.2011, 15:49   #4  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Цитата:
Сообщение от PavelX Посмотреть сообщение
А может попробовать новый EDT унаследовать напрямую от CustVendAC?
Так смысл? Мне же клиенты нужны... Само-то от custAccount наследоваться.

Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Правильно ля я понимаю, что после добавление связи "поле ссылки фиксированно к этой галке" лукап всё равно отображает все записи и с галкой и без галки? А галка стандартная? или это новое поле? Может синхронизировать CustTable? А в CustTable есть строки и с галкой и без галки? Вы хотите отобрать записи с галкой или без галки? Правильное ли значение поставили в свойстве Value в Relation?

Вообще, вы всё правильно написали. Должно работать. Ищите барабашку.
А так вы всё правильно написали, должно работать, ищите барабашку.
Галка создана на юзр слое, то есть не стандарт. Создано на основе енума NoYes. Да, есть строки и с галкой и без. Я хочу отобрать строки с галкой. Поставил в Value значение 1. Самое странное, что проверка работает. То есть он не дает выбрать строку без галки, ругается. А в лукапе кажет все...

Последний раз редактировалось Eldar9x; 19.09.2011 в 15:53. Причина: неправильно написал: не дает выбрать строку с галкой
Старый 19.09.2011, 16:01   #5  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Eldar9x Посмотреть сообщение
Самое странное, что проверка работает. То есть он не дает выбрать строку без галки, ругается. А в лукапе кажет все...
А на форме (на датасурсе или на контроле) лукап не перекрыт случайно?
Старый 20.09.2011, 07:28   #6  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
А на форме (на датасурсе или на контроле) лукап не перекрыт случайно?
Нет. Создан грид, у которого указан автодатагруп. В группе находится это поле (по новому ЕДТ).
Старый 20.09.2011, 07:34   #7  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Ааа, вот еще что... У EDT CustAccount в FormHelp указана форма. В стандарте, вроде, оно должно быть пустым. Может, из-за этого?
Старый 20.09.2011, 07:37   #8  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Цитата:
Сообщение от PavelX Посмотреть сообщение
А может попробовать новый EDT унаследовать напрямую от CustVendAC?
Так и сделал, спасибо. Стало нормально работать. Там пока его не меняли еще.
Старый 20.09.2011, 07:59   #9  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Eldar9x Посмотреть сообщение
Ааа, вот еще что... У EDT CustAccount в FormHelp указана форма. В стандарте, вроде, оно должно быть пустым. Может, из-за этого?
Нет, не должно это влиять. В какой версии у вас всё это происходит?

А у своего расширенного типа вы FormHelp не трогали?
Старый 20.09.2011, 08:16   #10  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Нет, не должно это влиять.
Ну как же не должно? Форма lookup'а при инициализации datasource'а, вероятнее всего, не смотрит на relation'ы, определенные на EDT, оттого они и не влияют на информацию в lookup'е. А вот ядро при проверке выбранного значения на эти relation'ы смотрит, и получается, что часть значений, показываемых в lookup'е, для поля, на котором он вызван, некорректны.
Старый 20.09.2011, 08:36   #11  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Ну как же не должно?
Согласен, что ядро должно смотреть на свойство FormHelp используемого типа и вызывать специализированную форму lookup'а, но должно ли оно в случае его отсутствия смотреть на FormHelp типа-родителя, от которого унаследован используемый расширенный тип?

Последний раз редактировалось S.Kuskov; 20.09.2011 в 08:38.
Старый 20.09.2011, 09:44   #12  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Где-то в руководстве по разработке было написано, что EDT наследуют от родительского все свойства, кроме ArraySize.
За это сообщение автора поблагодарили: S.Kuskov (2).
Старый 20.09.2011, 10:11   #13  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Где-то в руководстве по разработке было написано, что EDT наследуют от родительского все свойства, кроме ArraySize.
Проверил. Действительно FormHelp наследуется. Впредь буду более бдительным при наследовании Extended Data Type.
Старый 20.09.2011, 13:09   #14  
BOAL is offline
BOAL
Участник
Аватар для BOAL
MCBMSS
Злыдни
1C
Лучший по профессии 2015
 
621 / 453 (17) +++++++
Регистрация: 28.04.2003
Адрес: Москва
Тоже давно заметил, что EDT, у которых уже стоит релейшн, опасны в использовании, где нужно свой релейшн делать.
Причем, это появилось не сразу, в АХ2.5 и Ах3.0 поведение было иным, а вот с АХ4 по -новому.
Таким образом, если на таблице (или другом ЕДТ) использвать у поля ЕДТ с релейшеном на нем, а потом сделать свой новый релейшн, то работать он не будет (хотя должен и раньше бы работал).
Работать будет именно релейшн от ЕДТ
Потому и появилась куча ЕДТ с фиксом от этого, например:
RContractAccountActive и RContractCodeAc
Хотя раньше можно было использовать в своих таблицах RContractAccount и RContractCode напрямую со своими релейшенами с полем ссылки фиксировано.
Старый 20.09.2011, 17:25   #15  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от Eldar9x Посмотреть сообщение
Ааа, вот еще что... У EDT CustAccount в FormHelp указана форма. В стандарте, вроде, оно должно быть пустым. Может, из-за этого?
Это довольно важный момент что ты забыл указать
Я вчера думал написать, что скорее всего на CustAccount заполнен FormHelp, но решил перед этим проверить - проверил, пусто, думаю, ну ладно, не буду писать, так как видимо проблема в другом. А оказывается..
Теги
edt, extended data type, lookup, relation, наследование

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Создание наследника EDT через Х++ vesna DAX: Программирование 12 02.05.2012 08:13
EDT как Array KingPeas DAX: Программирование 16 17.06.2008 10:40
Как сделать хитрый лукап miklenew DAX: Программирование 11 08.10.2007 17:28
Синхронизация таблиц при изменении EDT z_av DAX: Программирование 1 16.12.2004 11:55
Список полей таблиц на базе конкретного EDT Владимир Максимов DAX: Программирование 10 06.10.2004 14:45

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

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

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