Как сделать полные права в 1с 8.3. Настройка дополнительных прав пользователей. Администрирование дополнительных форм и обработок

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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




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


Описание прав пользователей доступно на вкладке «Описание».

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


Здесь же формируется отчет по правам доступа, где отображается статус доступа к конкретным объектам системы.


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

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


Таким образом, установить доступ или изменить права в 1С можно добавив пользователя в ту или иную группу в пользовательском режиме.


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


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


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


Если известно, на какой объект не хватает прав у пользователя, можно:

  • От обратного: посмотреть вкладку «права» у конкретного объекта, при этом вверху мы увидим все роли, доступные в конфигурации, а в нижнем окне – права. Наличие тех или иных прав на объект отмечено «галочкой». Таким же образом задаются права для новых объектов.

  • Открыть роль, назначенную пользователю, и, выбрав в левом окне конкретный объект, в правом окне увидеть список прав, то есть действия, которые пользователь с данной ролью может сделать с этим объектом – чтение, добавление, просмотр т.д.


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



На скриншоте видно, что роль «Полные права» обладает максимальным объемом прав. И если задачи ограничивать пользователей в правах не стоит вовсе – можно смело назначать эту роль всем пользователям, навсегда избавившись от вопросов пользователей.

На практике же, как правило, в большинстве случаев все-таки необходима «защита от дурака». Подстраховаться от нежелательного изменения данных нужно всем более-менее крупным компаниям. Здесь на помощь приходит встроенные в 1С роли. Разобраться в разнообразии ролей не просто, на это требует много времени. Поэтому создание собственной роли для решения практических задач, зачастую может быть единственным выходом. Рассмотрим этот момент подробнее. Добавить роль можно в дереве метаданных.


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


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

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


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


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

В заключение хотелось бы отметить, что фирма 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С назначается соответствующая роль, позволяющая добавлять, изменять, удалять документы и справочники по хозяйственной деятельности.
  • Если пользователь 1С работает только с отчетами и просматривает данные базы, допустим, менеджер, то ему даются права на чтение данных.
  • Пользователь, который может работать со всеми объектами программы 1С – Администратор, имеет полные права и получает неограниченный доступ по работе с базой данных в 1С.

Права доступа может настраивать только Администратор – пользователь 1С, которому назначены Полные права.

Установка прав доступа в 1С 8.3 Бухгалтерия 3.0

В 1С:Бухгалтерия 8 ред. 3.0 выделено 4 основных профиля для работы с программой:

  • Администратор;
  • Бухгалтер;
  • Главный бухгалтер;
  • Синхронизация с другими программами;
  • Только чтение.

Чтобы понять принцип задания прав в 1С, обратимся к конфигуратору. При анализе объектов конфигурации увидим специальную ветку Роли , где перечислены все заданные разработчиками 1С возможные доступы к данным базы:

Каждой роли соответствует набор возможностей для работы с объектами конфигурации, это –

  • Чтение;
  • Добавление;
  • Проведение;
  • Отмена проведения;
  • Редактирование;
  • Удаление.

Если открыть какую-то заданную роль, то по каждому объекту можно просмотреть – что можно делать с каждым объектом конфигурации:

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

Настройка прав доступа в 1С 8.3 Бухгалтерия

Настройка прав доступа в 1С 8.3 осуществляется в разделе Администрирование – Настройки пользователей и прав:

Открывается окно Настройки пользователей и прав:

Рассмотрим возможности настройки доступа в 1С.

Как создать нового пользователя в 1С 8.3

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

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

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

Как настроить права доступа на основании типовых профилей в 1С 8.3

Каждому пользователю (Администрирование – Настройки пользователей и прав – Пользователи) назначают Права доступа из списка профилей, что есть в конфигурации. Например, для бухгалтера Петровой С.Б. назначаем профиль Бухгалтер:

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

Отмечаем настройки для переноса новому пользователю Бухгалтер Петрова от пользователя Администратор:

Переносим персональные настройки, настройки печати и Избранное:

Нажимаем кн. Выбрать и в форме выбора настроек «Скопировать и закрыть». Все настройки для нового пользователя от пользователя Администратор перенесены.

Настройка прав доступа с добавлением новых профилей в 1С 8.3

Создаем новый профиль с ограниченным доступом к справочникам и документам. Профили групп доступа – Создать:

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

  • Отражение зарплаты в бухгалтерском учете;
  • Чтение налогов и взносов;
  • Взаиморасчеты с сотрудниками;
  • Персонифицированный учет;
  • Учет зарплаты:

По кн. Только выбранные роли показывается список выбранных ролей пользователя. Кадровый учет можно задать отдельно для профиля Кадровик.

Как настроить дополнительные права доступа к уже имеющимся типовым профилям в 1С 8.3

Конкретному пользователю 1С с выбранным профилем можно добавлять функционал. Например, для пользователя Петрова, в профиле Бухгалтер, не доступна команда Все функции , но мы можем ее добавить данному пользователю. Заходим Администрирование – Настройки пользователей и прав – Профили групп доступа. Кн. Создать – режим Все функции – добавляем права Режим “Все функции”:

Добавляем новый профиль бухгалтеру Петровой С.Б.:

Настройка дополнительных прав доступа к отдельным документам и справочникам в 1С 8.3

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

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

В 1С 8.3, в связи с появлением новой возможности работать с приложениями конфигурации, можем реализовать свою задачу по разграничению прав пользователей без снятия запрета редактирования с основной конфигурации и оставляя ее полностью типовой. Как это сделать – сейчас и рассмотрим:

  1. Для справочника Пользователи введем дополнительный реквизит «Доступ_Реализации_Товаров», который будет принимать значения «Да» или «Нет».

Заходим Администрирование – Общие настройки –Дополнительные реквизиты и сведения. Включаем возможность работать с «Реквизитами и сведениями с общим списком значений»:

  1. Открываем гиперссылку Дополнительные реквизиты .

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

Заполняем закладку Значения:

  1. Теперь заполним этот реквизит для наших пользователей.

«Бухгалтер Петрова» – Нет:

«Администратор» – Да:

Все необходимые действия в базе 1С 8.3 сделаны, теперь будем работать с расширением Конфигурации .

  1. Входим в конфигуратор базы данных: Конфигурация – Расширения конфигурации:

Добавляем новое расширение конфигурации по кн. +:

Соглашаемся с выбранными по умолчанию данными расширения или задаем свои:

Открываем конфигурацию расширения по кн. :

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

В основной конфигурации находим в документах – документ Реализация товаров и услуг, и переносим форму с которой будем работать. Например, добавим «ФормаДокументаТовары» в расширение конфигурации, встав на наименование формы и щелкнув по ней правой кн. мышки. Из выпадающего меню выбираем команду «Добавить в расширение»:

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

При создании события увидим в пустой клеточке событий «ПередЗаписью» назначенную программой 1С 8.3 процедуру обработки события: «Расш1_ПередЗаписью»:

Переходим в модуль формы и вставляем следующий программный код:

Обновляем изменения и запускаем базу в пользовательском режиме для проверки внесенных изменений. Входим под пользователем Бухгалтер Петрова и редактируем документ Реализации Товаров и услуг, нажимаем кн. Записать :

Для администратора редактирование документа пройдет без проблем.

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

Как предоставить доступ к варианту отчета с индивидуальными настройками для других пользователей в 1С 8.3 ЗУП смотрите в нашем видео:

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

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

Роли

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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