Публичные и внутренние формы. Контроль доступа
Введение
Для любого шаблона (кроме шаблона процесса) можно создать неограниченное число форм. На них можно поместить разные атрибуты, и каждая форма может предназначаться для отдельной категории пользователей.
Доступ пользователей к форме определяется с помощью ролей и типа формы.
Здесь рассматривается контроль доступа к формам посредством типа формы.
Определения
Предусмотрено два типа форм: публичная и внутренняя.
- К публичной форме можно перейти с помощью селектора форм рядом с заголовком записи.
- Внутренняя форма не отображается в селекторе форм.
- Внутренняя форма отображается, только если она вложена в другую форму или указана в качестве формы для записей (например, при запуске процесса, при создании записи, в диалоговых окнах).
- К внутренней форме можно перейти по прямой ссылке.
- Вложенная форма отображается в составе родительской формы независимо от того, является ли она внутренней или публичной, и независимо от разрешения на просмотр вложенной формы в роли пользователя.
- Ни внутренняя, ни публичная форма не отображается, если роль пользователя не разрешает просмотр данной формы.
- По умолчанию формы являются публичными. Чтобы ограничить доступ к форме через селектор форм, необходимо сменить тип формы на внутреннюю.
Примечание
В начальном событии и пользовательской задаче отображается только определённая форма связанного шаблона записи и селектор форм недоступен.
Стартовая форма и форма пользовательской задачи всегда являются публичными.
Пример настройки внутренней формы для ограничения доступа к ней
В качестве примера создадим в шаблоне записи две формы и разграничим доступ к ним:
- Клиент — публичная форма, будет доступна через селектор форм наряду с основной формой шаблона.
- Диспетчер — внутренняя форма, не будет доступна через селектор форм. Пользователь сможет перейти к этой форме только по прямой ссылке, например, отправленной в эл. письме.
Настройка форм
-
Создайте шаблон записи «Заявки» со следующими атрибутами:
Название Тип Свойства Тип ТС Список значений Добавьте значения «легковой автомобиль», «автобус», «грузовой автомобиль» Количество пассажиров Число Количество знаков после запятой: 0 Водитель Аккаунт -
Поместите на основную форму шаблона атрибуты «Тип ТС» и «Количество пассажиров».
- Создайте форму «Клиент» и поместите на неё атрибут «Количество пассажиров».
- Создайте форму «Диспетчер» и поместите на неё атрибуты «Тип ТС», «Количество пассажиров», «Водитель».
- В свойствах формы «Диспетчер» выберите тип «Внутренняя».
Тестирование
- Создайте новую запись в шаблоне «Заявки».
- Откроется основная форма шаблона.
-
Нажмите селектор форм рядом с заголовком записи:
- В раскрывающемся списке под селектором будут отображаться основная форма шаблона и форма «Клиент».
- Форма «Диспетчер» в списке отображаться не будет.
-
Выберите и просмотрите форму «Клиент».
-
Перейдите к форме «Диспетчер», используя ссылку вида:
http://example.com/#form/<oa.XX>/<form.XX>/<RecordID>
Здесь:
http://example.com/
— адрес сервера Comindware Business Application Platform;<oa.XX>
— ID шаблона записи «Заявки» (его видно в списке шаблонов);<form.XX>
— ID формы «Диспетчер» (его видно в адресной строке браузера в конструкторе формы);<RecordID>
— ID записи «Заявки».
Связанные статьи
Формы. Определения, редактирование, удаление, использование списка форм
Стартовая форма и форма пользовательской задачи
Роли в приложении. Определения, настройка, объединение, удаление
Эта статья была полезна 1 чел.