Редактирование роли
Как настроить права доступа?
Шаблоны ограничений
Примеры шаблонов
Роли описывают полномочия различных категорий пользователей на доступ к информации, обрабатываемой системой.
В левой части диалога выводится дерево объектов конфигурации по выбранным подсистемам. В правой - список прав по выбранному объекту конфигурации в дереве конфигурации, а также список ограничений доступа к полям данным.
Права доступа могут иметь два состояния: "Разрешено" (отметка установлена) и "Запрещено" (отметка снята).
Выберите объект конфигурации и в списке прав установите или снимите права для каждого вида действий.
С помощью команд меню "Действия" осуществляется установка и снятие всех прав, использование или отмена использования отбора по подсистемам.
Настройку прав для выбранной роли можно вывести в табличный и текстовый документы с помощью команды "Действия - Вывести список".
Если флажок "Устанавливать право на новый объект" установлен, то на каждый создаваемый объект автоматически даются права.
При установке или снятии флажка "Устанавливать права для реквизитов и табличных частей по умолчанию" выдается вопрос об установке или снятии прав на все реквизиты и табличные части. Ответ "Да" приводит к установке / снятию прав на все реквизиты и табличные части. Ответ "Нет" не приводит к изменению прав.
Если флажок "Независимые права подчиненных объектов" не установлен, то при определении права на объект, учитываются права родительского объекта. Если у родительского объекта нет права, то независимо от настройки у подчиненного, на подчиненный объект тоже нет права.
Если флажок "Независимые права подчиненных объектов" установлен, то при определении права на объект, учитывается только настройка права у этого подчиненного объекта.
Проверка права родительского объекта производится до сложения с правами остальных ролей. После сложения ролей, дополнительная проверка прав родительских объектов не производится.
Данные правила распространяются на следующие объекты:
-
Реквизиты, Стандартные реквизиты;
-
Табличные части, Стандартные табличные части;
-
Реквизиты табличных частей, Стандартные реквизиты стандартных табличных частей;
-
Команды.
На закладке "Шаблоны ограничений" осуществляется создание и редактирование шаблонов, используемых в тексте ограничений доступа.
Каждый шаблон ограничения доступа имеет имя и текст. Имя шаблона подчиняется обычными правилам для имен, принятых в системе 1С:Предприятие 8.
В имени шаблона, в скобках можно указать имена параметров, которые принимает шаблон. В тексте шаблона можно обращаться к параметрам с префиксом "#".
Пример:
Шаблон(Поле, Пользователь)
Текст шаблона:
ГДЕ #Поле = "#Пользователь"
Текст шаблона содержит часть текста на языке запросов, и может содержать параметры, которые выделяются при помощи символа ‘#'. После символа ‘#' могут следовать:
- ключевое слово Параметр, после которого, в скобках указывается номер параметра в шаблоне;
- ключевое слово ТекущаяТаблица – обозначает вставку в текст псевдонима текущей таблицы, для которой строится ограничение;
- символ # – обозначает вставку в текст одного символа #.
В инструкциях ограничений доступа можно использовать предопределенные шаблоны:
-
#ИмяТекущейТаблицы(в английском варианте встроенного языка: #CurrentTableName) – содержит полное имя таблицы, к которой применяется инструкция, на текущем варианте встроенного языка конфигурации в кавычках;
-
#ИмяТекущегоПраваДоступа(в английском варианте встроенного языка: #CurrentAccessRightName) – содержит имя права, для которого получается инструкция. Одно из: "ЧТЕНИЕ", "ДОБАВЛЕНИЕ", "ИЗМЕНЕНИЕ", "УДАЛЕНИЕ" (в английском варианте встроенного языка: "READ", "INSERT", "UPDATE", "DELETE" в кавычках.
Если имя параметра шаблона совпадет с именем предопределенного параметра, то используется значение параметра шаблона.
В ограничениях доступа возможно использование препроцессора.
Имеются следующие инструкции препроцессора:
#ЕСЛИ <Выражение> #ТОГДА
#ИНАЧЕЕСЛИ <Выражение> #ТОГДА
#ИНАЧЕ
#КОНЕЦЕСЛИ
В выражении можно использовать операции сравнения <,>,<=,>=, =, <>, можно использовать логические операции И, ИЛИ, НЕ, использовать параметры сеанса. Для обращения к параметру сеанса используется синтаксис &Параметр, где Параметр – имя параметра сеанса.
Если в инструкции #ЕСЛИ результатом выражения будет значение ИСТИНА, то в результирующий текст инструкции будет помещен текст, расположенный после ключевого слова #ТОГДА.
Если результатом выражения будет значение ЛОЖЬ, то текст, расположенный после ключевого слова #ТОГДА в результирующий текс помещен не будет.
Аналогично для инструкции #ИНАЧЕЕСЛИ.
Текст, записанный после инструкции #ИНАЧЕ будет помещен в результирующий текст в случае, если ни одно из ранних условий не сработало.
Если ограничение доступа содержит инструкции препроцессора, то такое ограничение при редактировании не проходит проверку синтаксиса. Кроме того, если ограничение доступа содержит инструкции препроцессора, то данное ограничение нельзя редактировать при помощи конструктора.
Выражение препроцессора инструкции ограничения доступа может содержать функцию СтрСодержит(Строка1,Строка2), где параметр Строка1 - строка, в которой искать, Строка2 - строка, которую нужно искать.
Также в выражении препроцессора можно использовать операцию "+" для сложения строк.
Шаблоны ограничений используются в тексте ограничений доступа следующим образом: в тексте ограничения указывается имя шаблона, перед которым указывается символ #. После имени шаблона, в круглых скобках, через запятую, перечисляются параметры шаблона. Значение каждого параметра заключено в двойные кавычки. При необходимости указания в тексте параметра символа двойной кавычки, следует использовать две двойные кавычки.
Система 1С:Предприятие 8 выполняет проверку синтаксиса текстов шаблонов, проверку синтаксиса использования шаблонов и макроподстановку текстов шаблонов ограничения доступа роли, в текст запроса. Макроподстановка шаблона заключается в:
- замене вхождений параметров в тексте шаблона на значения параметров из выражения использования шаблона в тексте ограничения;
- замене выражения использования шаблона в тексте запроса на получившийся текст шаблона.
Далее приведены примеры шаблонов ограничений:
Имя шаблона | Шаблон |
Тело шаблона | Итого = #Параметр(1) |
Использование | где #Шаблон("10") |
Результат | где Итого = 10 |
Имя шаблона | Шаблон1 |
Тело шаблона | ВидДокумента = #Параметр(1) |
Использование | где #Шаблон1("""Накладная""") |
Результат | ВидДокумента = "Накладная" |
Имя шаблона | Шаблон2 |
Тело шаблона | ВидДокумента = #Параметр(1) ## #Параметр(2) |
Использование | где #Шаблон2("""Накладная", "1""") |
Результат | ВидДокумента = "Накладная # 1" |
Имя шаблона | Шаблон3 |
Тело шаблона | ВидДокумента = #Параметр(3) |
Использование | где #Шаблон3("", "", """Накладная""") |
Результат | ВидДокумента = "Накладная" |