Показать сообщение отдельно
Старый 29.08.2016, 15:38   #1  
AX_Dan is offline
AX_Dan
Участник
 
3 / 10 (1) +
Регистрация: 29.08.2016
Как вызвать lookup метод из события modified
Доброго времени суток!

Суть проблемы: есть форма с решеткой. В решетке одна из колонн - edit поле (колонна показывает конкретное значение из классификатора вместо внешнего ключа).

Для этой колонны переопределен метод lookup, который возвращает значение внешнего ключа. Также, для колонны переопределен метод modified.

Сложность в том, что значение, которое видит пользователь - необязательно уникальное. Поэтому, если значение, которое ввел пользователь вручную, соответствует нескольким записям в классификаторе, то надо предложить пользователю выбрать его из отфильтрованного lookup'а.

Lookup появляется только при нажатии кнопки в поле. Когда я вызываю его из метода modified, то lookup не появляется.

Я пробовал как просто вызывать (уточнение: в lookup() используется SysTableLookup)
X++:
this.lookup();
так и
X++:
args = new Args();
args.name(formstr(apusMAKkodiLookup));
args.caller(this);

formRun = classfactory.formRunClass(args);
formRun.init();
formDatasource = formRun.dataSource();
formDatasource.insertIfEmpty(false);
formDatasource.allowCreate(false);
formDatasource.onlyFetchActive(true);

formDatasource.query().dataSourceTable(tablenum(apusMAKkodi)).addRange(fieldNum(apusMAKkodi, MAKKods)).value(strMAKkods);
this.PerformFormLookup(formRun);
Как это возможно реализовать?

Последний раз редактировалось AX_Dan; 29.08.2016 в 16:04.