Запрос 1с 8 синтаксис rls. Ограничение доступа к данным

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

Что такое RLS?

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

Чтобы получить возможность писать запросы для ограничений по RLS, необходимо создать роль или взять уже имеющуюся. Настройка RLS в 1С 8.3 может применяться для следующих действий пользователя:

  • Добавление;
  • Чтение;
  • Удаление;
  • Изменение.

Кроме широчайших возможностей настройки доступа, RLS несут в себе и недостатки:

  1. Требования к квалификации разработчика, так как писать запрос придется на встроенном языке с учетом правил синтаксиса;
  2. Отсутствие возможности быстрой отладки условия;
  3. Ограниченные возможности по описанию логики: слишком сложные условия придется все-таки писать в модулях документов и справочников;
  4. В клиент-серверном варианте баз возможно неявный рост таблиц, включенных в запрос. Причем отследить этот процесс очень сложно;
  5. Требования к ресурсам. Ограничения по RLS потребляют немало мощности клиентской машины и сервера;
  6. Малочисленная документация в свободном доступе.

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

Создаем ограничение RLS

Для того чтобы добавить ограничение по RLS, необходимо найти нужную роль и открыть ее двойным щелчком.

Открывшееся окно содержит 2 вкладки: «Права» и «Шаблоны ограничений». Чтобы наложить определенные ограничения на конкретное действие, необходимо выделить его и в правой нижней части нажать на зеленый плюс. Появиться строчка, в которой мы сможем задать ограничения 1С RLS на встроенном в 1С языке.


Если вы знаете синтаксис 1С (как свои пять пальцев), то можете писать прямо в поле «Ограничение доступа». Разработчики 1С предусмотрели возможность открывать конструктор запроса, который поможет и подскажет, на что можно сделать ограничение. Чтобы его открыть, нужно нажать на кнопку с тремя точками (Выбрать) или F4 и появиться окно с кнопкой «Конструктор запроса…».


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


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

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


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

   

Ограничение доступа на уровне записей RLS

Когда требуется более тонкая настройка доступа, на помощь приходит механизм RLS - Record Level Security.

Конфигурации системы «1С:Предприятие» 8 изначально позиционировалась как программа для многофирменного учета, и один из первых возникающих вопросов – как бы сделать так, что бы пользователь видел только те данные, которые ему положено видеть, и никакие другие? Конечно, есть роли, с помощью которых можно разрешить или запретить то или иное действие над объектом конфигурации, есть интерфейсы, позволяющие минимизировать пункты меню. Но как быть в случае, когда к одному и тому же объекту конфигурации нужно организовать «интеллектуальный» доступ, скрывающий только определенный записи? Ярким примером служит справочник «Организации»: учет в базе ведется по нескольким фирмам, справочник физически один, документы по фирмам ведутся одни и те же. Понятно, что в этом случае в назначенных ролях пользователя нельзя просто убрать права на чтение и просмотр, нужна более детальная настройка - RLS.

Ограничения RLS можно задавать для следующих действий над объектами базы данных:
- Чтение – получение записей из таблицы базы данных;
- Добавление – добавление новых записей без изменения существующих;
- Изменение – изменение существующих записей;
- Удаление – удаление некоторых записей без внесения изменений в другие.

Ограничение доступа задаётся подмножеству, определяемому условием выборки, заданному с помощью языка запросов. Если результат выполнения запроса ИСТИНА, то доступ на определенное действие будет предоставлен, в противном случае доступ будет запрещен.
Пример запроса:
Код 1C v 8.х ##Если &ИспользоватьОграничениеПоОрганизации ИЛИ &ИспользоватьОграничениеПоФизическиеЛица ##Тогда
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
СоставГруппы.Ссылка КАК ГруппаПользователей
ИЗ
Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы
ГДЕ
СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей
ПО (ИСТИНА)
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Организации КАК ОбособленныеПодразделения
ПО ОбособленныеПодразделения.ГоловнаяОрганизация = ТекущаяТаблица.#Параметр(1)
И НЕ ОбособленныеПодразделения.ГоловнаяОрганизация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
ИЛИ ОбособленныеПодразделения.Ссылка = ТекущаяТаблица.#Параметр(1)
ГДЕ (НЕ 1 В
(ВЫБРАТЬ ПЕРВЫЕ 1
1 КАК ПолеОтбора
ИЗ
РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа
ГДЕ
НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей
И ВЫБОР
##Если &ИспользоватьОграничениеПоОрганизации ##Тогда
КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации)
ТОГДА ВЫБОР
КОГДА 1 В
(ВЫБРАТЬ ПЕРВЫЕ 1
1
ИЗ
(ВЫБРАТЬ
1 КАК ПолеОтбора
) КАК Оптмизация ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей
ПО
НастройкиПравДоступаПользователей.ОбъектДоступа = ОбособленныеПодразделения.Ссылка
И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Организации)

ИЛИ НастройкиПравДоступаПользователей.Пользователь = ЗНАЧЕНИЕ(Справочник.ГруппыПользователей.ВсеПользователи)))
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ
##КонецЕсли

##Если &ИспользоватьОграничениеПоФизическиеЛица ##Тогда
КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.ФизическиеЛица)
ТОГДА ВЫБОР
КОГДА 1 В
(ВЫБРАТЬ ПЕРВЫЕ 1
1
ИЗ
Справочник.ФизическиеЛица КАК ФизическиеЛица ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей
ПО
НастройкиПравДоступаПользователей.ОбъектДоступа = ФизическиеЛица.ГруппаДоступаФизическогоЛица
И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.ФизическиеЛица)
И НастройкиПравДоступаПользователей.ОбластьДанных = ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ФизическиеЛицаДанные)
И (НастройкиПравДоступаПользователей.Пользователь = НазначениеВидовОбъектовДоступа.ГруппаПользователей
ИЛИ НастройкиПравДоступаПользователей.Пользователь = ЗНАЧЕНИЕ(Справочник.ГруппыПользователей.ВсеПользователи))
ГДЕ
ФизическиеЛица.Ссылка = ТекущаяТаблица.#Параметр(2))
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ
##КонецЕсли

ИНАЧЕ ИСТИНА
КОНЕЦ = ЛОЖЬ))
И НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL
##КонецЕсли

В качестве переменных в запросах RLS используются специальные объекты конфигурации – параметры сеанса. Кроме привычных типов объектов, тип параметра может быть такжеNULL, УникальныйИдентификатор, ФиксированныйМассив, ВидДвиженияНакопления и др. Особо хочется отметить тип ХранилищеЗначений, позволяющий хранить разнородные данные в одном параметре (например, ОбщиеЗначения). Значения параметров сеанса обычно задается в процедуре ПриНачалеРаботыСистемы.

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

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

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

Платформа 1С в явном виде не предоставляет возможность отладки работы механизма RLS, но тем ни менее сделать это вполне реально. Для этого можно воспользоваться универсальной консолью отчетов (версия не ниже 2.6.9.2), на закладке «Данные» у которой есть функция «Выполнить от имени». Обработка создаст COM-соединение с помощью указанного имени пользователя и пароля, и выдаст результат выполнения запроса в консоль.

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

Возможно, вас также заинтересует

9
Установили новый терминальный сервер, на нем подняли 1С, терминальные пользователе неописуемо довольны, все просто летает:) И вот же надо было такому случиться, главному бухгалтеру не понравилось работать через... 2
Пользователь с правами Администратор ККМ проводит Закрытие кассовой смены (Z). Выходит сообщение: " Не удалось удалить чеки ККМ!" ФР печатает Z -отчет, но Отчет о рознчничных продажах не формируется. Необходимо дать... 1
При подключении из одной базы к другой через COM внезапно стала появляться следующая ошибка: «V82.COMConnector.1: Не найдена лицензия COM-соединением», хотя никаких изменений на серверах не делалось. Релиз платформы был 8.2.13.... 0
Для того чтобы записать файлы в ZIP-архив необходимо выполнить несколько простых действий: * Создать архив с необходимыми параметрами, в который будут помещаться файлы. * Поместить в архив необходимые файлы. * Записать... 0
Для того чтобы прочитать файлы из ZIP-архива необходимо выполнить несколько простых действий: - Открыть необходимый архив - Распаковать файлы Создание объекта ЧтениеZIPФайла можно осуществить двумя путями - создать... 4
Нужно создать ярлыки(в любой папке щелкните правой клавишей мыши - Создать - Ярлык) с командами: Отключение или Завершение работы пользователей: Для Файлового варианта: " C:

1С имеет встроенную систему прав доступа (эта система называется — роли 1С). Эта система является статической – как администратор поставил права 1С, так и будет.

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

Одной из самых распространенных настроек безопасности в различных программах является набор разрешений на чтение/запись для групп пользователей и далее – включение или исключение пользователя из групп. Например, подобная система используется в Windows AD (Active Directory).

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

Нажав два раза на название роли 1С — Вам откроется редактор прав для роли 1С. Слева – список объектов 1С. Выделите любой и справа отобразятся варианты прав доступа (как минимум: чтение, добавление, изменение, удаление).

Для верхней ветки (название текущей конфигурации) устанавливаются административные права 1С и доступ на запуск различных вариантов .

Все права 1С поделены на две группы – «просто» право и такое же право с добавлением «интерактивное». Что это значит?

Когда пользователь открывает какую-либо форму (например, обработку) и нажимает на ней кнопку – то программа на встроенном языке 1С выполняет определенные действия, например удаление документов. За разрешение этих действий (выполняемых программно) – отвечают «просто» права 1С.

Когда пользователь открывает журнал и начинает делать что-то с клавиатуры самостоятельно (например, вводить новые документы) – это «интерактивные» права 1С.

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

Разрез возможностей установки прав доступа с помощью ролей – объект 1С. То есть Вы можете или включить доступ к справочнику или отключить. Включить немножко нельзя.

Для этого существует расширение системы ролей 1С под названием 1С RLS. Это динамическая система прав доступа, которая позволяет ограничить доступ частично. Например, пользователь видит только документы по определенному складу и организации и не видит остальные.

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

Вы берете определенный справочник (например, организации) и определенное право (например, чтение). Вы разрешаете чтение для роли 1С. В панели Ограничение доступа к данным Вы устанавливаете текст запроса, который возвращает ИСТИНА или ЛОЖЬ в зависимости от настроек. Настройки обычно хранятся в регистре сведений (например регистр сведений конфигурации Бухгалтерия НастройкиПравДоступаПользователей).

Данный запрос выполняется динамически (при попытке реализовать чтение), для каждой записи справочника. Таким образом, для тех записей, для которых запрос безопасности вернул ИСТИНА – пользователь увидит, а остальные – нет.
Права 1С, на которые установлены ограничения RLS 1С – подсвечены серым.

Копирование одних и тех же настроек RLS 1С делается с помощью шаблонов. Вы делаете шаблон, называете его (например) МойШаблон, в нем указываете запрос безопасности. Далее, в настройках права доступа 1С указываете имя шаблона вот так: «#МойШаблон».

При работе пользователя в режиме 1С Предприятие, при работе RLS 1С, у него может появляться сообщение об ошибке «Недостаточно прав» (например, на чтение справочника Ххх).

Это значит, что RLS 1С заблокировала чтение нескольких записей.

Для того, чтобы такого сообщения не появлялось, необходимо в тексте запроса на встроенном языке 1С использовать слово РАЗРЕШЕННЫЕ ().

Например:

В системе 1С Предприятие 8, сегодня мы продолжим изучение механизма прав и углубимся далее — в механизм RLS (ограничение прав на уровне записей).

Ниже мы рассмотрим достоинства и недостатки данного метода и рассмотрим настройку RLS в 1С Предприятии 8.3 на примере.

1С RLS (Record Level Security) или ограничение прав на уровне записи — это прав пользователей в системе 1С, которая позволяет разделить права для пользователей в разрезе динамически меняющихся данных.

Самый распространенный вид настройки 1C RLS — ограничение видимости пользователя в разрезе организаций или клиентов (пользователь видит лишь «свои» данные).

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

Недостатки 1С 8 RLS

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

Также среди недостатков — сложность настройки этого функционала и сложность отладки. 1C выпустило очень мало материалов по настройке и работе этого функционала. Достаточно трудно найти специалиста, который грамотно настроил бы механизм.

Настройка ограничения прав на уровне записей 1С RLS

Ограничение прав на уровне записи (RLS) применяется для ограничения следующих типов прав:

  • Чтение
  • Добавление
  • Изменение
  • Удаление

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

Внешне настройка RLS (прав на уровне записей) похожа на составление простого . Пример шаблона для ограничения доступа видимости документов по клиенту из шапки документа:

##Если &ИспользоватьОграниченияПравДоступаНаУровнеЗаписей ##Тогда

ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
СоставГруппы.Ссылка КАК ГруппаПользователей
ИЗ
Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы
ГДЕ
СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей
ПО (&ИспользоватьОграниченияПравДоступаНаУровнеЗаписей)
ГДЕ (&ИспользоватьОграниченияПравДоступаНаУровнеЗаписей = ЛОЖЬ
ИЛИ (НЕ 1 В
(ВЫБРАТЬ ПЕРВЫЕ 1
1 КАК ПолеОтбора
ИЗ
РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа
ГДЕ
НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей
И ВЫБОР
КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты)
И ТекущаяТаблица.#Параметр(1) ССЫЛКА Справочник.Контрагенты
И НЕ ТекущаяТаблица.#Параметр(1) = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
ТОГДА ВЫБОР
КОГДА 1 В
(ВЫБРАТЬ ПЕРВЫЕ 1
1
ИЗ
Справочник.Контрагенты КАК Контрагенты ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей
ПО
НастройкиПравДоступаПользователей.ОбъектДоступа = Контрагенты.ГруппаДоступаККонтрагенту
И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты)
И (НастройкиПравДоступаПользователей.Пользователь = НазначениеВидовОбъектовДоступа.ГруппаПользователей
ИЛИ НастройкиПравДоступаПользователей.Пользователь = ЗНАЧЕНИЕ(Справочник.ГруппыПользователей.ВсеПользователи))
И НастройкиПравДоступаПользователей.Запись = ИСТИНА
ГДЕ
Контрагенты.Ссылка = ТекущаяТаблица.#Параметр(1))
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ
ИНАЧЕ ИСТИНА
КОНЕЦ = ЛОЖЬ))
И НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL)
##КонецЕсли

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

Как Вы видите, в запросе есть специальные параметры, например » &ИспользоватьОграниченияПравДоступаНаУровнеЗаписей». Это параметры в РЛС подбираются из объектов метаданных — « «. Как правило, они задаются при старте сессии пользователя.

Конструктор ограничения доступа к данным

Для удобства разработчика в 1С 8.3 есть специальная утилита для помощи в настройки РЛС — Конструктор ограничения доступа к данным. Он вызывается из поля «Ограничение доступа». Выглядит следующим образом:

RLS - это возможность разработчика задать условие на таблицы базы данных для тех или иных пользователей (групп пользователей) и не дать им увидеть лишнего. Условие имеет булевый тип. Если значение условия принимает значение «истина», то доступ предоставляется, в противном случае - запрещается.

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

RLS применяется для следующих видов прав доступа:

  • Чтение
  • Добавление
  • Изменение
  • Удаление

Порядок настройки RLS

Рассмотрим простой пример выполнения настройки. Снимки экрана сделаны на версии 1С Предприятие 8.2 (8.2.9.356). Синтаксис шаблонов текстов ограничений описан в документации по 8.2 в книге «Руководство разработчика. Часть 1», поэтому на нем останавливаться не будем.

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

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

Для редактирования нескольких ролей удобно управлять через окно «Все роли».

Для копирования условий в другие роли можно использовать окно «Все ограничения доступа». Шаблоны в другие роли могут копироваться только вручную.

Вот и все. Можно проверить результат.

Недостатки использования RLS:

  1. Применение механизма ограничения доступа на уровне записей приводит к неявному увеличению таблиц, участвующих в запросе, что может привести к ошибкам в клиент-серверном режиме работы базы данных.
  2. Для контроля записи бывает трудно или невозможно реализовать сложную логику приложения. В таких случаях лучше использовать условия в процедуре ПриЗаписи().
  3. Написание условия (запроса) требует определенной квалификации разработчика.
  4. Дополнительные трудности может создать невозможность отладки условия (запроса).

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

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