Многие сталкивались с требованиями Заказчика по настройке доступности тех или или иных элементов форм документов и справочников для определенных пользователей или Групп пользователей. Есть различные варианты решения данной Задачи: от использования RLS (позволяет настраивать Видимость и возможность Редактирования реквизитов объектов) до программного изменения модулей форм объектов. Но все эти решения в той или иной степени затрагивают сами объекты или изменяют права (изменения в конфигурации), что удорожает сопровождение и обновление конфигураций. И одним из основных недостатков этих решений является то, что они не являются достаточно гибкими и для изменения текущей настройки доступности и видимости приходится привлекать программистов, что опять ведет к удорожанию сопровождения решения.
Предлагаемое решение позволяет с минимальными изменениями в конфигурации добиться желаемого результата и без помощи программистов управлять доступом к элементам форм объектов (справочников и документов). Решение подходит практически для любой конфигурации и успешно себя зарекомендовало на проектах внедрения 1С:УПП 1.3, 1С:БП 1.6 (обычные формы), 1С:ERP 2.0; 1С:БП 3.0, 1С:УТ11.2, 1С:УНФ 1.6.
Механизм позволяет пользователю, имеющему соответствующие полномочия в информационной системе, «на лету», без изменения программного кода управлять видимостью и доступностью элементов интерфейсных форм объектов (справочников и документов). При этом все изменения, вносимые в правила отображения элементов интерфейсных форм объектов, вступают в силу сразу же после их внесения (без необходимости перезапуска сеанса пользователя, к которому они относятся) и начинают работать уже при следующем открытии формы.
Механизм позволяет управлять видимостью и доступностью любых объектов на форме, включая кнопки, поля ввода, элементы оформления (текст, рамка, картинка и т.п.), поля списков, табличные поля и их реквизиты, командные панели и др.
Ограничения видимости и доступности устанавливаются путем создания пользователем правил управления доступом к реквизитам форм объекта, которые могут быть назначены для конкретного пользователя из справочника «Пользователи» или для группы пользователей, предварительно созданной в справочнике «Группы пользователей».
Механизм позволяет создавать как «ужесточающие» Правила (когда Правило накладывает дополнительные ограничения на видимость или доступность, но при этом не может отменить запрет видимости или доступности, установленный на реквизит программно штатным образом), так и «вытесняющие» (когда видимость и доступность будет установлена для реквизита именно так, как это задано в Правиле, не взирая на то, как ее отрабатывают штатные ограничения программного кода конфигурации).
1. Интерфейс:
Для обеспечения удобства работы пользователя, Механизм имеет графический интерфейс управления правилами доступа, с помощью которого можно просмотреть существующие Правила, заданные для выбранного пользователя и/или объекта конфигурации, изменить существующие или добавить новые Правила:
Где:
1 – вид объекта для которого будут отображаться/создаваться Правила;
2 – ссылка на документ/элемент вида, заданного в п.1, по образцу форм которого будет формироваться структура реквизитов табличных полей формы в случаях, если они формируются динамически (программно);
3 – Пользователь или группа пользователей, на которых эти Правила будут распространяться;
4 – табличное поле с перечнем Правил, созданных для выбранного пользователя/группы пользователей с целью управления в его сеансе работы видимостью и доступностью заданных реквизитов указанных форм;
5 – Имя реквизита формы (со ссылкой на конкретную форму объекта выбранного в п.1) для которого будет работать текущее Правило;
6 – флаг, определяющий будет ли видимым указанный реквизит на форме для пользователя/группы пользователей, заданным в п.3 при выполнении условий Правил (установлен – реквизит будет видимым, снят – будет невидимым);
7 – флаг, определяющий будет ли доступным для редактирования указанный реквизит на форме для пользователя/группы пользователей, заданным в п.3 при выполнении условий Правил; имеет 3 состояния: установлен – реквизит будет доступным, частично установлен (серый флажок) – реквизит будет доступен в режиме «только чтение» (доступны копирование содержания поля, «педаль» просмотра элемента справочника и пр.), снят – будет недоступен;
8 – флаг, определяющий приоритетность Правила по отношению к ограничениям, устанавливаемым в формах объекта программно: если установлен, то Правило будет применяться в любом случае, снят – Правило будет применяться только для ужесточения ограничений, заданных программно. Например, на скриншоте мы видим Правило №3, согласно которого реквизит «Комментарий» на форме «ФормаЭлемента» справочника «Номенклатура» должен быть видимым, но недоступным. При текущем значении флага 8 (флаг снят), реквизит будет недоступен для редактирования всегда, но видимым он будет только в том случае, когда видимость не была ограничена программно (т.е. если реквизит был скрыт от пользователя программно, то он не появится на форме). Если же флаг 8 будет установлен, то реквизит по-прежнему будет всегда недоступен для редактирования, но при этом он также всегда будет видимым, не зависимо от программных установок и фильтров.
9 – условие, при котором будет срабатывать текущее Правило.
Для удобства, функционал формы разделен на 2 закладки: «Управление доступа» и «Текущие ограничения».
На закладке «Текущие ограничения» пользователь имеет возможность просмотреть правила, действующие в системе на текущий момент времени:
Ввод и корректировка условий выполняется при помощи конструктора условий, предоставляющего пользователю возможность легко и наглядно оперировать данными обрабатываемого объекта для формулирования условий применения Правил:
Где:
1 – перечень условий, определяющих применимость текущего Правила к конкретному объекту данных (конкретному документу или элементу справочника);
2 – поле объекта, по которому будет проводиться сравнение в условии (выбирается из дерева структуры отбора, формируемого программно для объекта конфигурации, исходя из его структуры метаданных);
3 – вид условия (вид сравнения пользователю предлагается выбрать из перечня возможных вариантов сравнения, зависящего от типа поля);
4 – значение для сравнения (зависит от типа поля);
5 – вариант объединения частей условия в случаях, когда оно является составным (возможные варианты «И» и «ИЛИ»);
Примечание: составные части условия объединяются в единое условие в порядке следования в списке конструктора и отрабатывают впоследствии согласно правилам работы логических операторов «И» и «ИЛИ» в среде разработки 1С8.х.
6 – внешний вид диалогового окна выбора поля для сравнения в условии (открывается при начале выбора п.5);
7 – кнопка переноса сформированных условий в обработку Правил.
2. Описание поставки:
- Руководство пользователя и описание подключения механизма управления видимостью и доступностью "Руководство пользователя (динамическое управление доступностью и видимостью реквизитов форм объектов) 1С8 v1.3.docx";
- Файл расширения "Управление видимостью и доступностью (Final, v2.0.11).cfe";
- Файл конфигурации (простая самописная - один документ и несколько справочников) "Регистр сведений + Общий модуль v2.0.11.cf";
- Дамп демонстрационной базы "Демо - Реализация товаров и услуг, Номенклатура.dt" с тремя примерами реализации прав доступа (Реализация товаров и услуг: форма документа и форма списка, а также справочник Номенклатура - форма элемента):
Рис. 1 - Запуск обработки (добавлена в интерфейс)
Рис. 2 - Текущие ограничения
Рис. 3 - Пример ограничения (Номер - недоступен, Контрагент - не виден), см. Рис. 2
Обновление:
В основной архив с решением добавлены файлы обновления для платформы 8.3.13:
- Управление видимостью и доступностью (Final, v2.1.10)+8.13.cfe - базовое расширение (только обий модуль)
- УправлениеВидимостьюИДоступностью (Final) - УНФ 1.6 (Заказ покупателя демо)+8.13.cfe - пример для УНФ 1.6 (1.6.16.153) - Заказ покупателя (общий модуль в конфигкрации, не в расширении);
- Ext1_ВводКорректировкаПравДоступаКРеквизитам_8.3.13.epf - обработка управления настройкой ограничений
PS В новых верстях платформы возможно включение общего модуля в расширение. Регистр сведений возможно так же включить в расширение.
3. Прочее
Требования
Платформа 1С версии не меньше 8.3.6 (с режимом совместимости 8.3.6, интерфейс Такси. Разрешить Версия 8.2).
Программный код
Программный код полностью открыт.
Внедрение и техническая поддержка
Консультации по внедрению программного продукта проводятся бесплатно. При необходимости, внедрение и настройка данного программного продукта проводится из расчета 1000 руб/час.
Обновление ПО
Обновление при выпуске нового релиза осуществляется бесплатно для клиентов, которые приобрели данное ПО. Такие клиенты автоматически получают обновления с описанием изменений.
Лицензирование
Приобретение программного продукта дает право на его установку и использование. Количество пользователей не ограничено и зависит только от наличия ключей платформы 1С.
Подключение
В поставку входят Демо-база (*.dt) с примерами реализации Механизма, файл конфигурации (*.cf), файл расширения (*.cfe) и Руководство пользователя. Описание особенностей, а также порядок подключения Механизма в конфигурацию подробно описаны в Руководстве (в конфигурацию добавляется регистр сведений и общий модуль, а также подключается и настраивается Расширение).
Причины купить
- Оперативное управление видимостью и доступностью любых элементов форм документов и справочников по пользователям и группам пользователей;
- Механизм внедряется в любую типовую конфигурацию;
- Типовые конфигурации остаются на поддержке 1С, что не удорожает их сопровождение (Доработки минимальны за счет использования механизма Расширений);
- Отсутствие необходимости прибегать к услугам программистов для расширения прав доступа к элементам форм документов и справочников;
- Немедленное вступление в силу изменений прав доступа (без необходимости привлечения программистов и перезапуска конфигурации);
Как следствие – получение мощного инструмента управления правами пользователей по доступу к элементам форм объектов, а также экономия расходов и нервов.