AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 22.01.2014, 15:58   #1  
Ivanhoe is offline
Ivanhoe
Участник
Ivanhoe's Avatar
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Join Date: 29.09.2005
Location: Санкт-Петербург
FormDataSourceInteractionAttribute, ListPage свойства датасорса
Всем привет!

DAX 2012 R2.

Такой вопрос. Нужно перекрыть методы на DS в форме типа ListPage. Я так понял надо использовать класс FormDataSourceInteractionAttribute.

Примеры, которые я нашел - работают, добавляю свой метод - не работает. Конкретно нужно перекрыть validatewrite().

Например, в классе SalesTableInteraction добавляю метод, а он не срабатывает:

X++:
[FormDataSourceInteractionAttribute('SalesLine', 'validateWrite')]
public void salesLine_DS_validateWrite()
{
    info("!!!");
}
Что еще нужно сделать, кроме этого метода? Или не все методы поддерживаются?
__________________
Ivanhoe as is..
Old 22.01.2014, 18:16   #2  
Ruff is offline
Ruff
Дмитрий Ерин
Ruff's Avatar
1C
 
475 / 396 (14) ++++++
Join Date: 18.09.2003
Location: Тула
класс SalesTableInteraction, насколько я понял, обрабатывает форму SalesTable, которая не на шаблоне ListPage, а на DetailsPage. То есть в ней и так можно методы перекрыть (и validateWrite() там как раз перекрыт, возможно, поэтому и не срабатывает). А для ListPage, мне кажется, нужно смотреть в сторону SalesTableListPageInteraction и его предков.
__________________
Old 22.01.2014, 20:39   #3  
Ivanhoe is offline
Ivanhoe
Участник
Ivanhoe's Avatar
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Join Date: 29.09.2005
Location: Санкт-Петербург
Да, некорректно написал. Я добавлял метод именно в SalesListPageInteraction.
__________________
Ivanhoe as is..
Old 24.01.2014, 14:25   #4  
Ivanhoe is offline
Ivanhoe
Участник
Ivanhoe's Avatar
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Join Date: 29.09.2005
Location: Санкт-Петербург
Еще идеи? Куда копать?
__________________
Ivanhoe as is..
Old 24.01.2014, 15:35   #5  
Sada is offline
Sada
Программатор
Sada's Avatar
 
1,450 / 153 (8) ++++++
Join Date: 29.03.2005
Location: Толи Барнаул, толи Москва
Если это ListPage, то зачем там validateWrite? Там же ничего править нельзя...
Old 24.01.2014, 15:40   #6  
Ivanhoe is offline
Ivanhoe
Участник
Ivanhoe's Avatar
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2161 (81) +++++++++
Join Date: 29.09.2005
Location: Санкт-Петербург
Нельзя Но по какой-то неведомой причине при стечении обстоятельств иногда вызывается валидейт. При этом из БД система выбирает только поля, отображаемые на форме, и при попытке сохранить - ругается на обязательные поля.

Конкретный кейс - в форму Заказов на продажу (ListPage) добавлены доп. таблицы для физической сортировки и фильтрации.
__________________
Ivanhoe as is..
Old 24.01.2014, 17:17   #7  
Stitch_MS is offline
Stitch_MS
Участник
Stitch_MS's Avatar
Соотечественники
 
397 / 483 (17) +++++++
Join Date: 27.02.2006
Location: Дания
Quote:
Originally Posted by Ivanhoe View Post
Конкретный кейс - в форму Заказов на продажу (ListPage) добавлены доп. таблицы для физической сортировки и фильтрации.
Это SalesTableListPage? Вы дополнительные таблицы в \Queries\SalesTableListPage добавили? Или как-то по-другому?

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

http://dynamicsuser.net/forums/p/74310/399704.aspx
Old 31.07.2014, 15:08   #17  
madm is offline
madm
Участник
 
43 / 12 (1) ++
Join Date: 21.11.2006
Quote:
Originally Posted by user_ax View Post
В классах - нет, но можно на таблице ведь.

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

Similar Threads
Thread Thread Starter Forum Replies Last Post
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

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 04:34.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.