Добрый день. Реализовали вызов справочного окна с иерархической структурой на основе представления с двухуровневой иерархией (в объекте представления указали колонку для иерархии, при вызове справочного окна в конфиге установили свойство hierarchical: true). Вызов окна работает. Но возникла проблема с поиском: элементы нижнего уровня не отображаются, если элементы верхнего уровня не соответствуют условию фильтрации (примеры на скриншотах). Выяснили, что фильтр применяется в методе pushSelectFilters в LookupPageViewModelGenerator, но замещение этой схемы запрещено. Необходимо сделать так, чтобы элементы верхнего уровня отображались, если есть подчинённые элементы, которые удовлетворяют условиям в строке фильтра. Есть ли альтернативные способы реализации? Кто-то сталкивался с подобной проблемой?
Смотрите, создаете новую схему MyNewLookupPageViewModelGenerator
В ней можете сделать extend оригинальной схемы, либо как самый простой способ для быстрого теста, полностью скопировать оригинальную, заменив названия только.
Затем создаете по такому же принципу свою схему MyNewLookupPage в нем подключаете ранее созданную схему.
И там где вы вызываете свой справочник с иерархической структурой делаете вызов с таким конфигом
var config = {
entitySchemaName: "ExampleTable",
columns: ["Name", "Parent.Name"],
multiSelect: false,
hierarchical: true,
lookupPageName: "MyNewLookupPage"
};
После этого при открытии вашего справочника, будет работать уже ваша реализация метода pushSelectFilters в схеме MyNewLookupPageViewModelGenerator
Здравствуйте, Ольга!
Как сказала, Анна, такая возможность есть.
Для этого необходимо в дизайнере объектов установить в поле "Родитель в иерархии" колонку, которая будет родительской. При этом у Вас для страницы реестра нужно установить глубину вложенности (по умолчанию 1).
Но... Не все так просто.:cry:
Реестр отображает только 41 запись из БД. При установлении иерархического отображения реестра пропадает возможность постраничного просмотра.:cry:
Команда разработчиков системы на данный момент занимается исправлением этой ошибки, и в ближайших версиях BPMonline эта ошибка обязательно будет исправлена.
Спасибо Вам за вопрос.