В этой статье я рассмотрю, как работать с пользователями в :
Инструкция подойдет не только для бухгалтерской программы, но и для многих других, построенных на базе БСП 2.х: 1С Управление торговлей 11, Зарплата и управление персоналом 3.0, Управление небольшой фирмой и других.
Если Вам интересна настройка прав с точки зрения программиста, читайте .
В интерфейсе программы 1С управление пользователями производится в разделе «Администрирование», в пункте «Настройка пользователей и прав»:
Чтобы завести в 1С Бухгалтерии 3.0 нового пользователя и назначить ему определенные права доступа, в меню «Администрирование» существует пункт «Настройки пользователей и прав». Заходим туда:
Управление списком пользователей осуществляется в разделе «Пользователи». Здесь можно завести нового пользователя (или группу пользователей) либо отредактировать уже существующего. Управлять списком пользователей может только пользователь с административными правами.
Создадим группу пользователей с названием «Бухгалтерия», а в ней двух пользователей: «Бухгалтер 1» и «Бухгалтер 2».
Чтобы создать группу, нажимаем кнопку, которая выделена на рисунке выше, и вводим наименование. Если в информационной базе есть другие пользователи, которые подходят на роль бухгалтера, можно тут же их добавить в группу. В нашем примере таких нет, поэтому нажимаем «Записать и закрыть».
Теперь создадим пользователей. Устанавливаем курсор на нашу группу и нажимаем кнопку «Создать»:
В полное имя введем «Бухгалтер 1», имя для входа зададим «Бух1» (именно оно будет отображаться при входе в программу). Пароль укажем «1».
Обязательно убедитесь, что установлены флажки «Вход в программу разрешен» и «Показывать в списке выбора», иначе пользователь себя не увидит при авторизации.
Получите 267 видеоуроков по 1С бесплатно:
«Режим запуска» оставим «Авто».
Теперь нужно указать «Права доступа» данному пользователю. Но сначала нужно его записать, иначе появится окно с предупреждением, как показано на рисунке выше. Нажимаем «Записать», затем «Права доступа»:
Выбираем профиль «Бухгалтер». Данный профиль стандартный и настроен на основные права, необходимые бухгалтеру. Нажимаем «Записать» и закрываем окно.
В окне «Пользователь (создание)» нажимаем «Записать и закрыть». Так же создаем второго бухгалтера. Убеждаемся, что пользователи заведены и могут работать:
Следует отметить, что один и тот же пользователь может принадлежать нескольким группам.
Права доступа для бухгалтеров мы выбирали их тех, которые были заложены в программу по умолчанию. Но бывают ситуации, когда необходимо добавить или убрать какое-нибудь право. Для этого существует возможность создать свой профиль с набором необходимых прав доступа.
Зайдем в раздел «Профили групп доступа».
Допустим, нам нужно разрешить нашим бухгалтерам просматривать журнал регистрации.
С нуля создавать профиль довольно трудоемко, поэтому скопируем профиль «Бухгалтер»:
И внесем в него необходимые изменения — добавим роль « «:
Дадим новому профилю другое наименование. Например, «Бухгалтер с дополнениями». И установим флажок «Просмотр журнала регистраций».
Теперь нужно сменить профиль у пользователей, которых мы завели ранее.
Разберемся, что означает ограничение прав на уровне записи, или, как называют её в 1C, RLS (Record Level Security). Чтобы получить такую возможность, нужно установить соответствующий флажок:
Программа потребует подтверждения действия и сообщит, что такие настройки могут сильно замедлить систему. Нередко бывает необходимость, чтобы некоторые пользователи не видели документов определенных организаций. Как раз для таких случаев и существует настройка доступа на уровне записи.
Заходим опять в раздел управления профилем, два раза кликаем по профилю «Бухгалтер с дополнениями» и переходим на закладку «Ограничения доступа»:
«Вид доступа» выберем «Организации», «Значения доступа» выберем «Все разрешены, исключения назначаются в группах доступа». Нажимаем «Записать и закрыть».
Теперь возвращаемся в раздел «Пользователи» и выбираем, например, пользователя » Бухгалтер 1″. Нажимаем кнопку «Права доступа»:
Через кнопку «Добавить» выбираем организацию, данные по которой будет видеть «Бухгалтер 1».
Обратите внимание! Использование механизма разграничения прав на уровне записей может отразиться на производительности программы в целом. Заметка для программиста: суть RLS в том, что система 1С добавляет в каждый запрос дополнительное условие, запрашивая информацию о том, разрешено ли читать пользователю данную информацию.
Разделы «Копирование настроек» и «Очистка настроек» вопросов не вызывают, их названия говорят сами за себя. Это настройки внешнего вида программы и отчетов. Например, если Вы настроили красивый внешний вид справочника «Номенклатура», его можно тиражировать на остальных пользователей.
Система прав доступа позволяет описывать наборы прав, соответствующие должностям пользователей или виду деятельности. Структура прав определяется конкретным прикладным решением.
Кроме этого, для объектов, хранящихся в базе данных (справочники, документы, регистры и т.д.) могут быть определены права доступа к отдельным полям и записям. Например, пользователь может оперировать документами (накладными, счетами и т.д.) определенных контрагентов и не иметь доступа к аналогичным документам других контрагентов.
Для реализации ограничения прав доступа в прикладных решениях предназначены специальные объекты конфигурации - Роли. .
Все права, поддерживаемые системой 1С:Предприятие, можно разделить на две большие группы: основные и интерактивные. Основные права описывают действия, выполняемые над элементами данных системы или над всей системой в целом, и проверяются всегда, независимо от способа обращения к данным. Интерактивные права описывают действия, которые могут быть выполнены пользователем интерактивно. Соответственно проверяются они только при выполнении интерактивных операций стандартными способами, причем в клиент-серверном варианте все проверки прав (кроме интерактивных) выполняются на сервере.
Основные и интерактивные права взаимосвязаны. Например, существует основное право Удаление, которому соответствуют два интерактивных права: Интерактивное удаление и Интерактивное удаление помеченных. Если пользователю запрещено Удаление, то и все интерактивные "удаления" также будут запрещены для него. В то же время, если пользователю разрешено Интерактивное удаление помеченных, это значит, что Удаление ему также разрешается.
Кроме того, основные права могут зависеть друг от друга. В результате образуются довольно сложные цепочки взаимосвязей, которые отслеживаются системой автоматически: как только разработчик снимает разрешение на какое-либо право, система сама снимает разрешения на все права, которые зависят от этого права. И наоборот, при установке какого-либо права разработчиком, система сама устанавливает все права, от которых это право зависит.
Например, для того, чтобы пользователь имел право Итерактивное удаление помеченных , ему необходимо обладать интерактивными правом Редактирование . Это право, в свою очередь, требует наличия интерактивного права Просмотр :
Право Интерактивное удаление помеченных Удаление . Интерактивное право Редактирование требует наличия основного права Изменение . Интерактивное право Просмотр требует наличия основного права Чтение .
Кроме этого основные права Изменение и Удаление требуют наличия основного права Чтение.
Среди действий над объектами, хранящимися в базе данных (справочниками, документами и т.д.), есть действия, отвечающие за чтение или изменение информации, хранящейся в базе данных. К таким действиям относятся:
Для этих действий в процессе настройки ролей могут быть заданы дополнительные условия на данные (ограничение доступа к данным). В этом случае над конкретным объектом, хранимым в базе данных, может быть выполнено запрошенное действие только в том случае, если ограничение доступа к данным для данных этого объекта принимает значение "истина". Аналогичные условия могут быть заданы и для таблиц базы данных, не имеющих объектной природы (регистров).
Для объектных таблиц и регистров сведений могут быть заданы разные ограничения для различных полей таблицы, что позволяет определять ограничения не только на уровне записей базы данных, но и на уровне отдельных ее полей:
Ограничение доступа к данным представляет собой условие, описанное на языке, который является подмножеством языка запросов. Это условие применяется для каждой записи таблицы базы данных, над которой выполняется операция. Если условие принимает значение "истина", то операция выполняется, а если нет, то не выполняется. Условие ограничения доступа может быть уточнено с помощью инструкций препроцессора(#ЕСЛИ <условие>, #ТОГДА.. и др.), что сделает его более эффективным. При просмотре списков и формировании отчетов существует возможность обеспечить отображение только тех данных, доступ к которым пользователю разрешен.
Для регистров накопления, бухгалтерского учета и расчета условия позволяют разграничить доступ по значениям измерений (для регистров бухгалтерского учета по балансовым измерениям), а для объектных данных и регистров сведений условия позволяют разграничивать доступ к данным по любым полям.
Условия ограничения можно ввести вручную или создать с помощью конструктора ограничений доступа к данным .
Параметры сеанса представляют собой объекты прикладного решения, которые предназначены для использования в ограничениях доступа к данным для текущего сеанса (но могут применяться и для других целей). Их значения сохраняются в течение данного сеанса 1С:Предприятия. Использование параметров сеанса позволяет снизить время доступа к данным при ограничении доступа на уровне записей и полей. .
Привилегированные модули
Существует возможность назначения привилегированных модулей. В такие модули могут быть перенесены операции, использующие данные, на которые у текущего пользователя нет прав.
Например, пользователю могут быть назначены права, позволяющие создавать новый документ. Однако никаких прав на регистр, в котором этот документ создает движения при проведении, пользователю не дано. В такой ситуации процедура проведения документа может быть вынесена в привилегированный модуль, который выполняется на сервере без проверки прав. В результате, несмотря на то, что соответствующий регистр для пользователя недоступен, пользователь все же сможет проводить созданные им документы.
Привилегированный режим исполнения программного кода
Привилегированный режим исполнения кода, аналогичный режиму работы кода привилегированных модулей, можно включить/выключить средствами встроенного языка. Для этого в глобальном контексте предусмотрена процедура УстановитьПривилегированныйРежим() , а также функция ПривилегированныйРежим() , которая позволяет определить, включен привилегированный режим, или нет.
Использование привилегированного режима позволяет, во-первых, ускорить работу, так как не будут накладываться ограничения на доступ к данным, а во-вторых, позволяет выполнять операции с данными от лица пользователей, которым эти данные недоступны.
Привилегированный режим рекомендуется использовать тогда, когда с логической точки зрения нужно отключить проверку прав, или когда можно отключить проверку прав, чтобы ускорить работу. Допустимо использовать привилегированный режим тогда, когда работа с данными от лица некоторого пользователя не нарушает установленные для этого пользователя права доступа.
Все настройки прав пользователей, которые будут нами производиться в рамках этой статьи расположены в разделе 1С 8.3 «Администрирование» — «Настройки пользователей и прав». Данный алгоритм аналогичен в большинстве конфигураций на управляемых формах. В качестве примера будет использоваться программа 1С Бухгалтерия, но настройка прав в других программах (1С УТ 11, 1С ЗУП 3, 1C ERP) производиться абсолютно аналогично.
Перейдем в раздел «Пользователи» окна настроек. Здесь мы видим две гиперссылки: «Пользователи» и «Настройки входа». Первая из них позволяет перейти непосредственно к списку пользователей данной информационной базы. Прежде, чем создавать нового пользователя, рассмотрим возможные настройки входа (гиперссылка справа).
В данной форме настроек вы можете настроить сложность пароля (не менее 7 символов, обязательное содержание различных типов символов и т. п.). Так же здесь можно указать длину пароля, его срок действия и запрет входа в программу пользователей, у которых не было активности определенный период времени.
Теперь можно перейти к непосредственному к добавлению нового пользователя в 1С. Сделать это можно по кнопке «Создать», как показано на изображении ниже.
Первым делом укажем полное имя – «Антонов Дмитрий Петрович», и выберем из соответствующего справочника физическое лицо. Так же здесь можно указать и подразделение, в котором работает наш сотрудник.
Имя для входа «АнтоновДП» подставилось автоматически, как сокращение от полного имени «Антонов Дмитрий Петрович». Установим пароль и аутентификацию 1С Предприятия. Здесь так же можно указать, доступна ли данному пользователю самостоятельная смена пароля.
Допустим, мы хотим, чтобы Антонов Дмитрий Петрович был доступен в списке выбора при запуске данной информационной базы. Для этого необходимо установить флаг на пункте «Показывать в списке выбора». В результате окно авторизации при запуске программы будет выглядеть так, как показано на рисунке ниже.
Обратим внимание на еще одну немаловажную настройку в карточке справочника пользователей – «Вход в программу разрешен». Если лаг не установлен, то пользователь попросту не сможет зайти в данную информационную базу.
После заполнения всех данный в карточке пользователя – Антонова Дмитрия Петровича, запишем их и перейдем к настройке прав доступа, как показано на рисунке ниже.
Перед нами открылся список ранее внесенных в программу профилей доступа. Отметим флажками необходимые.
Профили групп доступа можно настроить из основной формы настройки пользователей и прав. Перейдите в раздел «Группы доступа» и нажмите на гиперссылку «Профили групп доступа».
Создадим новую группу из открывшейся формы списка. В табличной части на вкладке «Разрешенные действия (роли)» флажками необходимо отметить те роли, которые будут влиять на права доступа пользователей, входящим в создаваемую нами группу. Все эти роли создаются и настраиваются в конфигураторе. Из пользовательского режима их нельзя изменить или создать новые. Можно только выбрать из существующего перечня.
Позволяет более гибко настраивать доступ к данным программы в определенных разрезах. Для ее активации установите флаг на одноименном пункте формы настройки пользователей и прав.
Обратите внимание, что включение данной настройки может негативно повлиять на работоспособность системы. Дело заключается в том, что механизм RLS изменяет все запросы в зависимости от установленных ограничений.
Перейдем в созданный нами ранее профиль групп доступа «Тестовая группа». На рисунке ниже видно, что после включения ограничения доступа на уровне записей появилась дополнительная вкладка «Ограничения доступа».
Предположим, мы хотим, чтобы пользователи, которым назначена тестовая группа, имели доступ к данным по всем организациям данной информационной базы, за исключением тех, что указаны в профиле.
В верхней табличной части установим ограничение доступа по организации. В нижней части уточним, что доступ не будет предоставляться к данным (документам, справочникам и пр.) для организации «Рога ООО».
Правильная настройка списка пользователей и их прав доступа в базу 1С:Бухгалтерия 8.3 (редакция 3.0) является необходимой при любом количестве людей, работающих с программой. Даже если с ней работаете только вы!
Такая настройка позволяет в дальнейшем ответить на такие вопросы, как "Кто внес те или иные изменения в базу", "Как дать к базе доступ только на просмотр для проверяющего", "Кто позволил помощнику изменить настройки учетной политики" и подобные им.
В третьей редакции такая настройка, на мой взгляд, стала проще и интуитивно понятнее. Сегодня я расскажу, как лучше настроить пользователей и их права. Постараюсь рассмотреть наиболее общий случай.
Итак, будем настраивать следующих пользователей:
1. Зайдите в раздел "Администрирование" и выберите там пункт "Настройки пользователей и прав"
2. В открывшейся панели выберите пункт "Пользователи":
3. По умолчанию, пользователь "Администратор" уже должен быть в этом списке. Сделайте двойной щелчок на нём, чтобы открыть его настройки.
4. Сделайте настройку, как на рисунке ниже. Пароль придумайте сами - его нужно повторить два раза. Обращаю ваше внимание, что у каждого из пользователей должен быть свой пароль. Осталось нажать "Записать и закрыть". Готово!
2. Откроется окно с новым пользователем. Укажите настройки как показано ниже, только пароль придумайте свой.
4. В окне настройки прав укажите галки рядом с пунктами "Администратор" и "Главный бухгалтер". Осталось нажать кнопку "Записать". Готово!
1. Вернитесь в список пользователей и нажмите кнопку "Создать" на панели инструментов.
Работа в программе 1С позволяет разным пользователям назначать функциональный доступ к документам и справочникам базы. Например:
Права доступа может настраивать только Администратор – пользователь 1С, которому назначены Полные права.
В 1С:Бухгалтерия 8 ред. 3.0 выделено 4 основных профиля для работы с программой:
Чтобы понять принцип задания прав в 1С, обратимся к конфигуратору. При анализе объектов конфигурации увидим специальную ветку Роли , где перечислены все заданные разработчиками 1С возможные доступы к данным базы:
Каждой роли соответствует набор возможностей для работы с объектами конфигурации, это –
Если открыть какую-то заданную роль, то по каждому объекту можно просмотреть – что можно делать с каждым объектом конфигурации:
Важно знать, что пользователю 1С можно назначать любую совокупность ролей из заданного разработчиками списка. При этом, если в какой-то роли изменять объект нельзя, а в другой, добавленной этому пользователю роли – можно, то результирующая по правам пользователя будет – можно «изменять». Роли взаимно дополняют друг друга. Для того, чтобы объект не мог быть изменен пользователем, ни в одной из заданных ему ролей не должно стоять «Изменение».
Настройка прав доступа в 1С 8.3 осуществляется в разделе Администрирование – Настройки пользователей и прав:
Открывается окно Настройки пользователей и прав:
Рассмотрим возможности настройки доступа в 1С.
По умолчанию программа 1С выставляет Вход в программу разрешен , Показывать в списке выбора и вход в программу по установленному в 1С логину и паролю. Пароль можно задать самостоятельно, а можно предложить задать его программе. Как правило, пароль, заданный программой 1С, отвечает более серьезному уровню проверки и подобрать такой пароль при взломе системы сложнее.
Пароль необходимо помнить! Если пароль утерян, то только Администратор может перезадать его заново. Если пароли утеряны и в базу не войти, то придется «взламывать» вход в базу.
Специалисты используют для этого HEX-редактор и в нужных местах меняют информацию, отвечающую за работу с пользователями. Сделать это возможно, но не желательно.
Каждому пользователю (Администрирование – Настройки пользователей и прав – Пользователи) назначают Права доступа из списка профилей, что есть в конфигурации. Например, для бухгалтера Петровой С.Б. назначаем профиль Бухгалтер:
Здесь же можем перенести настройки новому пользователю от пользователя, уже работающего в 1С: настройку Функциональности, внутренние настройки отчетов и т.д., чтобы не тратить время и не набирать все вручную:
Отмечаем настройки для переноса новому пользователю Бухгалтер Петрова от пользователя Администратор:
Переносим персональные настройки, настройки печати и Избранное:
Нажимаем кн. Выбрать и в форме выбора настроек «Скопировать и закрыть». Все настройки для нового пользователя от пользователя Администратор перенесены.
Создаем новый профиль с ограниченным доступом к справочникам и документам. Профили групп доступа – Создать:
Новый профиль удобно создавать по подсистемам 1С. Например, для прав Расчетчика можем отметить следующий функционал:
По кн. Только выбранные роли показывается список выбранных ролей пользователя. Кадровый учет можно задать отдельно для профиля Кадровик.
Конкретному пользователю 1С с выбранным профилем можно добавлять функционал. Например, для пользователя Петрова, в профиле Бухгалтер, не доступна команда Все функции , но мы можем ее добавить данному пользователю. Заходим Администрирование – Настройки пользователей и прав – Профили групп доступа. Кн. Создать – режим Все функции – добавляем права Режим “Все функции”:
Добавляем новый профиль бухгалтеру Петровой С.Б.:
Данная настройка предусматривает работу с расширением конфигурации. Допустим, необходимо настроить доступ пользователю 1С к произвольному набору документов и справочников. Набор этих документов и справочников может быть разным – разработчики 1С не в силах предусмотреть все варианты под подходящие роли, которые могут потребоваться пользователям на практике. Тем более, что запросы на доступ к данным могут быть совершенно неординарные.
В 1С 8.2 нам приходилось снимать запрет редактирования с конфигурации и добавлять новую роль в объекты Роли, назначая доступ к нужным справочникам и документам, и соответственно возникали сложности с последующим обновлением 1С. Автоматически такие конфигурации уже не обновлялись, поэтому позволить себе такое удовольствие могли только пользователи организаций, имеющие в штате программистов 1С.
В 1С 8.3, в связи с появлением новой возможности работать с приложениями конфигурации, можем реализовать свою задачу по разграничению прав пользователей без снятия запрета редактирования с основной конфигурации и оставляя ее полностью типовой. Как это сделать – сейчас и рассмотрим:
Заходим Администрирование – Общие настройки –Дополнительные реквизиты и сведения. Включаем возможность работать с «Реквизитами и сведениями с общим списком значений»:
В левой колонке перечней объектов конфигурации находим Пользователи и нажимаем на кн. Добавить . Открывшуюся форму заполняем как показано ниже. Новый реквизит будет иметь два значения: «Да» и «Нет». Объединим значения в группу «Доступ». Заполняем закладку Главное:
Заполняем закладку Значения:
«Бухгалтер Петрова» – Нет:
«Администратор» – Да:
Все необходимые действия в базе 1С 8.3 сделаны, теперь будем работать с расширением Конфигурации .
Добавляем новое расширение конфигурации по кн. +:
Соглашаемся с выбранными по умолчанию данными расширения или задаем свои:
Открываем конфигурацию расширения по кн. :
Сейчас будем переносить из основной конфигурации данные, необходимые для работы. Созданное расширение конфигурации «Расширение 1» пока пустое:
В основной конфигурации находим в документах – документ Реализация товаров и услуг, и переносим форму с которой будем работать. Например, добавим «ФормаДокументаТовары» в расширение конфигурации, встав на наименование формы и щелкнув по ней правой кн. мышки. Из выпадающего меню выбираем команду «Добавить в расширение»:
Открываем форму в расширении конфигурации и создаем обработку события ПередЗаписью . При создании обработчика события программа 1С 8.3 попросит указать, где создавать программный код. Выбираем: Создать на клиенте и процедуру на сервере без контекста:
При создании события увидим в пустой клеточке событий «ПередЗаписью» назначенную программой 1С 8.3 процедуру обработки события: «Расш1_ПередЗаписью»:
Переходим в модуль формы и вставляем следующий программный код:
Обновляем изменения и запускаем базу в пользовательском режиме для проверки внесенных изменений. Входим под пользователем Бухгалтер Петрова и редактируем документ Реализации Товаров и услуг, нажимаем кн. Записать :
Для администратора редактирование документа пройдет без проблем.
Приведенный программный код можно поставить в расширении конфигурации 1С 8.3 для любого документа и справочника и это позволит не менять типовую конфигурацию, но в то же время решить проблему доступа к объектам базы для разных пользователей.
Как предоставить доступ к варианту отчета с индивидуальными настройками для других пользователей в 1С 8.3 ЗУП смотрите в нашем видео: