|  10.01.2020, 15:57 | #1 | 
| Участник | 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();
    }Проблема в том что система не вызывает метод, судя по дебаггеру отрабатывает только стандартный метод на форме. В чем может быть проблема? | 
|  | 
|  10.01.2020, 16:49 | #2 | 
| Участник | 
			
			В вопросе разобрался. Event не вызывается если на контроле определен метод и не происходит вызова super()
		 Последний раз редактировалось syl; 10.01.2020 в 17:18. | 
|  | |
| За это сообщение автора поблагодарили: Logger (1). | |
|  | 
| 
 |