Решил выложить для ознакомления публики свое расширение конфигурации позволяющее упростить работу по настройке профилей групп доступа.
Если вы вынуждены использовать профили групп доступа отличные от типовых, но сделанных на основании типовых путем копирования первых или кропотливой установки галочек по образцу и подобию, то это расширение для вас.
Расширение добавляет три команды в форме профилей групп доступа позволяющие заполнить вкладку "Разрешенные действия (роли)":
- Скопировать отмеченные роли из другого профиля - позволяет выбрать другой профиль из которого будут взяты отмеченные роли и такие же роли будут отмечены в списке;
- Выполнить замену ролей для изменения на роли для чтения - берет все роли в конфигурации и пытается сопоставить их между собой и потом произвести замену, допустим есть роль "ДобавлениеИзменениеЗаказовНаПеремещение" и роль "ЧтениеЗаказовНаПеремещение", так вот если в списке отмечена роль "ДобавлениеИзменениеЗаказовНаПеремещение", то она будет заменена на роль "ЧтениеЗаказовНаПеремещение", конечно не факт что это 100% адекватная замена, но вручную подбираться эти соответствия головная боль, когда нужно сделать профиль с правами только для чтения, коих в типовом варианте не предоставляется;
- Заполнить по настройкам автозаполнения - берет настройки с вкладки "Автозаполнение ролей" и производит заполнение списка отмечая в нем роли, более подробно про механизм работы будет описано ниже.
Также добавляется вкладка "Автозаполнение ролей", на которой выведены три списка "Базовые профили", "Удаляемые роли", "Добавляемые роли" и флажок "Использовать автозаполнение ролей".
Флажок "Использовать автозаполнение ролей" позволяет указать, что если в общем списке профилей групп доступа будет нажата кнопка "Заполнить профили групп доступа по настройкам автозаполнения", то этот профиль будет пакетно перезаполнен как и другие профили, в которых тоже будет установлен данный флажок. Пакетная обработка бывает нужна при обновлении конфигурации чтобы все не типовые профили обновились. Перезаполнение будет идти согласно тех настроек, что сделаны будут в списках "Базовые профили", "Удаляемые роли", "Добавляемые роли".
В списке "Базовые профили" необходимо перечислить все профили (не автозаполняемые), из которых должны быть взяты роли для заполнения первой вкладки "Разрешенные действия (роли)". Там же в списке есть колонка "Заменить роли на редактирование ролями на чтение" в которой можно установить флажек сказав тем самым, что нужно не просто взять все роли из профиля, а еще попытаться их заменить на роли только для чтения, действие аналогичное команде "Выполнить замену ролей для изменения на роли для чтения" описанной выше.
Механизм такой, программа берет профиль, из него извлекает роли, если нужно (стоит флажок), то заменяет их ролями на чтение, потом запоминает получившиеся роли, далее берет второй профиль и проделывает то же самое, добавляет роли к первому списку и так далее. На выходе получаем большой список ролей из одного или нескольких профилей. Свернутый естественно, без дублей.
Далее вступает в действие список "Удаляемые роли", программа удаляет из ранее получившегося списка роли, которые отмечены в списке "Удаляемые роли".
Далее вступает в действие список "Добавляемые роли", программа добавляет к ранее получившемуся списку роли, которые отмечены в списке "Добавляемые роли".
По простому: берутся роли из базовых профилей (с заменами, если нужно на роли для чтения) - удаляемые роли + добавляемые роли
В типовых профилях данный функционал блокирует дабы не попортить поставляемые профили групп доступа.
Проверено на ERP 2.4.9. Предположительно все это может работать на конфигурациях типа КА 2.4, УТ 11.4 и прочих с похожей БСП.
Еще есть мысли, что можно доработать в данном расширении, но приветствуются замечания и советы.
UPD 16/04/2020
Добавлено условное оформление в справочниках "Профили групп доступа" и "Группы доступа", на вкладке "Ограничения доступа".
Запреты показываются красным, разрешения зеленым.
Глаза сливаются и не различают порой запреты там или разрешения в строках, поэтому цветовое оформление самое то!
UPD 27/09/2020
Адаптировал под ERP 2.4.13, КА 2.4.13, УТ 11.4.13...
Выложил под именем "ТуманностьБСП 3.1.3.523.cfe"
На самом деле я просто обновил формы, так как они просили их обновить из-за того, что типовая конфигурация обновилась, можете это и сами сделать, и качать для этого новую версию не нужно.
Формы которые лучше обновить дабы не было глюков неожиданных:
- Справочник.ГруппыДоступа.ФормаЭлемента
- Справочник.ПрофилиГруппДоступа.ФормаЭлемента
UPD 08/09/2022 - ВАЖНЫЙ
Адаптировал под ERP 2.5.9, КА 2.5.9, УТ 11.5.9...
Выложил под именем "ТуманностьБСП 3.1.6.297.cfe"
UPD 26/11/2022
В "ТуманностьБСП 3.1.6.297.cfe"исправлена тупая ошибка в модуле ПользователиСлужебный
Строка
ИдентификаторСтроки = Форма.Элементы.Элементы[ИмяТЧ].ТекущаяСтрока;
Заменена на
ИдентификаторСтроки = Форма.Элементы[ИмяТЧ].ТекущаяСтрока;