Различная карточка для различных типов записи

Добрый день!

В новой для меня области начинают возникать различные вопросы...
Имеется задача: в разделе используется 5 типов например продуктов. Для двух из них нужно в карточке отобразить дополнительные пару полей.
Если пользоваться базовым функционалом, то мы создаем нужное количество карточек (в данном случае 5) для каждого типа, на основании одной базовой, содержащей все прочие поля. Далее в каждой карточке для каждого типа добавляем индивидуально дополнительные поля.
Далее в настройке Рабочих мест к разделу в деталь "Карточки редактирования" добавляем все 5 карточек для каждого типа отдельно. Все работает.

Нюанс. Мы не можем использовать две карточки - одна с допполями, другая без них, одна для нужных типов, другая для остальных, так как в этом случае получаем обрушение системы на моменте открытия раздела - в нем на кнопке "добавить" генерируются динамически пунктики для создания каждого из типов продукта с именем, включающим в себя id соответствующей страницы редактирования (ну а так как страниц всего две, а типов много - получаем два ActionMenuItem с одинаковы именем и крах...)
Вопрос. Для тонкой настройки множества параметров для разных типов эта схема удобна, а вот если все так, как я описал? Есть ли другой путь?

Нравится

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

Кстати, вдогонку...
Гуру, подскажите для bpm-чайника стоит ли связываться и как проще сделать традиционное скрытие/показ контролов на карточке? Или такой метод будет идеологически совсем неправильным?

Александр, добро пожаловать в BPMonline :) На какой это версии? Думаю, стоит подправить базовую логику, чтобы название пункта меню формировалось как название типа + карточка.
Мы скрываем элементы управления используя метод public virtual void SetVisible(bool visible), он управляет видимостью с помощью выполнения скрипта на клиенте. и это быстрее, чем управлять видимостью меняя свойство public virtual bool Hidden, хотя так тоже можно.

Это версия 5.3.0.332
Базовая логика - с непривычки боязно, я буду бороться с этим страхом, обещаю;) настораживает, что это название потом может использоваться для подъема карточки, передаваясь куда-то. Соответственно править надо и его, почва для исследования есть.

А скрытие идеологически правильно будет, или все же надо стараться уходить от таких методов?

По-моему, не используется само название, там при создании реестра динамически формируются пункты выпадающего меню кнопки добавить в соответствии с зарегистрированной информацией в разделе Рабочие места и тут же им добавляются обработчики нажатия, так что не должно быть ничего преступного :)
В разумных пределах, думаю, это нормально, а если там 200 контролов скрыто, то может быть заметно.

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