Исправление ошибки прав доступа при заполнении отчета «Статистика: Форма П-4 (НЗ)» при включенном ограничении доступа по группе физических лиц
Администрирование - Роли и права
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Описание проблемы
Отчеты из раздела «Статистика» (в том числе П-4 (НЗ)) в типовых конфигурациях ЗУП не умеют корректно работать при включенном ограничении доступа на уровне записей (RLS), особенно с точностью до физических лиц
В типовой конфигурации ЗУП 3.1 отчет «Статистика: Форма П-4 (НЗ)» формируется с использованием запросов к регистрам и таблицам, содержащим данные по всем сотрудникам организации (штатное расписание, занятость позиций, кадровые данные и т. д.). При этом запросы не содержат директивы РАЗРЕШЕННЫЕ, которая необходима для корректной работы в условиях включенного RLS.
В модуле «СтатистикаПерсоналаРасширенный» разработчики удаляют «РАЗРЕШЕННЫЕ» из запроса с комментарием, что это бессмысленно.
Процедура УдалитьКлючевоеСловоРазрешенные(СхемаКомпоновки)
// Заполнение регламентированного отчета бессмысленно по разрешенным данным
Для Каждого НаборДанных Из СхемаКомпоновки.НаборыДанных Цикл
Если ТипЗнч(НаборДанных) = Тип("НаборДанныхЗапросСхемыКомпоновкиДанных") Тогда
НаборДанных.Запрос = СтрЗаменить(НаборДанных.Запрос, "РАЗРЕШЕННЫЕ", "");
КонецЕсли;
КонецЦикла;
КонецПроцедуры
В результате, если в базе:
- включено ограничение доступа на уровне записей (Администрирование → Настройки программы → Ограничение доступа);
- используется точность ограничения до физических лиц;
- даже у пользователя, который работает под профилем, которому доступны все физические лица
— при заполнении отчета может возникать ошибка:
Не удалось выполнить автозаполнение….
Ошибка при вызове метода контекста (Выполнить)
Ошибка выполнения запроса
У пользователя недостаточно прав на исполнение операции над базой данных
[НарушениеПравДоступа]
Стек ошибки указывает на модуль ОбщийМодуль.УправлениеШтатнымРасписанием.Модуль(379): Возврат Запрос.Выполнить();
Важно: проблема носит нестабильный характер — при одинаковом релизе конфигурации и одинаковых настройках прав в одной базе отчет заполняется успешно, а в другой возникает ошибка. Это связано с различиями в данных, активирующими скрытый дефект кода запроса.
Установка и подключение
- Скачать файл расширения .cfe.
- В 1С:Предприятие открыть: Администрирование → Печатные формы, отчеты и обработки → Расширения.
- Нажать «Добавить из файла», выбрать .cfe.
- Установить флажок «Активно».
- Перезапустить сеанс пользователя.
- Проверить заполнение отчета «Статистика: Форма П-4 (НЗ)» под проблемным пользователем.
Ограничения и предупреждения
- Расширение решает конкретную проблему с заполнением П-4 (НЗ) при RLS с точностью до физических лиц. При изменении типовой конфигурации (обновлении релиза) может потребоваться адаптация расширения.
- Если в базе установлены официальные патчи 1С, перед подключением расширения рекомендуется проверить, не исправлена ли проблема штатно.
- Расширение не заменяет полноценную настройку прав доступа и не снимает необходимости корректного администрирования RLS.
- При сдаче отчетности в контролирующие органы рекомендуется сверить заполненные показатели с данными, полученными под полными правами, чтобы исключить искажения из-за особенностей RLS.
Альтернативные решения
Если установка расширения невозможна, можно использовать следующие обходные пути:
- Заполнение отчета под пользователем с полными правами (Администратор) — гарантированно работает, но требует участия администратора.
- Установка официального патча 1С для текущего релиза (при наличии).
- Обращение в поддержку 1С с описанием проблемы — для получения официального исправления в следующих релизах.
Итог
Расширение представляет собой безопасное и точечное решение известной проблемы несовместимости отчета «Статистика: Форма П-4 (НЗ)» с механизмом ограничения доступа на уровне записей в 1С:ЗУП 3.1. Оно позволяет кадровым службам самостоятельно заполнять отчет без обращения к администратору и без нарушения политики разграничения доступа к персональным данным.
Проверено на следующих конфигурациях и релизах:
- Зарплата и управление персоналом КОРП, редакция 3.1, релизы 3.1.38.92
- Зарплата и управление персоналом, редакция 3.1, релизы 3.1.38.92
Вступайте в нашу телеграмм-группу Инфостарт