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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.12.2006, 14:38   #1  
MrVisual is offline
MrVisual
Участник
 
10 / 16 (1) ++
Регистрация: 17.08.2006
Адрес: Kiev
Найти display методы
Здраствуйте,
необходимо найти все display методы у конкретной формы.
Придумали несколько способов как это сделать, подскажите какой из них без подводных камней?
1. Пробегаемся по всем обьектам данной формы через TreeNode, методы проверяем (display или нет). Также пробегаем по обьектам таблиц, которые являются DataSource, методы тоже проверяем.
2. Делаем программный апдейт кросс референсов, затем используя темповую таблицу (с кроссреференсами) находим все методы касающиеся данной формы, проверяем их на "дисплейность"
3. Можно также разобраться с компилятором, как он что и куда раскладывает, и поискать дисплейные методы.

Или может есть еще какой-то более простой способ?

Последний раз редактировалось MrVisual; 29.12.2006 в 14:43.
За это сообщение автора поблагодарили: NataLee (1).
Старый 29.12.2006, 14:44   #2  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
А что такое "У формы": используется на форме, может быть использовано на форме?

мне кажется логичней всего действовать через TreeNode MethodInfo, может быть ScannerClass, ParserClass (см http://erpkb.com/Axapta/Klass/ParserClass)
Старый 29.12.2006, 14:56   #3  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
А можно узнать зачем? Правда интересно.
Старый 29.12.2006, 15:15   #4  
MrVisual is offline
MrVisual
Участник
 
10 / 16 (1) ++
Регистрация: 17.08.2006
Адрес: Kiev
Цитата:
Сообщение от belugin Посмотреть сообщение
А что такое "У формы": используется на форме, может быть использовано на форме?

мне кажется логичней всего действовать через TreeNode MethodInfo, может быть ScannerClass, ParserClass (см http://erpkb.com/Axapta/Klass/ParserClass)
Да я вот тоже именно за такой способ, например через TreeNodeTraverser находить все методы у обьекта и проверять display или нет. Но на всякий случай решил узнать, может есть какой стандартный функционал для решения этой задачи.

Цитата:
Сообщение от Sada Посмотреть сообщение
А можно узнать зачем? Правда интересно.
Необходимо поместить дисплейные поля Grid-а на график. Соответсвенно и нужно найти все дисплейные методы.
Старый 11.05.2007, 18:02   #5  
Denicce is offline
Denicce
Участник
 
62 / 54 (2) ++++
Регистрация: 22.03.2005
Адрес: Москва
Каким образом проверить, является ли метод таблицы display? Список методов можно разными способами получить, а вот до его свойства display добраться не могу.

Последний раз редактировалось Denicce; 11.05.2007 в 18:10.
Старый 11.05.2007, 18:26   #6  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
MethodInfo.displayType() ?
Как пример, \Classes\SysDictTable\getListOfDisplayMethods
__________________
Андрей.
За это сообщение автора поблагодарили: Denicce (1).
Старый 11.05.2007, 18:26   #7  
Zabr is offline
Zabr
Участник
Axapta Retail User
 
1,202 / 345 (14) ++++++
Регистрация: 26.06.2002
Адрес: Москва
Цитата:
Сообщение от MrVisual Посмотреть сообщение
Необходимо поместить дисплейные поля Grid-а на график.
Это похоже всё-таки на промежуточную задачу. А какая исходная задача? Может быть, её можно решить вообще другим путем?
Старый 13.05.2007, 11:26   #8  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от Dron AKA andy Посмотреть сообщение
MethodInfo.displayType() ?
Как пример, \Classes\SysDictTable\getListOfDisplayMethods
А вот как SysMethodInfo инициализировать для метода на форме/датасорсе?
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 13.05.2007, 12:14   #9  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
можно поюзать
База знаний ERP : Axapta / Класс / Scanner Class
Старый 14.05.2007, 11:26   #10  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Цитата:
Сообщение от Maxim Gorbunov Посмотреть сообщение
А вот как SysMethodInfo инициализировать для метода на форме/датасорсе?
Есть такой метод \Classes\SysFormBuildDataSource\getMethodInfo, который вроде как должен обрабатывать и методы источника данных. Но у меня он почему-то не заработал для DS, и я свернул эксперименты...
__________________
Андрей.
За это сообщение автора поблагодарили: NataLee (1).
Старый 14.05.2007, 11:33   #11  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
MethodInfo.displayType, is it broken? в четверке вроде не работает
Старый 15.05.2007, 09:25   #12  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
2 belugin
Он точно так же в трешке не работает.

2 Dron AKA andy
В методе findMethod() класса SysFormBuildDataSource в трешке есть ошибка - там при формировании пути к методу датасорса используется макрос #DataSourceMethodPath, который возвращает не полный путь. В результате получается NULL.
В четверке этот метод вообще выкинули и путь собирают простой конкатенацией
__________________
Axapta v.3.0 sp5 kr2
Старый 15.05.2007, 09:53   #13  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Цитата:
Сообщение от AndyD Посмотреть сообщение
2 Dron AKA andy
В методе findMethod() класса SysFormBuildDataSource в трешке есть ошибка - там при формировании пути к методу датасорса используется макрос #DataSourceMethodPath, который возвращает не полный путь. В результате получается NULL.
В четверке этот метод вообще выкинули и путь собирают простой конкатенацией
Да, я тоже до этого докопался, там вместо краткого названия формы пришлось передавать название в виде "\\Foms\\InventTable". Возвращал он при этом не NULL, но дальше дело все равно не шло - не вытаскивались параметры метода...
__________________
Андрей.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
display-методы в группах Damn DAX: Программирование 2 15.02.2004 23:27
Говорят вышел SP2 для Axapta 3. Кто нибуть что знает на эту тему? soin DAX: Прочие вопросы 10 13.10.2003 10:43
Зачем нужны display и edit методы Андре DAX: Программирование 4 15.08.2002 13:24
display - методы для отчетов andreynikolai DAX: Программирование 4 31.05.2002 10:20
edit и display методы Maxim Gorbunov DAX: База знаний и проекты 4 15.01.2002 12:58

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

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

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