Отображения в новом разделе записей (объектов) из других 2-х разделов.

Здравствуйте уважаемые форумчане!

Поставлена задача создать новый раздел "Клиенты" в котором будут отражены записи из 2-х других разделов "Контрагенты" и "Контакты" с типом "Клиент". Так же с возможностью создания/удаления/редактирования записей из всех разделов.

1) Первый вариант было создать свою схему вьюшку и union`ом тянуть данные, но возникает вопрос, как удалять параллельно записи.

2) Создать новый раздел и зависимостями подвязаться к схемам, однако немного не понятно как лучше это осуществить.

Подскажите, пожалуйста, как лучше такой вариант осуществить?
М.б. есть подобное исполнение...

Нравится

2 комментария

Здравствуйте, Александр!
Задача нетривиальна, и готовых решений у нас нет, так как предполагается один грид для одного объекта. Но решить можно.
По поводу Ваших способов.
1) Удалять записи можно либо средствами bpm'online, переопределив логику кнопки "Удалить", что в 7.3 довольно просто делается (метод onDeleteAccept в GridUtilitiesV2 - это для раздела), либо с помощью триггера на уровне БД.
2) Тут можно подойти по-разному, зависит от Вашей задачи. Можно попробовать добавить 2 грида на страницу раздела, а можно попробовать переопределить логику загрузки реестра. Ведь реестр отображает содержимое аттрибута "GridData", который является просто коллекцией записей. Загрузка осуществляется методом loadGridData, который определен в GridUtilitiesV2.
Но в обоих случаях непонятно, как быть с колонками, так как набор колонок у контакта и контрагента разный.
Как вариант, можно сделать отдельный объект или вьюху с двумя лукапными полями: ContactId и AccountId, а в реестр выводить колонки по связям базовыми средствами настройки колонок.

Спасибо Андрей!
Обязательно попробую!

Показать все комментарии