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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.08.2009, 14:32   #1  
zemius is offline
zemius
Участник
 
11 / 10 (1) +
Регистрация: 19.08.2009
Адрес: Москва
Передать параметр лукап форме?
Строится динамический диалог, на базе RunBase.
На форме есть 2 лукапа. Задача наложить фильтр, на лукап 2, в зависимости от значений в лукап 1.
Из того что удалось найти на форуме понял что нужно, переопределить запускаемую форму, используемого EDT, при создании контрола (свойство FormHelp).
Но не понял как передать этой форме, значение выбранное в первом лукапе?
Старый 19.08.2009, 17:02   #2  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Смотрите среди похожих тем: Как сделать хитрый лукап
__________________
// no comments
Старый 19.08.2009, 17:24   #3  
zemius is offline
zemius
Участник
 
11 / 10 (1) +
Регистрация: 19.08.2009
Адрес: Москва
Это я видел. У меня контрол создаётся динамически..
Вопрос, как передать лукап форме, значение выбранное в первом лукапе?
Старый 19.08.2009, 17:57   #4  
denny is offline
denny
Участник
 
93 / 29 (1) +++
Регистрация: 16.11.2003
Адрес: Novosibirsk
Вам необходимо будет перекрыть события для runtime-элементов управления в диалоге. Вот в этом посте Studio Erudit подробно объяснено, как это сделать. Немного муторно, но работает. Главное - разрешить перегрузку методов с помощью функции controlMethodOverload
__________________
Денис Балуев.
За это сообщение автора поблагодарили: Denicce (1), zemius (1).
Старый 19.08.2009, 20:07   #5  
AX2009
Гость
 
n/a
я бы форму нарисовал, быстрее и надежнее будет работать
в Tuorial_runBaseForm есть пример
Старый 20.08.2009, 14:51   #6  
zemius is offline
zemius
Участник
 
11 / 10 (1) +
Регистрация: 19.08.2009
Адрес: Москва
По поводу событий понятно.. сенкс, было познавательно.. Если никто ничего не подскажет другого буду пробовать так.
Форму рисовать незя.. так это часть системы завязанной на RunBase
Старый 20.08.2009, 15:14   #7  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от zemius Посмотреть сообщение
Строится динамический диалог, на базе RunBase.
На форме есть 2 лукапа. Задача наложить фильтр, на лукап 2, в зависимости от значений в лукап 1.
Из того что удалось найти на форуме понял что нужно, переопределить запускаемую форму, используемого EDT, при создании контрола (свойство FormHelp).
Но не понял как передать этой форме, значение выбранное в первом лукапе?
Задача решает от обратного. Не параметр передается в форму LookUp, а форма считывает параметр из той формы, из которой она запущена.

Т.е. в событии Form.Init() той формы, что указана в свойстве EDT.FormHelp пишется нечто вроде

X++:
public void init()
{
    MyClass   myClass;
    TypeParam paramValue;
    ;

    if (element.args() && element.args().caller())
    {
        myClass = element.args().caller();
        paramValue = myClass.getParamValue();
    }

    super();
}
Здесь MyClass - это твой класс на базе RunBase, а TypeParam и paramValue соответственно тип и значение нужного параметра. Ну, и твой класс должен иметь метод getParamValue() для того, чтобы значение можно было прочитать.

Это, разумеется, общая схема. Тут неплохо бы добавить проверку на имя класса.
Старый 20.08.2009, 16:31   #8  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
А еще лучше проверку на наличие метода в классе:
X++:
if (new SysDictClass(classIdGet(myClass)).hasObjectMethod('getParamValue'))
{
    ...
}
__________________
http://www.axdevposts.blogspot.com
Пришел, уведел.... отойди, дай другому увидеть!
Старый 20.08.2009, 21:24   #9  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Посмотрите, к примеру, как это сделано на лукап формах складских аналитик - там получается значение ItemId из вызывающей формы.
Старый 21.08.2009, 12:28   #10  
Denicce is offline
Denicce
Участник
 
62 / 54 (2) ++++
Регистрация: 22.03.2005
Адрес: Москва
Цитата:
Сообщение от zemius Посмотреть сообщение
Форму рисовать незя.. так это часть системы завязанной на RunBase
в системе есть примеры классов-наследников RunBase, которые вместо диалога используют формы для ввода параметров. Там уж никаких ограничений диалоговых окон нет.
Например (в DAX 4) \Classes\CustVendAutoSettlement_Cust_RU.
Расчеты с клиентами / Пер опер / Сопоставление / Периодическое сопоставление.
Теги
lookup, параметры, фильтр

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как передать параметр из Job-a в Class с возможностью перезаписи? Yury J DAX: Программирование 14 11.01.2009 17:11
Как сделать хитрый лукап miklenew DAX: Программирование 11 08.10.2007 17:28
Как передать параметр в отчёт ? bagyr DAX: Программирование 6 15.11.2005 11:33
Можно ли передать котрол формы как параметр метода? nicky DAX: Программирование 6 23.05.2005 18:40
Передать параметр Hobo DAX: Программирование 2 05.03.2004 19:18

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

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

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