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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.01.2018, 17:57   #1  
Maximin is offline
Maximin
NavAx
NavAx Club
 
408 / 341 (12) ++++++
Регистрация: 09.10.2002
Адрес: Москва
AX7 D365 Перехват lookup на поле datasource
Доброго дня, коллеги!

Кто-нибудь пробовал в D365 (AX7) сделать кастомный lookup, перекрывая (registerOverride) событие lookup именно у поля datasource, а не контрола (FormStringControl). У кого-то это получилось? А то или лыжи не едут, или поломано что-то где-то. Нужно, т.к. хочу, чтобы лукап работал всегда, даже если юзер руками добавил поле на форму.
Так вот - в поле даже перевернутый треугольник для выбора не появляется (т.е. оно остается просто полем,а не combobox). При попытке принудительно сказать ему FormLookupButton:Always, оно становится Combobox, но при поытке открыть ниспадающий список - "Cannot open lookup due to insufficient metadata information".
Делаю так, регистрация registerOverride проходит, никаких runtime ошибок:
X++:
[ExtensionOf(FormStr(<myForm>))]
final public class <myForm>_Extension
{
    [FormDataSourceEventHandler(formDataSourceStr(<myForm>, <datasource>), FormDataSourceEventType::Initialized)]
    public static void <datasource>_OnInitialized(FormDataSource _sender, FormDataSourceEventArgs _e)
    {
        var overrider = <myForm>EventHandler::construct();

        _sender.object(fieldNum(<table from datasource>, <field for lookup>)).registerOverrideMethod(
            methodStr(FormDataObject, lookup),
            methodStr(<myForm>EventHandler, priceOverride_OnLookup), overrider);
    }
}
//Теперь класс, обрабатывающий лукап
class <myForm>EventHandler
{
    protected void new()
    {
    }

    public static <myForm>EventHandler construct()
    {
        return new <myForm>EventHandler();
    }

    public void priceOverride_OnLookup(FormDataObject _targetField, FormControl _formControl, str _filterStr)
    {
        <myForm>EventHandler::LookupField(_formControl);
    }

    protected static void LookupField(FormControl callingControl)
    {
        Query query = new Query();
        QueryBuildDataSource queryBuildDataSource;
        QueryBuildRange queryBuildRange;

        ///blah-blah-blah
        ///...
        ///blah-blah-blah

        sysTableLookup.parmQuery(query);

        sysTableLookup.performFormLookup();
    }
}
P.S. Боже, какое это AX7 тормознутое, убогое и неудобное в разработке. Приходится сказать по сраному Visual Studio как лягушка по раскаленной сковороде, чтобы что-то увидеть и открыть. По десятку кликов, чтобы посмотреть пару форм. Дизайнер UI в VS и не ночевал. А чего стоят формы, не влезающие по вертикали на экран, особенно с гридом где-нибудь поближе к нижней границе, и кол-вом строк в ней побольше. Скачешь к кнопкам "+Add line" (или еще какой нужной кастомной) в заголовке грида, как идиот.
Такое впечатление, что в MS уже давно используют мысленные интерфейсы вместо клавиатур и мышей и никто не запаривается о тех, кто будет это все допиливать врукопашную.
И это я еще плевался на AX2012... да я сейчас почти молиться на неё готов.
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...

Последний раз редактировалось Maximin; 09.01.2018 в 18:00. Причина: Куда-то проваливаются русские символы в треугольных скобках
Теги
d365o, lookup

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
alirazazaidi: Custom financial Dimension shows in lookup D365 for Finance and operations Blog bot DAX Blogs 0 14.09.2017 13:11
dynamicsaxinsight: AX7/D365/Operations: Create custom data entity Blog bot DAX Blogs 0 14.09.2017 13:11
sunilrakesh: Reference group lookup in D365 (Ax7) Blog bot DAX Blogs 0 31.05.2017 17:11
patrickmouwen: AX7 – My top 12 highlights Blog bot DAX Blogs 0 27.02.2016 13:11
axforum blogs: Вспомогательный документооборот. Поле "Код конфигурации вспомогательного бизнес-правила" lookup ни чего не показывает. Blog bot DAX Blogs 0 08.04.2011 10:11
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:03.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.