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