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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.01.2014, 15:58   #1  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
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  
Ruff is offline
Ruff
Дмитрий Ерин
Аватар для Ruff
1C
 
475 / 396 (14) ++++++
Регистрация: 18.09.2003
Адрес: Тула
класс SalesTableInteraction, насколько я понял, обрабатывает форму SalesTable, которая не на шаблоне ListPage, а на DetailsPage. То есть в ней и так можно методы перекрыть (и validateWrite() там как раз перекрыт, возможно, поэтому и не срабатывает). А для ListPage, мне кажется, нужно смотреть в сторону SalesTableListPageInteraction и его предков.
__________________
Старый 22.01.2014, 20:39   #3  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Да, некорректно написал. Я добавлял метод именно в SalesListPageInteraction.
__________________
Ivanhoe as is..
Старый 24.01.2014, 14:25   #4  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Еще идеи? Куда копать?
__________________
Ivanhoe as is..
Старый 24.01.2014, 15:35   #5  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Если это ListPage, то зачем там validateWrite? Там же ничего править нельзя...
Старый 24.01.2014, 15:40   #6  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Нельзя Но по какой-то неведомой причине при стечении обстоятельств иногда вызывается валидейт. При этом из БД система выбирает только поля, отображаемые на форме, и при попытке сохранить - ругается на обязательные поля.

Конкретный кейс - в форму Заказов на продажу (ListPage) добавлены доп. таблицы для физической сортировки и фильтрации.
__________________
Ivanhoe as is..
Старый 24.01.2014, 17:17   #7  
Stitch_MS is offline
Stitch_MS
Участник
Аватар для Stitch_MS
Соотечественники
 
397 / 478 (16) +++++++
Регистрация: 27.02.2006
Адрес: Дания
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
Конкретный кейс - в форму Заказов на продажу (ListPage) добавлены доп. таблицы для физической сортировки и фильтрации.
Это SalesTableListPage? Вы дополнительные таблицы в \Queries\SalesTableListPage добавили? Или как-то по-другому?

Последний раз редактировалось Stitch_MS; 24.01.2014 в 17:17. Причина: опечатка
Старый 24.01.2014, 18:25   #8  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Да эта форма, да - таблицы в Query.
__________________
Ivanhoe as is..
Старый 24.01.2014, 19:49   #9  
b_nosoff is offline
b_nosoff
Читатель
Аватар для b_nosoff
MCP
MCBMSS
 
197 / 143 (5) +++++
Регистрация: 01.12.2004
Адрес: Msk
Записей в блоге: 13
Цитата:
Сообщение от Ivanhoe Посмотреть сообщение
по какой-то неведомой причине при стечении обстоятельств иногда вызывается валидейт.
Даже если у созданных datasource установлены AllowCreate, AllowDelete и AllowEdit в "нет"?
__________________
Axapta non erubescit
Старый 25.01.2014, 02:55   #10  
Freeangel is offline
Freeangel
Участник
 
173 / 55 (2) ++++
Регистрация: 01.04.2005
Насколько я понял, для ListPage можно перекрыть только один метод на DataSource - selectionChanged, который задан в базовом классе ListPageInteraction. Другие методы работать не будут
Старый 28.07.2014, 12:53   #11  
madm is offline
madm
Участник
 
43 / 12 (1) ++
Регистрация: 21.11.2006
Тоже столкнулся с проблемой перекрытия validateWrite на ListPage. Кто-нибудь решил? Создается впечатление, что опять что-то недоделали. Однако на формах DetailsPage с их PageInteraction классами возможность есть...
Старый 31.07.2014, 11:10   #12  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
Цитата:
Сообщение от madm Посмотреть сообщение
Тоже столкнулся с проблемой перекрытия validateWrite на ListPage. Кто-нибудь решил? Создается впечатление, что опять что-то недоделали. Однако на формах DetailsPage с их PageInteraction классами возможность есть...
Вы перекрываете на форме или на Query?
Старый 31.07.2014, 12:05   #13  
madm is offline
madm
Участник
 
43 / 12 (1) ++
Регистрация: 21.11.2006
Цитата:
Сообщение от user_ax Посмотреть сообщение
Вы перекрываете на форме или на Query?
Хотелось бы как раз на форме, но с формами *ListPage это не прокатывает, в этом и проблема. На query как-то можно переопределить validateWrite?
Старый 31.07.2014, 13:50   #14  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
Прошу прощения, ввёл в заблуждение. На Query нельзя перекрыть этот метод.
Но, думаю, что в классе *ListPageInteraction это возможно.
Старый 31.07.2014, 14:03   #15  
madm is offline
madm
Участник
 
43 / 12 (1) ++
Регистрация: 21.11.2006
Цитата:
Сообщение от user_ax Посмотреть сообщение
Прошу прощения, ввёл в заблуждение. На Query нельзя перекрыть этот метод.
Но, думаю, что в классе *ListPageInteraction это возможно.
Ээээ. Спасибо, конечно, за участие. Но тема, если ее почитать, как раз о том, что в этих классах validateWrite перекрыть нельзя.
Старый 31.07.2014, 14:25   #16  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
Цитата:
Сообщение от madm Посмотреть сообщение
Ээээ. Спасибо, конечно, за участие. Но тема, если ее почитать, как раз о том, что в этих классах validateWrite перекрыть нельзя.
В классах - нет, но можно на таблице ведь.

http://dynamicsuser.net/forums/p/74310/399704.aspx
Старый 31.07.2014, 15:08   #17  
madm is offline
madm
Участник
 
43 / 12 (1) ++
Регистрация: 21.11.2006
Цитата:
Сообщение от user_ax Посмотреть сообщение
В классах - нет, но можно на таблице ведь.

http://dynamicsuser.net/forums/p/74310/399704.aspx
Да, на таблице можно. И вряд ли кто-то из участников этой темы не знает о такой возможности. Но вопрос был в другом.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX2012. Кеширование display method на ListPage. Как? plumbum DAX: Программирование 7 27.03.2015 15:24
ListPage и TempDB в качестве источника данных Mila DAX: Программирование 1 16.11.2013 12:02
fatihdemirci: How to change grid row color in listpage form in Dynamics Ax 2012 Blog bot DAX Blogs 0 20.05.2013 18:11
При возвращении на ListPage сбивается сортировка developerplus DAX: Программирование 2 31.03.2013 10:14
Свойства элемента управления в отладчике. Logger DAX: Программирование 10 01.10.2009 12:53

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

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

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