Из это статьи вы узнаете как настроить в программе 1С права на основе технологии, которая заложена в библиотеке стандартных подсистем. Она позволяет разграничивать права пользователей на уровне записей. Коротко называется РЛС (RLS — Row Level Security). Ее заложили программисты фирмы 1С начиная с платформы 8.3.18. Все конфигурации, поддерживающие данный релиз, ее имеют.

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

На примере Управление торговлей (УТ11) я, по шагам, покажу как реализовать эту настройку.

Итак, входим в программу с полными правами и приступим.

Схема настройки.

Схема настройки запрета на уровне записей УТ11

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

Профили групп доступа — справочник, в котором мы назначаем роли для работы со справочниками и документами.

Группы доступа партнеров — тоже справочник. Создаем элемент, чтобы потом назначить каждому партнеру.

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

Для этого идем «НСИ и Администрирование» è «Настройки пользователей и прав», подразделе «Администрирование». Ставим галочки как показано на рисунке.

Настройка групп доступа

Шаг 2. Создаем нужные группы и назначаем их у Партнеров.

Открываем «Группы доступа партнеров» и создаем две группы доступа «Контрагенты для менеджера 1″ и » Контрагенты для менеджера 2″.

Группы доступа пртнеров

Далее, открываем справочник Партнеры и назначаем им соответствующие созданные группы. В списке можно использовать множественный выбор с зажатой клавишей <Ctl>. Потом, нажимаем правой кнопкой мыши по отмеченным строкам и в открывшемся списке выбираем -«Изменить выделенное», находим нужный пункт и назначаем там группу.

Шаг 3. Создадим Профиль для группы доступа.

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

Профиль группы доступа

Шаг 4. Создадим две группы доступа.

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

Назначаем пользователей для группы доступа

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

Ограничения в группе доступа

Шаг 5. Заходим в программу в режиме «1С Предприятие» под пользователем и проверяем документы.

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

Если требуется консультация программиста 1С — обращайтесь!

В разделе КОНТАКТЫ указаны все способы для связи, либо можете воспользоваться формой на этой странице.


Александр Трубицын

Мой телеграм https://t.me/praktikaITS

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *