Всем доброго времени суток. Версия 7.11.
Задача в общем такая: есть несколько страниц редактирования раздела (к примеру, обращения Case). То, какую страницу показывать зависит от значения специальной справочной колонки "Тип страницы редактирования", здесь всё стандартно.
Далее есть другая колонка обращения - например, "Сервис", при этом в данных сервиса указывается, какая страница редактирования соответствует выбранному сервису. Всё дело в том, что одна и та же страница редактирования может соответствовать нескольким сервисам, т.е. связь примерно такая:
Сервис 1 - Тип страницы 1 Сервис 2 - Тип страницы 1 Сервис 3 - Тип страницы 2
Соответственно, привязать вид страницы редактирования напрямую к сервису не получается, из-за чего и вводится та самая дополнительная колонка "Тип страницы".
Возможна ли реализация такого вариант: по клику на кнопку "Добавить" в разделе всплывает мини-карточка, в которой указывается сервис (и несколько других колонок, необходимых для настройки), после чего по нажатию на кнопку "Сохранить" в мини-карточке открывается уже полноценная страница соответствующего типа?
На практике такую конструкцию реализовали при помощи бизнес-процесса и преднастроенной страницы вместо мини-карточки. Вариант с мини-карточкой конечно смотрелся бы намного изящнее.
Нравится
Я так понимаю, у вас уже для раздела несколько страниц редактирования?
Тогда в теории: достаточно в onSaved методе министраницы делать вызов нужной страницы (в зависимости от типа) на редактирование.
Варфоломеев Данила,
да.
Проблема в том, как вызывать сразу миникарточку без выпадающего меню с типом страницы.
Инструкция на академии не помогла: https://academy.terrasoft.ru/documents/technic-sdk/7-12/kak-sozdat-mini…
Смородинов Денис пишет:
без выпадающего меню с типом страницы.
Вот тут даже интересно. У вас стоит галочка в мастере "использовать миникарточку на добавление"? Если да, то он открывает одну и ту же миникарточку, но только после выбора какого-либо типа из выпадающего меню?
В любом случае самый топорный метод - перегрузить initEditPages, зачистить тот мусор, что попадает в коллекцию и занести 1 запись со ссылкой на миникарточку
Варфоломеев Данила,
это 7.11. Там ещё нет галочки и мастера дизайна миникарточки((
Собственно, задача состояла в том, чтобы избавиться от этого выпадающего меню, и открывать нужную страницу после выбора сервиса в миникарточке, т.к. - см выше в основном описании. Ну и всего типов страниц может быть в итоге много.
Варфоломеев Данила пишет:
перегрузить initEditPages
Не подскажете, где он определяется? В BaseSectionV2 уже следует вызов в init.
Смородинов Денис,
BaseSchemaViewModel.
Кстати, вы можете остановись дебагером, навести на функцию, вам хром выдаст её определение, щёлкаете на него, попадаете в функцию(и соответственно в модуль где она определена)