Как настроить рассылку расчетных листков ответственным лицам в 1С:ЗУП 3.х одним письмом?

Программист 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом IT и автоматизация бизнеса
← На главную

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

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

Выясняем причину: почему 1С:ЗУП блокирует групповую рассылку?

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

Проанализируем ситуацию на уровне кода. Проверка срабатывает в общем модуле ЗарплатаКадрыОтчеты в процедуре контроля параметров рассылки. Система анализирует настройки компоновки данных и, если имя отчета соответствует расчетному листку, требует обязательного наличия жесткого отбора по конкретному Физическому лицу (или Сотруднику), который должен совпадать с получателем рассылки. Если такого отбора нет — рассылка блокируется.

Решение 1. Обход ограничения через изменение кода конфигурации

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

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


Если ТребоватьПерсонализацииОтчетаПриРассылке(ИнформацияОВарианте.ИмяОтчета, КлючВарианта(НастройкиКД))
    И Не ОтчетПерсонализирован(НастройкиКД) Тогда
            
    Результат.ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
        НСтр("ru = 'Отчет ""%1"" запрещено рассылать без отбора по физическому лицу'"),
        Строка(ИнформацияОВарианте.Вариант)); 
КонецЕсли;

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


Если ТребоватьПерсонализацииОтчетаПриРассылке(ИнформацияОВарианте.ИмяОтчета, КлючВарианта(НастройкиКД))
    И Не ОтчетПерсонализирован(НастройкиКД) Тогда
            
    // Результат.ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
    //     НСтр("ru = 'Отчет ""%1"" запрещено рассылать без отбора по физическому лицу'"),
    //     Строка(ИнформацияОВарианте.Вариант)); 
    
    // Вместо блокировки выводим предупреждение в окно сообщений или журнал регистрации:
    Сообщить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
        НСтр("ru = 'Внимание! Отчет ""%1"" рассылается без проверки отбора по физическому лицу!'"),
        Строка(ИнформацияОВарианте.Вариант))); 
КонецЕсли;

Важно: Прямое редактирование типовой конфигурации усложнит процесс последующих обновлений программы. Настоятельно рекомендуется реализовать данное изменение через расширение конфигурации. Для этого создайте новое расширение, добавьте в него общий модуль ЗарплатаКадрыОтчеты и переопределите соответствующий метод с помощью аннотации &Вместо или воспользуйтесь директивой &ИзменениеИКонтроль.

Решение 2. Настройка рассылки в пользовательском режиме

После того как ограничение в коде успешно отключено (или обойдено с помощью расширения), мы можем перейти к настройке самой рассылки непосредственно в пользовательском интерфейсе 1С:ЗУП. Нам потребуется настроить отправку отчета конкретным пользователям.

Выполним настройку по шагам:

  1. Перейдите в раздел Администрирование — Печатные формы, отчеты и обработки — Рассылки отчетов.
  2. Нажмите кнопку Создать для настройки нового профиля рассылки.
  3. В поле Отправлять выберите значение Отчет указанным получателям (вместо значения "Свой отчет каждому получателю", которое используется для индивидуальной рассылки сотрудникам).
  4. В табличную часть Получатели добавьте ответственных лиц. Обратите внимание: ответственные лица должны быть зарегистрированы в справочнике Пользователи (или Физические лица в зависимости от настроек), и у них в карточке обязательно должен быть заполнен корректный адрес электронной почты.
  5. Перейдите на вкладку Настройки отчета. В списке доступных отборов найдите поле Подразделение или Сотрудник.
  6. Установите вид сравнения В списке или Равно и укажите те подразделения (или конкретный список сотрудников из 50 человек), которые закреплены за данным ответственным лицом.
  7. На вкладке Форматы файлов укажите необходимый формат выгрузки (например, документ Adobe PDF (.pdf)). Система автоматически сформирует отчет по выбранным сотрудникам и прикрепит его к письму.

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

Юридические риски и требования безопасности (152-ФЗ)

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

Проанализируем ключевые правовые требования законодательства РФ:

Современная и безопасная альтернатива: сервис "1С:Кабинет сотрудника"

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

Этот сервис решает задачу бесконтактной доставки документов максимально безопасно:

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

← На главную