Показать сообщение отдельно
Старый 10.01.2020, 15:57   #1  
syl is offline
syl
Участник
Аватар для syl
 
236 / 21 (1) +++
Регистрация: 10.06.2015
Адрес: Киев
D365 onLookup EventHandler не работает
Стоит задача изменить Lookup, написал такой код:
X++:
 [FormControlEventHandler(formControlStr(TSTimesheetEntry, ProjId), FormControlEventType::Lookup)]
    public static void ProjId_OnLookup(FormControl sender, FormControlEventArgs e)
    {
        FormControlCancelableSuperEventArgs ce = e as FormControlCancelableSuperEventArgs;
        TSTimesheetLine timesheetLine = sender.formRun().dataSource(tableNum(TSTimesheetLine)).cursor();
        FormStringControl custAccountControl = sender.formRun().control(sender.formRun().controlId(formControlStr(TSTimesheetEntry, CustAccount)));
        Query query = TSTimesheetLine::buildQueryProjTable(timesheetLine, custAccountControl.text());

        //Prform lookup
        SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(ProjProjectLookup), sender);

        sysTableLookup.addLookupfield(fieldNum(ProjProjectLookup, ProjId));
        sysTableLookup.addLookupfield(fieldNum(ProjProjectLookup, Name));
        sysTableLookup.addLookupfield(fieldNum(ProjProjectLookup, Stage));

        sysTableLookup.addSelectionField(fieldNum(ProjProjectLookup, ProjId));

        sysTableLookup.parmQuery(query);
        sysTableLookup.performFormLookup();

        ce.CancelSuperCall();
    }
На данный момент это копия стандартного кода из которой я удалил несколько строк addLookupfield

Проблема в том что система не вызывает метод, судя по дебаггеру отрабатывает только стандартный метод на форме. В чем может быть проблема?