Показать сообщение отдельно
Старый 20.08.2009, 15:14   #8  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,709 / 1201 (44) ++++++++
Регистрация: 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() для того, чтобы значение можно было прочитать.

Это, разумеется, общая схема. Тут неплохо бы добавить проверку на имя класса.