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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.07.2020, 17:46   #1  
Metrofun is offline
Metrofun
Участник
 
72 / 10 (1) +
Регистрация: 27.04.2020
? Как в Dialog добавить поле с условием на lookup
Здравствуйте.
Axapta 3.0.

Как в Dialog добавить поле с условием на lookup?
Т.е.
myField = dialog.addField(typeId(myEDT));
тогда lookup будет содержать все значения из EDT.
Или нужно создать EDT и форму lookup для EDT и сделать ссылку на форму в свойстве EDT FormHelp?
Типа myEDT.FormHelp=myEDTFormLookup
Старый 24.07.2020, 18:04   #2  
Pandasama is offline
Pandasama
Участник
 
457 / 137 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
Ищете что-нибудь вроде dialog override lookup
Как-то так, например ax-erp: Overriding method for a control in dialog (RunBase framework)

Только при поиске может попадать вариант, который в Ax3 не поддерживается
Старый 24.07.2020, 19:03   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Если фильтр постоянный и не зависит от значений других полей диалога, то вариант с отдельным EDT вполне себе корректный.

Иногда можно попытаться обойтись и без отдельной формы. Если ограничения не сложные, то возможно достаточно будет донастроить relation. Или если это возможно, то собрать необходимые данные при помощи View

Для сложных случаев есть альтернативный вариант - заменить динамическое создание диалога, на заранее подготовленную форму. Смотрите пример класс Tutorial_RunbaseForm
Старый 24.07.2020, 19:54   #4  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Вообще, в любой версии для таких вещей делается свой лукап. Как его задействовать вопрос другой.
  • Можно сделать отдельный EDT с отдельной формой лукапа и внутри неё анализировать откуда вызваны, что там есть в контексте.
  • Можно создать программное формирование лукапа и как-то его вызывать, то есть, перехватывать событие вызова лукапа. На форме (в том числе, в указанной для наследника RunBase*) проблем нет, а вот в динамической форме наследника RunBase* все зависит от версии Аксапты и от загруженных дополнительных механизмов.
В любом случае, если нет отдельной формы, то в наследнике RunBase* должен быть создан метод, обрабатывающий событие вызова лукапа и нужно заставить ядро Аксы его вызвать.
  • До DAX2012 вызов ядром метода зависил от наименования этого метода. Он должен был называться так, какое имя имеет контрол плюс добавление определенного суффикса.
  • В стандарте до DAX2009 имя контрола было динамическое (что-то типа "Fld1_12"), его можно было посмотреть и создать метод, в котором было это имя (правда при изменении порядка полей или при каких-то изменениях наследников автоматическое имя менялось и вызов переставал работать). Но, Иван лет 15 назад выложил проект (в том числе на этом форуме), который позволяет назначать контролу постоянное имя и все будет работать.
  • В DAX2009 в российской функциональности появилась возможность задавать для контрола постоянное имя и наименование обработчика нормально работало.
  • В DAX2012 появился механизм назначения обработчиков событий контролов и проблема вообще ушла.
Опять же:
Цитата:
Axapta 3.0.
Если нужно назначение обработчиков событий контролов при динамическом построении диалога в наследниках RunBase* и версия Аксапты меньше, чем DAX2009, то, на мой взгляд (не претендую на истину, но посмотреть стоит) лучшим вариантом будет использование доработок от Ивана (логин на форуме kashperuk, но что-то не могу найти нужный проект)
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ariste.info: Add multi selection lookup to a SysOperation Framework dialog Blog bot DAX Blogs 0 21.01.2020 11:11
AX7 D365 Перехват lookup на поле datasource Maximin DAX: Программирование 13 11.01.2018 18:19
Перекрытие lookup для FromSegmentedEntryControl в dialog Artikov DAX: Программирование 0 14.07.2017 13:09
axforum blogs: Вспомогательный документооборот. Поле "Код конфигурации вспомогательного бизнес-правила" lookup ни чего не показывает. Blog bot DAX Blogs 0 08.04.2011 10:11
lookup-поле в форме Dialog Eleна DAX: Программирование 5 04.06.2007 15:18

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

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

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