22.01.2014, 15:58 | #1 |
Участник
|
FormDataSourceInteractionAttribute, ListPage свойства датасорса
Всем привет!
DAX 2012 R2. Такой вопрос. Нужно перекрыть методы на DS в форме типа ListPage. Я так понял надо использовать класс FormDataSourceInteractionAttribute. Примеры, которые я нашел - работают, добавляю свой метод - не работает. Конкретно нужно перекрыть validatewrite(). Например, в классе SalesTableInteraction добавляю метод, а он не срабатывает: X++: [FormDataSourceInteractionAttribute('SalesLine', 'validateWrite')] public void salesLine_DS_validateWrite() { info("!!!"); }
__________________
Ivanhoe as is.. |
|
22.01.2014, 18:16 | #2 |
Дмитрий Ерин
|
класс SalesTableInteraction, насколько я понял, обрабатывает форму SalesTable, которая не на шаблоне ListPage, а на DetailsPage. То есть в ней и так можно методы перекрыть (и validateWrite() там как раз перекрыт, возможно, поэтому и не срабатывает). А для ListPage, мне кажется, нужно смотреть в сторону SalesTableListPageInteraction и его предков.
__________________
|
|
22.01.2014, 20:39 | #3 |
Участник
|
Да, некорректно написал. Я добавлял метод именно в SalesListPageInteraction.
__________________
Ivanhoe as is.. |
|
24.01.2014, 14:25 | #4 |
Участник
|
Еще идеи? Куда копать?
__________________
Ivanhoe as is.. |
|
24.01.2014, 15:35 | #5 |
Программатор
|
Если это ListPage, то зачем там validateWrite? Там же ничего править нельзя...
|
|
24.01.2014, 15:40 | #6 |
Участник
|
Нельзя Но по какой-то неведомой причине при стечении обстоятельств иногда вызывается валидейт. При этом из БД система выбирает только поля, отображаемые на форме, и при попытке сохранить - ругается на обязательные поля.
Конкретный кейс - в форму Заказов на продажу (ListPage) добавлены доп. таблицы для физической сортировки и фильтрации.
__________________
Ivanhoe as is.. |
|
24.01.2014, 17:17 | #7 |
Участник
|
Это SalesTableListPage? Вы дополнительные таблицы в \Queries\SalesTableListPage добавили? Или как-то по-другому?
Последний раз редактировалось Stitch_MS; 24.01.2014 в 17:17. Причина: опечатка |
|
24.01.2014, 18:25 | #8 |
Участник
|
Да эта форма, да - таблицы в Query.
__________________
Ivanhoe as is.. |
|
24.01.2014, 19:49 | #9 |
Читатель
|
Даже если у созданных datasource установлены AllowCreate, AllowDelete и AllowEdit в "нет"?
|
|
25.01.2014, 02:55 | #10 |
Участник
|
Насколько я понял, для ListPage можно перекрыть только один метод на DataSource - selectionChanged, который задан в базовом классе ListPageInteraction. Другие методы работать не будут
|
|
28.07.2014, 12:53 | #11 |
Участник
|
Тоже столкнулся с проблемой перекрытия validateWrite на ListPage. Кто-нибудь решил? Создается впечатление, что опять что-то недоделали. Однако на формах DetailsPage с их PageInteraction классами возможность есть...
|
|
31.07.2014, 11:10 | #12 |
Участник
|
|
|
31.07.2014, 12:05 | #13 |
Участник
|
|
|
31.07.2014, 13:50 | #14 |
Участник
|
Прошу прощения, ввёл в заблуждение. На Query нельзя перекрыть этот метод.
Но, думаю, что в классе *ListPageInteraction это возможно. |
|
31.07.2014, 14:03 | #15 |
Участник
|
|
|
31.07.2014, 14:25 | #16 |
Участник
|
Цитата:
http://dynamicsuser.net/forums/p/74310/399704.aspx |
|
31.07.2014, 15:08 | #17 |
Участник
|
|
|
|
|