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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.02.2006, 16:37   #1  
arnold is offline
arnold
Участник
 
30 / 11 (1) +
Регистрация: 27.04.2005
Как задать имя контрола на RunBase
Когда делаю так

PHP код:
dialogMyID dialog.addFieldValue(typeid(MyId), MyId); 
после:
s = dialogCompartID.name();
значение s = "Fld1_1"

Хочу что бы это значение было "MyID"

Как это сделать ?
Старый 02.02.2006, 17:15   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,323 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
1. (В лоб, несмотря ни на что) - переписать классы DialogField, DialogControl для реализации фичи. Крайне не рекомендую делать.
2. (Если цель - обозвать контрол по своему) - подложите свою форму в диалог (пример - класс Tutorial_RunbaseForm)
3. (Если цель - не обозвать контрол по своему, а попытаться что-то реализовать конкретное) - в зависимости от задачи - попытаться обойти (для чего Вам нужно именно переименование?). Здесь нужно понимание того, чего вам нужно в конечном счете.

Уточните - для чего вам нужно переименовать контрол - и возможно все решится более легким способом
__________________
Возможно сделать все. Вопрос времени
Старый 02.02.2006, 17:58   #3  
arnold is offline
arnold
Участник
 
30 / 11 (1) +
Регистрация: 27.04.2005
Хочу перегрузить метод LookUp. Для этого нужно написать метод MyID_lookUP. Т.е. я должен знать как будет именоваться контрол заранее.
Старый 02.02.2006, 18:02   #4  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,323 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Тогда загляните сначала сюда. Это уже обсуждалось как сделать:
http://www.axforum.info/forums/showt...6721#post76721
Т.е. собсно говоря - Вам ничто не мешает сделать метод Fld1_1_lookup
__________________
Возможно сделать все. Вопрос времени
Старый 02.02.2006, 18:15   #5  
arnold is offline
arnold
Участник
 
30 / 11 (1) +
Регистрация: 27.04.2005
Это я уже читал. Возможно чего то недопонял. Если сделать Fld1_1_LookUP, тогда возможно что в след. раз Аксапта сгенерит Fld1_2 имя и тогда никакой лукап уже работать не будет
Старый 02.02.2006, 18:25   #6  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,254 / 980 (37) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от arnold
Это я уже читал. Возможно чего то недопонял. Если сделать Fld1_1_LookUP, тогда возможно что в след. раз Аксапта сгенерит Fld1_2 имя и тогда никакой лукап уже работать не будет
sukhanchik тебе дело говорит, подкладывай обычную форму и не мучайся. Тем более, что потом форму гораздо проще сопровождать будет
__________________
Isn't it nice when things just work?
Старый 02.02.2006, 18:27   #7  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Кстати, господа, в приведенном топике есть ссылка, а там есть проект, где это уже все сделано. Все переписано и нужные методы для переименовывания созданы.
Старый 03.02.2006, 10:15   #8  
arnold is offline
arnold
Участник
 
30 / 11 (1) +
Регистрация: 27.04.2005
Смотрел этот проект. Там только один класс и некомпилируемые методы. Очевидно что addFieldValue должен быть перегружен. Но в проекте его нет. Сделал уже форму, слишком долго извращатся нет времени .
fieldKDVLocationId = dialog.addFieldValue(typeid(KDVLocationId), KDVLocationId, '', '', 'KDVLocationId');
fieldLocationId = dialog.addFieldValue(typeid(InventLocationId), locationId, '', '', 'LocationId');
Старый 03.02.2006, 10:24   #9  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,323 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от arnold
Fld1_1_LookUP, тогда возможно что в след. раз Аксапта сгенерит Fld1_2 имя и тогда никакой лукап уже работать не будет
Каждый раз, когда создается диалог, Аксапта начинает создавать контролы с именем Fld1_1, затем Fld1_2 и т.д. В том проекте (по ссылке) создаются сразу пачка методов вида Fld_1_1_Lookup для 15 (вроде) контролов в форме Dialog

Аксапта не генерит от случая к случаю имен контролов. Все делается по определенной системе
__________________
Возможно сделать все. Вопрос времени
Старый 03.02.2006, 13:32   #10  
petr is offline
petr
Участник
Соотечественники
 
561 / 201 (8) ++++++
Регистрация: 30.05.2005
Адрес: Швейцария
Когда у меня встала подобная задача решит ее не перекрывая стандартных классов, а добавил два новых наследника. Из прикрепленного файла должно быть понятно, как все работает.
Если необходимо, то опишу поподробнее.
Сразу опишу, что не решение не работает при добавлении полей типа массив (т.е. Dimension)
Вложения
Тип файла: xpo STM_Dialog_Enhancement.xpo (8.3 Кб, 523 просмотров)
За это сообщение автора поблагодарили: Logger (3), PavelX (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
HRM,склонение ФИО и все все все OmenSore DAX: Функционал 22 09.02.2009 17:08
Inside Dynamics AX 4.0: RunBase Framework Extension Part IV Blog bot DAX Blogs 0 02.10.2007 04:49
Inside Dynamics AX 4.0: RunBase Framework Extension Part III Blog bot DAX Blogs 0 02.10.2007 04:49
Inside Dynamics AX 4.0: RunBase Framework Extension Part I Blog bot DAX Blogs 0 30.09.2007 09:20
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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