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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.08.2004, 11:49   #1  
Pavel Pustovalov is offline
Pavel Pustovalov
Участник
 
65 / 11 (1) +
Регистрация: 09.08.2004
Адрес: Omsk
Работа с диалогом программно (новичок)
1)
Подскажите, пожалуйста, как можно добавить в программно созданный диалог поле, которое отображает только один из элементов массива в EDT.
Делаю, это, например для Dimension:

PHP код:
DialogRunbase   dialog super();
Dimension          department;
DialogField         dialogDepartment;
dialog.addFieldValue(typeid(Dimension), department); 
Создается столько полей, сколько элементов в массиве EDT

2)
И еще, как можно в подобным образом созданном диалоге прикрепить свой
lookup к полю (наподобие как переопределение метода lookup у контрола)

Заранее спасибо
Старый 09.08.2004, 12:21   #2  
sassas
Гость
 
n/a
1) Создать новый EDT с характеристиками нужного элемента EDT-массива. Его и исп в диалоге.
Старый 09.08.2004, 12:33   #3  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Регистрация: 26.03.2003
Адрес: Москва
2) Создать LookUp форму и привязать её к созданному расширенному типу (св-во FormHelp)
Старый 09.08.2004, 13:18   #4  
sassas
Гость
 
n/a
2) Кажется, с этим у меня были проблемы. AX 3.0 sp1
Старый 10.08.2004, 08:29   #5  
Pavel Pustovalov is offline
Pavel Pustovalov
Участник
 
65 / 11 (1) +
Регистрация: 09.08.2004
Адрес: Omsk
1) Спасибо, с EDT помогло, единственное были проблемы с lookup, который срабатывал
через FormHelp, так как система почему-то для EDT у которого нет элементов в списке Array Elements ставит ArrayIndex = 0, а не 1.

2) а нельзя как-нибудь переопределить метод lookup у этого DialogField?
Не хотелось бы забивать систему лишними формами.
Старый 10.08.2004, 10:53   #6  
sassas
Гость
 
n/a
1) проблема с lookup, скорее всего, возникла из-за того, что Вы наследовали свой EDT от того EDT, элемент которого хотели использовать. Нужно было делать "чистый" EDT.

2) используйте поиск по форуму, тема обсуждалась. Хотя забить не получиться - их уже очень много. Зато при использовании лукап-формы реализуется концепция WYSIWYG, которая поддерживается в AXAPTA и является для нее Best Practice.
Старый 10.08.2004, 11:35   #7  
Pavel Pustovalov is offline
Pavel Pustovalov
Участник
 
65 / 11 (1) +
Регистрация: 09.08.2004
Адрес: Omsk
1) EDT был "чистый", т.е. я только настройки скопировал в свой новый EDT.
Старый 10.08.2004, 11:51   #8  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Регистрация: 26.03.2003
Адрес: Москва
Корректно перекрыть метод lookup у DialogField вряд ли возможно.
Есть два решения, но и в том и в другом придется создавать форму в AOT.
1) LookUp форма. (этот вариант проще)
2) Создание диалога на основе формы (см. класс Tutorial_RunbaseForm). На контроле формы уже можно перекрыть метод lookup.
Теги
lookup, ax2.5, ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Принадлежность АОТ объекта к лицензированному модулю. (Программно) Dima_Dima DAX: Программирование 10 07.04.2009 11:59
Работа с security keys программно Alks DAX: Программирование 5 05.12.2007 12:34
Доступ к меню "Работа с документами" Kuat DAX: Администрирование 4 16.11.2007 17:07
Совместная работа заказчика и исполнителя в разных или одном слое? Кузин Владимир В. DAX: Программирование 6 08.08.2006 10:02
Как программно изменить к-во в строке заказа в форме SalesTable BorDark DAX: Программирование 2 13.01.2005 17:02
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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