Доброго времени суток!
Суть проблемы: есть форма с решеткой. В решетке одна из колонн - edit поле (колонна показывает конкретное значение из классификатора вместо внешнего ключа).
Для этой колонны переопределен метод lookup, который возвращает значение внешнего ключа. Также, для колонны переопределен метод modified.
Сложность в том, что значение, которое видит пользователь - необязательно уникальное. Поэтому, если значение, которое ввел пользователь вручную, соответствует нескольким записям в классификаторе, то надо предложить пользователю выбрать его из отфильтрованного lookup'а.
Lookup появляется только при нажатии кнопки в поле. Когда я вызываю его из метода modified, то lookup не появляется.
Я пробовал как просто вызывать (уточнение: в lookup() используется SysTableLookup)
так и
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);
Как это возможно реализовать?