доступ разрешен с ограничениями по правам
Настройка прав доступа в 1С 8
Вопрос о настройке прав доступа в программах 1С возникает в двух случаях:
Права пользователя в 1С
Скажем несколько слов о правах пользователей. Что означает ограничение прав доступа? В разрезе программных продуктов 1С, это запрет на совершение действий с какими-либо файлами и объектами. Например, можно закрыть пользователю доступ для изменения документа, копирования и даже просмотра. Соответственно, расширить права доступа означает дать разрешение на просмотр, изменение документа, копирование, сохранение и т.д.
При правильной настройке 1С система всегда ответит пользователю, если ему нельзя совершить то или иное действие с объектом: «у вас недостаточно прав для редактирования».
Пошаговая настройка прав доступа в 1С
Расскажем, как настроить права доступа на примере программы «1С:Бухгалтерия 8 редакция 3.0». Однако обратите внимание, что аналогичным образом настраиваются права доступа для пользователей и в других программных продуктах 1С. Например, инструкция также подойдет к «1С:Управление торговлей», «1С:Зарплата и управление персоналом», «1С:ERP» и другим ПП.
Шаг №1. Настройка пользователей и прав
В самом начале необходимо зайти в раздел настроек программы и выбрать раздел «Настройка пользователей и прав».
Это действие можно также выполнить на вкладке «Администрирование», если у вас есть необходимые права для действий.
Если Вы делаете настройку прав своей 1С впервые, рекомендуем оставить бесплатную заявку в поддержку по 1С через сервис Бит.Личный кабинет. Вам перезвонит консультант по 1С и поможет.
Шаг № 2. Пользователи
Для того, чтобы увидеть, к какую группу доступа входит отдельный пользователь, нужно перейти в раздел «Пользователи». Здесь можно создать нового пользователя 1С или выполнить редактирование для уже существующего или целой группы.
Важно! Вы сможете управлять данными списками и вносить изменения только в том случае, если сами имеете права администратора.
Чтобы создать необходимую группу пользователей, их можно выбрать из базы. Здесь нужно проверить, что установлены флажки «Вход в программу разрешен» и «Показывать в списке выбора». Если их не будет, то при авторизации пользователь себя не увидит.
Шаг № 3. Роли для группы
Итак, в нашей программе пользователи входят в группы с разрешенным доступом. Например, можно создать группу бухгалтеров, администраторов, кассиров, логистов и т.д. Отметим, что один и то же пользователь может относиться к нескольким разным группам. У каждой из групп прописываются роли.
Что такое роль? Это метаданные. От конфигурации вашей 1С будет зависеть, сколько их и какие они. Обычно их довольно много, поэтому важно не запутаться. Ведь вы можете назначить только одну лишнюю роль, а пользователю уже откроется доступ ко многим действиям.
Чтобы узнать, какие права откроются пользователю, нужно перейти во вкладку «Описание».
Роли могут быть базовыми, которые позволяют только просматривать документ. Могут быть специальными, когда открывается доступ для редактирования.
Шаг № 4. Профиль групп доступа
Допустим, что вам необходимо разрешить группе бухгалтеров редактировать реквизиты объектов. Для этого зайдите в раздел «Профиль групп доступа». Установите флажок «редактировать реквизиты объектов».
Примечание: для редактирования ролей целесообразно предварительно скопировать нужную роль, и уже скопированную роль менять. При этом кнопка «Только выбранные» должна быть «отжатой» (см скриншот ниже), поскольку в типовых профилях показываются только используемые роли.
Шаг № 5. Ограничение на уровне записей
Речь идет о RLS (Record Level Security). Вы найдете необходимую колонку в «Отчете по правам пользователя», в разделе «Права доступа». Чтобы работать с ограничение на уровне записей, нужно установить соответствующий флажок во вкладке.
Для чего необходима эта функция? Это дополнительные условия, которые могут поставить ограничения на конкретный объект в базе данных. Очень удобно, если нужно закрыть доступ к файлу отдельного пользователя или группы. При этом программа предупредит, что данные настройки могут замедлить работу системы.
Почему? В этом случае система 1С каждый раз будет запрашивать информацию о том, разрешено ли пользователю просматривать какой-то файл.
Вы также можете перемещать пользователя по группам в 1С, чтобы изменить права доступа.
Шаг № 6. Новые роли
Чтобы не путаться в бесконечном разнообразии ролей, рекомендуем создать собственные роли. Для этого зайдите в дерево метаданных.
Разграничить права в новой роли можно путем выставления необходимых флажков напротив нужного вам права.
Задать ограничение можно в правом нижнем углу. Здесь работает механизм настройки прав доступа по отношению к конкретным данным.
К примеру, вы можете ограничить изменение документа только по одной организации.
Используйте конструктор ограничений доступа. Он поможет выбрать необходимые условия для доступа. Кроме того, программа предложит вас шаблоны ограничений, которые останется только выбрать и добавить.
Примечание: для создания новых ролей в режиме Конфигуратора необходимо включить возможность изменения конфигурации.
Другие настройки 1С
Итак, вы настроили все права доступа в 1С, какие требовалось. Что же еще предлагает система?
Обратите внимание на следующие разделы:
Их названия говорят сами за себя. Эти настройки относятся к внешнему виду отчетов программы.
Если вы зайдете в раздел «Настройки пользователей», то можете настроить такой внешний вид, какой вам понравится и какой будет более удобным.
Здесь выбранный флажок «Разрешить доступ внешним пользователям» откроет возможности для внешних пользователей. Такими пользователями могут быть покупатели вашего интернет-магазина, который работает на базе 1С.
Разработчики 1С позаботились о том, чтобы предоставить пользователям широкие возможности для администрирования прав доступа. Инструменты могут показаться непростыми. Но это только сначала. Используйте наши рекомендации и инструкцию, и тогда в вашей компании не возникнет трудностей с настройкой прав доступа пользователей к тем или иным объектам.
Обратите внимание на то, чтобы у вас был действующий договор 1С:ИТС. Только в этом случае вы сможете пользоваться самыми актуальными данными и документами в системе 1С. Позвоните нашим специалистам и узнайте о сроке вашего договора 1С:ИТС.
Права доступа для работы с отчетностью
Чтобы сотрудник мог формировать отчетность, разрешите ему доступ в кабинет компании на online.sbis.ru. Также назначьте права и органичения: укажите, с какими участками системы он сможет работать и какие действия выполнять.
В карточке сотрудника укажите, какой уровень доступа будет у него к разным участкам системы:
От участка системы зависит, в каких разделах сотрудник сможет работать и какие отчеты формировать.
Участок системы
Что доступно сотруднику
РАЗДЕЛЫ ОТЧЕТНОСТИ
ОТЧЕТНОСТЬ В ГОСОРГАНЫ
Загрузка отчетов, в которых есть сведения о сотрудниках (2-НДФЛ, РСВ, СЗВ-М, СЗВ-ТД и другие).
Все отчеты, кроме тех, в которых есть сведения о сотрудниках (2-НДФЛ, РСВ, СЗВ-М, СЗВ-ТД и другие).
БОЛЬНИЧНЫЕ И ПОСОБИЯ
Запрос ЭЛН и отправка расчета из больничного.
ОФОРМЛЕНИЕ СОТРУДНИКА НА ПЕНСИЮ
ТРЕБОВАНИЯ
СВЕРКА
ПИСЬМА И РАССЫЛКИ
Получение массовых рассылок от госорганов.
Отправка писем в Налоговую инспекцию, Пенсионный фонд или Росстат.
СПРАВКИ И ЗАЯВЛЕНИЯ
Формы без срока сдачи (заявления, уведомления, анкеты и т.д.), которые находятся в разделе «Справки и заявления».
УПОЛНОМОЧЕННАЯ БУХГАЛТЕРИЯ
Работа с доверенностями клиентов в разделе «Документы/Доверенности» на вкладке «Другие компании».
Для раздела «Отчетность» ограничения настраиваются так же, как на других участках системы, но имеют свои особенности.
Ограничение «По подразделению/офису»
В отчетах, которые не содержат данные о сотрудниках и филиалах, такое ограничение применяется к подразделению автора документа — того, кто создал отчет. Например, если у сотрудника есть доступ только к одному подразделению, он сможет видеть отчет только за это подразделение.
В отчетах по сотрудникам (РСВ, 2-НДФЛ, СЗВ-М, больничные и другие) оно применяется к справочнику сотрудников. Например, если у автора есть доступ только к одному подразделению компании, то он сможет добавить в отчет сотрудников только этого подразделения.
На ограничение по подразделениям/офисам влияют структура компании и расположение карточки сотрудника в справочнике. Если карточка не включена ни в одно подразделение (находится в корне структуры), ограничения по подразделению «Свой офис» и «Свое подразделение» не будут работать.
Ограничение «По компании»
Компания — это плательщик, за которого сдается отчетность. Сотрудник может сдавать отчеты за головную организацию, всю компанию или конкретные филиалы.
Для настройки органичения в блоке «Области видимости» нажмите «юридических лиц». Выберите «Свой филиал» или «Своя организация». Либо нажмите «Еще. » и установите флаг:
Ограничение «По компании» может повлиять на формирование отчетов, которые заполняются сразу за несколько подразделений:
Для уполномоченной бухгалтерии настройте ограничение в блоке «По клиентам УБ».
Ограничение «По отчетности в госорганы»
С помощью такого ограничения можно запретить сотруднику доступ к определенному госоргану, конкретным формам отчетности, запросов или писем.
Для настройки ограничения в блоке «Области видимости» нажмите «отчетности в госорганы, кроме». Отметьте флагами госорганы или формы, к которым у пользователя не будет доступа.
Рассмотрим пример. Если у пользователя настроено ограничение:
Ограничение «Работа над записями»
В блоке «Работа над записями» можно запретить сотруднику выполнять определенное действие на участке системы:
Даже если установлен этот запрет, сотрудник сможет отправлять ответы на требования.
Одному пользователю может быть назначено несколько ролей. Если в одной из них установлено ограничение «По отчетам в контролирующие органы», а в другой запрета нет, сотрудник сможет работать с этими отчетами или госорганами.
Например, у пользователя две роли:
В этом случае пользователь сможет создавать все отчеты, потому что его роль «Главный бухгалтер» это разрешает.
Настройте права таким образом, чтобы у пользователя не было ролей, которые позволяют ему формировать те отчеты, с котороми он не должен работать.
Использование ограничений доступа к данным для различных объектов 1С:Предприятия 8
Этот раздел содержит информацию об особенностях использования ограничений доступа к данным, определяемых поведением различных объектов 1С:Предприятия.
О принципах функционирования ограничений доступа к данным
Основные принципы функционирования и использования ограничений доступа к данным описаны в документации 1С:Предприятия 8 и в разделе «Ограничения доступа к данным. Сведения о принципах функционирования».
Для лучшего понимания механизма проверки ограничений доступа полезно иметь в виду следующие правила:
Приведем несколько примеров.
Например, в случае простейшего ограничения вида:
ГДЕ Реквизит = &ПравильноеЗначениеРеквизита
можно считать, что для каждой записи, для которой проверяется ограничение(проверяемой записи), выполняется запрос следующего вида:
ВЫБРАТЬ 1
ИЗ ТаблицаИзОднойПроверяемойЗаписи
ГДЕ Реквизит = &ПравильноеЗначениеРеквизита
В данной таблице доступ к записи, в которой значение реквизита «Реквизит» совпадает со значением параметра сеанса «ПравильноеЗначениеРеквизита», разрешен. К другим записям этой таблицы доступ запрещен.
Другой пример. Усложним ограничение. Допустим нужно разрешить доступ к записи таблицы «Справочник.Контрагенты» не только если ее «Реквизит» имеет «правильное значение», но и в том случае, если «правильное значение» имеет «Реквизит» родителя этой записи (1-го или 2-го уровня). В этом случае ограничение может иметь следующий вид:
Контрагенты
ИЗ Справочник.Контрагенты КАК Контрагенты
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты1
ПО Контрагенты.Родитель = Контрагенты1.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты2
ПО Контрагенты1.Родитель = Контрагенты2.Ссылка
ГДЕ Контрагенты.Реквизит = &ПравильноеЗначениеРеквизита ИЛИ Контрагенты1.Реквизит = &ПравильноеЗначениеРеквизита ИЛИ Контрагенты2.Реквизит = &ПравильноеЗначениеРеквизита
Тогда запрос, который будет выполнятся в процессе проверки этого ограничения для конкретной записи справочника «Контрагенты», будет иметь вид:
ВЫБРАТЬ 1
ИЗ ТаблицаИзОднойПроверяемойЗаписи КАК Контрагенты
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты1
ПО Контрагенты.Родитель = Контрагенты1.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты2
ПО Контрагенты1.Родитель = Контрагенты2.Ссылка
ГДЕ Контрагенты.Реквизит = &ПравильноеЗначениеРеквизита ИЛИ Контрагенты1.Реквизит = &ПравильноеЗначениеРеквизита ИЛИ Контрагенты2.Реквизит = &ПравильноеЗначениеРеквизита
Обращения по ссылкам в запросах и ограничения доступа к данным
Пусть на справочник «Контрагенты» установлено следующее ограничение доступа:
ГДЕ Ответственный = &ТекущийПользователь
а сам справочник содержит такие записи:
Ответственный
(ссылка на Справочник.Пользователи)
Пусть регистр сведений «КонтактнаяИнформация» содержит следующие записи:
КонтактноеЛицо
(ссылка на Справочник.ФизЛица)
Организация
(ссылка на Справочник.Контрагенты)
Тогда если текущим пользователем является пользователь «Иванов», то результатом запроса:
ВЫБРАТЬ РАЗРЕШЕННЫЕ Имя, Ответственный
ИЗ Справочник.Контрагенты
Ответственный
(ссылка на Справочник.Пользователи)
Однако, результатом следующего запроса:
ВЫБРАТЬ РАЗРЕШЕННЫЕ КонтактноеЛицо, Организация
ИЗ РегистрСведений.КонтактнаяИнформация
Ответственный
(ссылка на Справочник.Пользователи)
ВЫБРАТЬ РАЗРЕШЕННЫЕ КонтактноеЛицо, Организация.Имя КАК Имя, Организация.Ответственный КАК Ответственный
ИЗ РегистрСведений.КонтактнаяИнформация
поскольку противоречащие ограничению записи справочника «Контрагенты» считаются отсутствующими, а значениями полей «Имя» и «Ответственный» по ссылкам, указывающим на несуществующие записи, является значение NULL.
Если же необходимо по тому же признаку ограничить доступ к записям регистра сведений «КонтактнаяИнформация», то на этот регистр можно наложить ограничение вида:
ГДЕ Организация.Ответственный = &ТекущийПользователь
В этом случае результатом выполнения последнего запроса будет таблица:
Ограничения и табличные части
Ограничения доступа к данным действуют только на записи таблиц верхнего уровня и не могут ограничивать доступность записей табличных частей. С другой стороны, в тексте ограничения поля табличных частей использоваться могут. В этом случае в процессе проверки ограничения для некоторой записи будет исполнен запрос, в котором табличная часть будет соединена с таблицей из одной проверяемой записи левым внешнем соединением. Таким образом запись будет удовлетворять ограничению, если в ее табличной части найдется хотя бы одна запись, для которой условие в ограничении принимает значение «Истина».
Из соображений эффективности в ограничениях доступа к данным нельзя использовать агрегатные функции. Поэтому возможности участия в ограничениях доступа к данным каких-нибудь условий на совокупности записей табличных частей не предусмотрено. Подобная цель может быть достигнута посредством запросов, вложенных в ограничения, однако пользоваться этим необходимо с осторожностью из-за возможного снижения производительности.
Например, если документ «Накладная» содержит табличную часть «Состав», то ограничения доступа к этому документу проверяются при обращении к каждой накладной, как к единому целому и не могут разрешить доступ к какой-нибудь одной записи его табличной части «Состав», а к какой-нибудь другой запретить.
Пусть таблица «Документ.Накладная» содержит следующие записи:
Контрагент
(ссылка на Справочник.Контрагенты)
Состав (табличная часть)
В этом случае запрос, исполняемый для каждой накладной в процессе проверки следующего ограничения:
ГДЕ Состав.Количество > 50
ВЫБРАТЬ 1
ИЗ ТаблицаИзОднойПроверяемойЗаписи КАК Накладная
ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ Документ.Накладная.Состав КАК Состав
ПО Накладная.Ссылка = Состав.Ссылка
ГДЕ Состав.Количество > 50
Следовательно доступ будет разрешен только для записи «Трикотажная фабрика». Поэтому запрос:
ВЫБРАТЬ РАЗРЕШЕННЫЕ Контрагент, Состав.(Номенклатура, Количество)
ИЗ Документ.Накладная
а запрос к вложенной таблице:
ВЫБРАТЬ РАЗРЕШЕННЫЕ Контрагент, Номенклатура, Количество
ИЗ Документ.Накладная.Состав
поскольку ограничение накладывается только на записи верхнего уровня, но не на записи табличных частей.
Если нужно разрешить доступ еще и к тем накладным, у которых состав пустой, то ограничение может быть модифицировано так:
ГДЕ Состав.Количество > 50 ИЛИ Состав.Количество ЕСТЬ NULL
Если же необходимо разрешить доступ только к тем накладным, у которых в табличной части «Состав» нет записей с «Количеством», превышающем 50, то в ограничении необходимо использовать вложенный запрос:
Все операции над объектами встроенного языка 1С:Предприятия выполняются в режиме «ВСЕ» (без использования режима «РАЗРЕШЕННЫЕ»). Для успешного получения разрешенных объектов в соответствующих методах объектов необходимо указывать отборы, не противоречащие ограничениям. Например, если на чтение из регистра сведений «КонтактнаяИнформация» установлено ограничение вида:
ГДЕ Тип = &ТипКонтактнойИнформации»
то для успешного выполнения метода
необходимо установить отбор:
Если ограничение доступа сложное и не может быть сформулировано в терминах отборов, то использование выборки (метод Выбрать() ) и аналогичных оказывается невозможным. В этом случае следует использовать запросы. Проектирование разграничения доступа к данным таким образом, чтобы ограничения могли быть сформулированы в терминах отборов, позволит использовать объекты встроенного языка с максимальной гибкостью.
Виртуальные таблицы запросов
При использовании в запросах без ключевого слова РАЗРЕШЕННЫЕ виртуальных таблиц в условиях установленных ограничений доступа к данным необходимо указывать отборы, не противоречащие ограничениям не только для запроса в целом, но и для виртуальных таблиц. Например:
ВЫБРАТЬ
КонтактнаяИнформацияСрезПервых.Представление
ИЗ
РегистрСведений.КонтактнаяИнформация.СрезПоследних(, Тип = &Тип ) КАК КонтактнаяИнформацияСрезПервых
ГДЕ
КонтактнаяИнформацияСрезПервых.Тип = &Тип
Выделенный отбор по виртуальной таблице «СрезПоследних» может содержать произвольное логическое выражение, допустимое для раздела ГДЕ, использующее поля, которые присутствуют в виртуальной таблице.