Изменение права пользователей в 1с 8.3. Бухучет инфо. Программная проверка прав доступа

Для того чтобы разграничить права доступа, в 1С 8.3 существуют специальные объекты конфигурации – роли. В дальнейшем они могут назначаться конкретным пользователям, должностям и т. п. В них указывается, какие объекты конфигурации будут доступны. Так же есть возможность прописать условия предоставления доступа.

Роли настраиваются в конфигураторе. Так же их можно назначить конкретным пользователям, но для удобства в 1С реализован механизм групп доступа. В справочнике пользователей откройте («Администрирование — Настройка пользователей и прав — Пользователи») карточку любого сотрудника и нажмите на кнопку «Права доступа». В разных конфигурациях интерфейс может отличаться, но суть одна и та же.

Перед вами откроется список записей справочника «Профили групп доступа». Флажками отмечаются те, права которых пользователю будут доступны.

Справочник профилей групп доступа («Администрирование — Настройка пользователей и прав — Профили групп доступа») содержит в себе перечень ролей, который будет доступен пользователю при его назначении. Доступные роли профиля отмечаются флагами.

У пользователей часто встречаются одинаковые наборы ролей. Использование данного механизма позволяет значительно упростить настройку прав, выбирая не сами роли, а профили групп доступа.

Роли в конфигураторе (для программистов)

В ролях указывается, какие объекты и при каких условиях будут доступны пользователю, которому они доступны. Откройте любую роль, и вы увидите две вкладки: «Права» и «Шаблоны ограничений».

На первой вкладке отображается список объектов конфигурации и назначенные для данной роли права на них.

При разрешении совершения каких-либо действий с объектом, есть возможность указать ограничение доступа к данным. Данный механизм называется RLS и позволяет настроить права на уровне записей. Он достаточно интересный, но при активном его использовании может снизиться производительность.

В нижней части формы роли можно настроить автоматическую установку прав:

  • для новых объектов (разрешающие права);
  • на реквизиты и табличные части (права наследуются от объекта – владельца)
  • на подчиненные объекты (права назначаются с учетом прав на родительские объекты).

Права можно назначить как на отбельные объекты, так и на всю конфигурацию в целом. В любой роли на вкладке «Права» выберите пункт с названием конфигурации. Справа отобразятся все возможные для нее роли. Здесь содержатся режимы запуска программы, «Все функции», административные и другие права. При нажатии на любое право, внизу отобразится его описание. Тут нет ничего сложного.

Настройки прав для остальных объектов конфигурации сходи между собой: чтение, добавление, удаления, проведение (для документов), управление итогами (для регистров накопления и бухгалтерии) и прочие. Здесь важно отметить право на «Интерактивное удаление». При его доступности пользователи смогут физически удалять данные из программы (shift + delete). Для важных объектов данное право назначать крайне нежелательно.

Программная проверка прав доступа

Для проверки доступности у пользователя какой-либо роли служит следующая функция:

  • РольДоступна(«АдминистраторСистемы»)

В том случае, когда проверяемая роль назначена пользователю, функция вернет значение «Истина». В противном случае – «Ложь».

Для того чтобы выполнить какие-либо действия с объектом, к которому нет доступа, можно воспользоваться следующим методом:

  • УстановитьПривилегированныйРежим(Истина)

После включения привилегированно режима никаких проверок прав не производится. По окончании действий над недоступными объектами необходимо снова вызвать данный метод с параметром «Ложь» для отключения данного режима. Помните, что в клиент — серверном варианте при выполнении на клиенте данный метод не выполняет никаких действий.

Для проверки того, установлен привилегированный режим служит функция (возвращает «Истина» или «Ложь»):

  • ПривилегированныйРежим()

Пользовательский интерфейс при отсутствии прав доступа

При попытке пользователя совершить какое-либо действие в программе, но которое у него нет прав будет выдано соответствующее предупреждение.

Бывают случаи, когда в каком-либо поле отображается надпись формата «<Объект не найден>» с указанием GUID, возможно, у пользователя тоже не хватает прав на чтение содержащегося в нем значения. Для проверки этой теории достаточно просмотреть значение данного поля под полными правами. Если надпись не пропадает – есть вероятность битой ссылки.

Программные продукты на основе платформы 1С имеют множество функций, как профильных, так и прикладных, то есть административных. Профильный функционал (конечно, в зависимости от предназначения решения) касается таких сфер, как закупка товаров, их продажа, складской, оперативный и управленческий учет, бухгалтерию, CRM, а в случае комплексных решений – и все вместе.

Естественно, что один сотрудник не в состоянии контролировать все бизнес-процессы организации, пусть они даже и автоматизированы. Поэтому администраторам систем 1С приходиться иметь дело с десятками и сотнями пользователей, работающими с определенным функционалом системы. Каждому из них приходится настраивать особые права, чтобы в их распоряжении были одновременно и все, и только нужные им документы, функции и отчеты. И вот тут мы начинаем рассматривать прикладной или административный функционал решений 1С, в который как раз и входит настройка прав доступа пользователей.

Настройки пользователя 1С 8.3

За права пользователей в 1С 8.3 отвечают специальные объекты структуры конфигурации – «Роли». В большинстве типовых конфигураций уже есть определенный список созданных стандартных ролей. Ими вы сможете пользоваться при создании учетных записей и настройке прав доступа для них. Если же стандартный набор вам не подходит, то его можно изменить или добавить свои роли.

Каждому пользователю могут быть назначены несколько ролей, отвечающих за конкретные права. Для того чтобы настроить права пользователей 1С нужно узнать, какие роли у них есть сейчас. Эту информацию можно получить двумя путями:

  • Через конфигуратор. Данный вариант подойдет для любых конфигураций;
  • В некоторых конфигурациях через режим «Предприятие».

Запускайте конфигуратор вашей базы 1С под именем пользователя с полными правами и откройте меню «Администрирование» -> «Пользователи». Чтобы узнать права у конкретного пользователя, необходимо нажать на строчку с его фамилией двойным кликом и перейти на вкладку «Прочие». Галочкой будут отмечены те роли, которые доступны пользователю. Чтобы добавить определенную роль или убрать ее, измените отметки и нажмите «ОК».



Если после анализа вы поняли, что стандартные роли не смогут полностью удовлетворить требования к разграничению прав, то необходимо их изменить. Для этого найдите нужную роль в дереве конфигурации и откройте ее двойным щелчком. В левой части открывшегося окна вы увидите перечень всех объектов конфигурации. В правой части галками отмечены те действия, права на которые заложены в этой роли, применительно к выбранному объекту слева.



Вы можете не только давать и убирать разрешения на определенные действия с объектами конфигурации, ставя и снимая галки. Помимо этого в платформу 1С встроен очень удобный механизм, отвечающий за ограничение прав пользователей на уровне записей – RLS. Он позволяет задавать условие, только при выполнении которого пользователь будет видеть данные информационной базы. С помощью RLS права пользователей в 1С 8.3 могут быть настроены так, что, например, каждый конкретный кладовщик будет видеть информацию только по своему складу.

Еще один способ добавить права на какой-либо объект пользователю, не изменяя стандартные роли – создать новую роль. Для этого нажмите на кнопку «Добавить», находясь в ветке конфигурации «Роли», и назовите новый объект. В открывшемся окне слева найдите нужные объекты конфигурации, а справа установите нужные права и ограничения. После сохранения новой роли необходимо обновить конфигурацию, зайти в список пользователей и добавить новую роль определенным пользователям.

Созданием пользователей и раздачей прав ответственность администратора информационной базы 1С не ограничивается. Сотрудники могут меняться, обязанности перераспределяться, и на все эти изменения администраторы должны быстро реагировать. Если сотрудник, выполнявший определенные функции в 1С, уволился, то необходимо отключить пользователя 1С, чтобы бывшие коллеги не пользовались учетной записью. В этом нам поможет список пользователей, который можно открыть в конфигураторе в меню «Администрирование».


Открыв настройки пользователя 1С, необходимо снять галки, отвечающие за нахождение имени сотрудника в списке выбора и аутентификацию. Таким образом, вы запретите входить под фамилией ушедшего сотрудника и сохраните настройки прав доступа, на случай, если сотрудник вернется. Также эти настройки пригодятся, если все полномочия передадут новому сотруднику – вам не придется заново настраивать роли.

Полностью удалять пользователя не рекомендуется еще и из-за того, что в системе в различных документах есть ссылки на ответственного пользователя. Если удалить запись, то появятся битые ссылки и недопонимание, кто создал конкретные документы, что может привести к неразберихе. Намного эффективнее отключить пользователя 1С от входа в систему, а в некоторых случаях снять полностью права (роли). Также в некоторых компаниях существует практика помечать неактивных пользователей определенным значком в поле «Имя», например: «*ИвановаТП».

В некоторых случаях администратору 1С может понадобиться срочно «выкинуть» пользователей из базы 1С. Это можно сделать двумя способами:

  1. Через режим «Предприятие» от пользователя с административными правами. Поддерживается не всеми конфигурациями;
  2. Через сервер приложений с помощью консоли кластера серверов 1С.

Чтобы воспользоваться первым вариантом, необходимо зайти в «НСИ и администрирование», открыть «Обслуживание» и запустить форму «Активные пользователи». Мы увидим перечень активных пользователей и сверху кнопку «Завершить», нажатие на которую позволит принудительно завершить сеансы пользователей. Кроме этого, в этом перечне можно увидеть имя компьютера и время начала работы, что поможет отследить зависшие сеансы.


Второй вариант отключения активных пользователей требует большего внимания и ответственности, так как чаще всего консоль кластера размещают на сервере приложений. Если у вас есть доступ к этой панели управления сервером, то завершить сеанс пользователя можно следующим путем:

  1. Открываем консоль кластера;
  2. Проходим в список информационных баз и открываем сеансы нужной нам;
  3. Находим в списке нужного пользователя;
  4. Вызываем контекстное меню, нажатием правой кнопки мыши, там будет функция – «Удалить».


В платформе 1С разработчиками заложен удобный механизм настройки прав и управления пользователями. Поэтому описанные возможности доступны владельцам всех конфигураций, даже написанных самостоятельно. Еще одним преимуществом является нетребовательность к наличию глубоких знаний системы 1С. Любой ответственный и внимательный администратор в состоянии справиться с этими операциями.

Cегодня поговорим о настройке прав пользователей в типовых конфигурациях .

В качестве примера воспользуемся демонстрационной версией конфигурации ЗУП редакции 3.1, в которой уже заведены несколько пользователей и настроены права для них. Как известно для разграничения доступа к объектам конфигурации (справочники, документы и т.д.) используются роли, которые могут назначаться тем или иным пользователям. Это в самом простом варианте. Но когда количество пользователей в информационной базе достигает нескольких десятков, а иногда и сотен — достаточно проблематично вручную отметить необходимые роли у каждого пользователя. Поэтому в типовых конфигурациях как правило реализован механизм, который позволяет организовать пользователей в группы и назначать роли не каждому пользователю в отдельности, а целой группе. Это позволяет значительно сэкономить время.

Итак, для настройки прав пользователя в типовой конфигурации используются следующие справочники: Пользователи , ГруппыДоступа и ПрофилиГруппДоступа . Схематично связь этих справочников между собой можно представить следующим образом

Таким образом каждый пользователь может входить в одну или несколько групп доступа. В свою очередь каждая группа доступа связана со своим профилем. А к профилям уже привязаны непосредственно роли, которые редактируются в конфигураторе.
В момент первого запуска конфигурации в режиме предприятия автоматически создаются типовые группы и профили.

Теперь рассмотрим чуть поподробнее эти справочники. Доступ к ним отркрывается на закладке Администрирование в разделе Настройки пользователей и прав


В открывшемся окне нам доступны все три справочника.


Рассмотрим их кратко.

В этой статье я рассмотрю, как работать с пользователями в :

  • создавать нового пользователя;
  • настраивать права — профили, роли и группы доступа;
  • как в 1С 8.3 настроить ограничение прав на уровне записей () — например, по организациям.

Инструкция подойдет не только для бухгалтерской программы, но и для многих других, построенных на базе БСП 2.х: 1С Управление торговлей 11, Зарплата и управление персоналом 3.0, Управление небольшой фирмой и других.

Если Вам интересна настройка прав с точки зрения программиста, читайте .

В интерфейсе программы 1С управление пользователями производится в разделе «Администрирование», в пункте «Настройка пользователей и прав»:

Чтобы завести в 1С Бухгалтерии 3.0 нового пользователя и назначить ему определенные права доступа, в меню «Администрирование» существует пункт «Настройки пользователей и прав». Заходим туда:

Управление списком пользователей осуществляется в разделе «Пользователи». Здесь можно завести нового пользователя (или группу пользователей) либо отредактировать уже существующего. Управлять списком пользователей может только пользователь с административными правами.

Создадим группу пользователей с названием «Бухгалтерия», а в ней двух пользователей: «Бухгалтер 1» и «Бухгалтер 2».

Чтобы создать группу, нажимаем кнопку, которая выделена на рисунке выше, и вводим наименование. Если в информационной базе есть другие пользователи, которые подходят на роль бухгалтера, можно тут же их добавить в группу. В нашем примере таких нет, поэтому нажимаем «Записать и закрыть».

Теперь создадим пользователей. Устанавливаем курсор на нашу группу и нажимаем кнопку «Создать»:

В полное имя введем «Бухгалтер 1», имя для входа зададим «Бух1» (именно оно будет отображаться при входе в программу). Пароль укажем «1».

Обязательно убедитесь, что установлены флажки «Вход в программу разрешен» и «Показывать в списке выбора», иначе пользователь себя не увидит при авторизации.

Получите 267 видеоуроков по 1С бесплатно:

«Режим запуска» оставим «Авто».

Настройка прав доступа — ролей, профилей

Теперь нужно указать «Права доступа» данному пользователю. Но сначала нужно его записать, иначе появится окно с предупреждением, как показано на рисунке выше. Нажимаем «Записать», затем «Права доступа»:

Выбираем профиль «Бухгалтер». Данный профиль стандартный и настроен на основные права, необходимые бухгалтеру. Нажимаем «Записать» и закрываем окно.

В окне «Пользователь (создание)» нажимаем «Записать и закрыть». Так же создаем второго бухгалтера. Убеждаемся, что пользователи заведены и могут работать:

Следует отметить, что один и тот же пользователь может принадлежать нескольким группам.

Права доступа для бухгалтеров мы выбирали их тех, которые были заложены в программу по умолчанию. Но бывают ситуации, когда необходимо добавить или убрать какое-нибудь право. Для этого существует возможность создать свой профиль с набором необходимых прав доступа.

Зайдем в раздел «Профили групп доступа».

Допустим, нам нужно разрешить нашим бухгалтерам просматривать журнал регистрации.

С нуля создавать профиль довольно трудоемко, поэтому скопируем профиль «Бухгалтер»:

И внесем в него необходимые изменения — добавим роль « «:

Дадим новому профилю другое наименование. Например, «Бухгалтер с дополнениями». И установим флажок «Просмотр журнала регистраций».

Теперь нужно сменить профиль у пользователей, которых мы завели ранее.

Ограничение прав на уровне записи в 1С 8.3 (RLS)

Разберемся, что означает ограничение прав на уровне записи, или, как называют её в 1C, RLS (Record Level Security). Чтобы получить такую возможность, нужно установить соответствующий флажок:

Программа потребует подтверждения действия и сообщит, что такие настройки могут сильно замедлить систему. Нередко бывает необходимость, чтобы некоторые пользователи не видели документов определенных организаций. Как раз для таких случаев и существует настройка доступа на уровне записи.

Заходим опять в раздел управления профилем, два раза кликаем по профилю «Бухгалтер с дополнениями» и переходим на закладку «Ограничения доступа»:

«Вид доступа» выберем «Организации», «Значения доступа» выберем «Все разрешены, исключения назначаются в группах доступа». Нажимаем «Записать и закрыть».

Теперь возвращаемся в раздел «Пользователи» и выбираем, например, пользователя » Бухгалтер 1″. Нажимаем кнопку «Права доступа»:

Через кнопку «Добавить» выбираем организацию, данные по которой будет видеть «Бухгалтер 1».

Обратите внимание! Использование механизма разграничения прав на уровне записей может отразиться на производительности программы в целом. Заметка для программиста: суть RLS в том, что система 1С добавляет в каждый запрос дополнительное условие, запрашивая информацию о том, разрешено ли читать пользователю данную информацию.

Прочие настройки

Разделы «Копирование настроек» и «Очистка настроек» вопросов не вызывают, их названия говорят сами за себя. Это настройки внешнего вида программы и отчетов. Например, если Вы настроили красивый внешний вид справочника «Номенклатура», его можно тиражировать на остальных пользователей.

Система прав доступа позволяет описывать наборы прав, соответствующие должностям пользователей или виду деятельности. Структура прав определяется конкретным прикладным решением.

Кроме этого, для объектов, хранящихся в базе данных (справочники, документы, регистры и т.д.) могут быть определены права доступа к отдельным полям и записям. Например, пользователь может оперировать документами (накладными, счетами и т.д.) определенных контрагентов и не иметь доступа к аналогичным документам других контрагентов.

Роли

Для реализации ограничения прав доступа в прикладных решениях предназначены специальные объекты конфигурации - Роли. .

Интерактивные и основные права

Все права, поддерживаемые системой 1С:Предприятие, можно разделить на две большие группы: основные и интерактивные. Основные права описывают действия, выполняемые над элементами данных системы или над всей системой в целом, и проверяются всегда, независимо от способа обращения к данным. Интерактивные права описывают действия, которые могут быть выполнены пользователем интерактивно. Соответственно проверяются они только при выполнении интерактивных операций стандартными способами, причем в клиент-серверном варианте все проверки прав (кроме интерактивных) выполняются на сервере.

Основные и интерактивные права взаимосвязаны. Например, существует основное право Удаление, которому соответствуют два интерактивных права: Интерактивное удаление и Интерактивное удаление помеченных. Если пользователю запрещено Удаление, то и все интерактивные "удаления" также будут запрещены для него. В то же время, если пользователю разрешено Интерактивное удаление помеченных, это значит, что Удаление ему также разрешается.

Кроме того, основные права могут зависеть друг от друга. В результате образуются довольно сложные цепочки взаимосвязей, которые отслеживаются системой автоматически: как только разработчик снимает разрешение на какое-либо право, система сама снимает разрешения на все права, которые зависят от этого права. И наоборот, при установке какого-либо права разработчиком, система сама устанавливает все права, от которых это право зависит.

Например, для того, чтобы пользователь имел право Итерактивное удаление помеченных , ему необходимо обладать интерактивными правом Редактирование . Это право, в свою очередь, требует наличия интерактивного права Просмотр :

Право Интерактивное удаление помеченных Удаление . Интерактивное право Редактирование требует наличия основного права Изменение . Интерактивное право Просмотр требует наличия основного права Чтение .

Кроме этого основные права Изменение и Удаление требуют наличия основного права Чтение.

Ограничение доступа к данным на уровне записей и полей

Среди действий над объектами, хранящимися в базе данных (справочниками, документами и т.д.), есть действия, отвечающие за чтение или изменение информации, хранящейся в базе данных. К таким действиям относятся:

  • чтение - получение записей или их фрагментов из таблицы базы данных;
  • добавление - добавление новых записей без изменения существующих;
  • изменение - изменение существующих записей;
  • удаление - удаление некоторых записей без внесения изменений в оставшиеся.

Для этих действий в процессе настройки ролей могут быть заданы дополнительные условия на данные (ограничение доступа к данным). В этом случае над конкретным объектом, хранимым в базе данных, может быть выполнено запрошенное действие только в том случае, если ограничение доступа к данным для данных этого объекта принимает значение "истина". Аналогичные условия могут быть заданы и для таблиц базы данных, не имеющих объектной природы (регистров).

Для объектных таблиц и регистров сведений могут быть заданы разные ограничения для различных полей таблицы, что позволяет определять ограничения не только на уровне записей базы данных, но и на уровне отдельных ее полей:

Ограничение доступа к данным представляет собой условие, описанное на языке, который является подмножеством языка запросов. Это условие применяется для каждой записи таблицы базы данных, над которой выполняется операция. Если условие принимает значение "истина", то операция выполняется, а если нет, то не выполняется. Условие ограничения доступа может быть уточнено с помощью инструкций препроцессора(#ЕСЛИ <условие>, #ТОГДА.. и др.), что сделает его более эффективным. При просмотре списков и формировании отчетов существует возможность обеспечить отображение только тех данных, доступ к которым пользователю разрешен.

Для регистров накопления, бухгалтерского учета и расчета условия позволяют разграничить доступ по значениям измерений (для регистров бухгалтерского учета по балансовым измерениям), а для объектных данных и регистров сведений условия позволяют разграничивать доступ к данным по любым полям.

Условия ограничения можно ввести вручную или создать с помощью конструктора ограничений доступа к данным .

Параметры сеанса

Параметры сеанса представляют собой объекты прикладного решения, которые предназначены для использования в ограничениях доступа к данным для текущего сеанса (но могут применяться и для других целей). Их значения сохраняются в течение данного сеанса 1С:Предприятия. Использование параметров сеанса позволяет снизить время доступа к данным при ограничении доступа на уровне записей и полей. .

Выполнение на сервере без проверки прав

Привилегированные модули

Существует возможность назначения привилегированных модулей. В такие модули могут быть перенесены операции, использующие данные, на которые у текущего пользователя нет прав.

Например, пользователю могут быть назначены права, позволяющие создавать новый документ. Однако никаких прав на регистр, в котором этот документ создает движения при проведении, пользователю не дано. В такой ситуации процедура проведения документа может быть вынесена в привилегированный модуль, который выполняется на сервере без проверки прав. В результате, несмотря на то, что соответствующий регистр для пользователя недоступен, пользователь все же сможет проводить созданные им документы.

Привилегированный режим исполнения программного кода

Привилегированный режим исполнения кода, аналогичный режиму работы кода привилегированных модулей, можно включить/выключить средствами встроенного языка. Для этого в глобальном контексте предусмотрена процедура УстановитьПривилегированныйРежим() , а также функция ПривилегированныйРежим() , которая позволяет определить, включен привилегированный режим, или нет.

Использование привилегированного режима позволяет, во-первых, ускорить работу, так как не будут накладываться ограничения на доступ к данным, а во-вторых, позволяет выполнять операции с данными от лица пользователей, которым эти данные недоступны.

Привилегированный режим рекомендуется использовать тогда, когда с логической точки зрения нужно отключить проверку прав, или когда можно отключить проверку прав, чтобы ускорить работу. Допустимо использовать привилегированный режим тогда, когда работа с данными от лица некоторого пользователя не нарушает установленные для этого пользователя права доступа.

Windows