Рассмотрим частую задачу, с которой сталкиваются расчетчики и кадровики: необходимость автоматической отправки расчетных листков сотрудников руководителям их подразделений. В типовой конфигурации 1С:ЗУП 3.1 при попытке настроить такую массовую рассылку система выдает предупреждение: "Отчет 'расчетный листок' запрещено рассылать без отбора по физическому лицу".
Разберем причину такого поведения. Данное ограничение внедрено разработчиками 1С намеренно в целях соблюдения закона о защите персональных данных (152-ФЗ). Программа по умолчанию блокирует массовую отправку данных о зарплате подчиненных одному лицу, предполагая, что листок должен направляться строго самому сотруднику. Выясним, как обойти эту проверку и настроить рассылку так, как требует бизнес.
Прежде чем приступать к настройкам, проверим базовые условия:
Посмотрим на наиболее надежный метод, который не требует ежемесячного контроля за кадровыми перемещениями сотрудников. Мы отключим программную проверку персонализации отчета с помощью расширения.
Разберем по шагам действия программиста в конфигураторе:
ЗарплатаКадрыОтчеты.ПроверитьНастройкиРассылки (в старых версиях ЗУП 3.1.8 она могла называться КонтрольНастроекОтчетовПриЗаписиРассылкиОтчетов).&ИзменениеИКонтроль.Проанализируем пример модифицированного кода:
&ИзменениеИКонтроль("ПроверитьНастройкиРассылки")
Процедура Расш1_ПроверитьНастройкиРассылки(Отказ, Рассылка, НастройкиКД)
// ... часть типового кода ...
#Удаление
Если ТребоватьПерсонализацииОтчетаПриРассылке(ИнформацияОВарианте.ИмяОтчета, КлючВарианта(НастройкиКД))
И Не ОтчетПерсонализирован(НастройкиКД) Тогда
Результат.ТекстОшибки = СтрШаблон(
НСтр("ru = 'Отчет ""%1"" запрещено рассылать без отбора по физическому лицу'"),
Строка(ИнформацияОВарианте.Вариант));
КонецЕсли;
#КонецУдаления
// ... продолжение типового кода ...
КонецПроцедуры
После подключения расширения переходим в режим Предприятия. Создаем рассылку отчетов: в наименовании указываем нужное подразделение, выбираем отправлять "Отчеты указанным пользователям", получатели — "Физические лица". В настройках самого отчета (в нижнем окне рассылки) ставим отбор: Подразделение равно нужному подразделению.
Если нет возможности написать расширение, рассмотрим обходной путь исключительно средствами пользовательского режима. Идея заключается в привязке физического лица-руководителя к подразделению и использовании этого поля в настройках рассылки.
Разберем по шагам создание такой привязки:
Подразделения, добавляем новый дополнительный реквизит. Назовем его Руководитель с типом данных Сотрудник или Физическое лицо.Подразделение на конец периода.Руководитель.Физическое лицо (это поможет избежать путаницы с перемещениями сотрудников в течение месяца).Теперь создаем рассылку из нового сохраненного варианта отчета:
Подразделение на конец периода.Руководитель.Физическое лицо) и нажимаем кнопку Указать получателя рассылки. Система должна подставить значение Получатель.Недостаток этого метода в том, что вам придется вручную поддерживать актуальность поля Руководитель в справочнике подразделений. Также, если сотрудник переводился в течение месяца между отделами, его данные могут попасть в свод по старой структуре.
Автоматизируем процесс: любую успешно настроенную рассылку можно выполнять без участия пользователя. Для этого в окне рассылки перейдите на вкладку Расписание, установите флажок Выполнить по расписанию и задайте ежемесячный график (например, 10-го числа каждого месяца).
Проанализируем альтернативный, более безопасный подход. Учитывая строгость законов о защите персональных данных, пересылка чужих расчетных листков по открытым каналам электронной почты несет юридические риски. Вместо рассылки можно настроить руководителям ограниченный доступ в базу 1С:ЗУП (механизм RLS). В этом случае руководитель получает права на чтение данных только по своему подразделению, самостоятельно заходит в программу и формирует расчетные листки. Это полностью исключает необходимость сложных настроек электронной почты и обхода блокировок 1С.