Как в своде начислений и удержаний настроить отбор по договорникам ГПХ?

Бухгалтер 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом Бухгалтерский учет Сфера услуг, туризм и социальный сектор
← На главную

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

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

Анализ проблемы: почему не работает стандартный отбор по виду занятости

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


Выбор 
    Когда [Вид занятости] = Неопределено 
         Или [Вид занятости] Есть Null 
         Или [Вид занятости] = Значение(Перечисление.ВидыЗанятости.) 
    Тогда Истина 
    Иначе Ложь 
Конец

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

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

  1. Механизм оптимизации запросов в СКД: При установке глобального отбора в шапке отчета Система компоновки данных пытается оптимизировать выполнение запроса на уровне СУБД. Условие отбора «пробрасывается» непосредственно в подзапросы к интервальным регистрам кадровой истории сотрудников. Поскольку договорники не принимаются на работу кадровыми приказами, в регистрах кадровой истории записи по ним вовсе отсутствуют. Соединение таблиц через LEFT JOIN с последующей фильтрацией по NULL на уровне общего условия ГДЕ нарушает выборку и приводит к непредсказуемым результатам. По этой проблеме фирмой 1С была официально зарегистрирована ошибка № 70163911.
  2. Разница между глобальным отбором и фильтрацией группировок: Фильтрация внутри конкретной группировки строк применяется платформой на этапе постобработки уже полученного набора данных (по аналогии с конструкцией HAVING в SQL). Поэтому группировка отрабатывает корректно, а общий отбор отчета дает сбой.
  3. Искажение сальдо взаиморасчетов: В «Полном своде» присутствуют блоки начального и конечного сальдо, формируемые по регистрам взаиморасчетов. В этих регистрах кадровые реквизиты отсутствуют в принципе. Наложение жесткого кадрового фильтра на весь отчет отсекает движения по взаиморасчетам либо подтягивает остатки штатных сотрудников.
  4. Ограничения кадрового учета: Попытка идентифицировать договор ГПХ через кадровые свойства сотрудника концептуально не всегда верна. Один и тот же человек может состоять в штате организации по трудовому договору и параллельно выполнять разовые работы по договору подряда. Кадровый фильтр по физическому лицу не позволяет разделить эти выплаты внутри одного расчетного листка.

Способ 1. Настройка отбора через «Вид занятости на конец периода»

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

Разберем настройку по шагам:

  1. Откроем форму отчета Полный свод начислений, удержаний и выплат.
  2. Перейдем в режим расширенной настройки по кнопке Настройки... и переключимся на вид Расширенный.
  3. Перейдем на закладку Отборы.
  4. Нажмем кнопку Добавить отбор.
  5. В списке доступных полей найдем и раскроем реквизит Сотрудник, а затем выберем поле Вид занятости на конец периода.
  6. В колонке Вид сравнения укажем значение Не заполнено.
  7. Нажмем кнопку Закрыть и сформировать.

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

Способ 2. Отбор по начислениям (для разделения сумм по договорам)

Проанализируем ситуацию, когда сотрудники совмещают основную трудовую деятельность и договоры подряда. Если мы отфильтруем свод по кадровым признакам, выплаты по ГПХ штатных работников будут полностью потеряны.

Чтобы выделить в своде исключительно начисления по договорам подряда и авторским договорам независимо от кадрового статуса человека, настроим отбор по объектам начислений:

  1. В расширенных настройках отчета на вкладке Отборы нажмем Добавить отбор.
  2. Выберем реквизит Начисление и раскроем его свойства.
  3. Выберем поле Назначение начисления.
  4. Установим вид сравнения Равно (или В списке, если необходимо учесть несколько категорий договоров).
  5. В качестве значения выберем предопределенный элемент Оплата договора подряда (при необходимости добавим авторские и лицензионные договоры).

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

Способ 3. Использование механизма «Группы сотрудников»

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

  1. В справочнике Сотрудники или через раздел настройки создадим группу с наименованием «Договорники ГПХ».
  2. Включим в эту группу исполнителей по договорам подряда (в ручном или динамическом режиме).
  3. В отчете «Полный свод» перейдем в настройки отбора, добавим поле Сотрудник, установим вид сравнения В группе и выберем созданную группу.

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

Способ 4. Дополнительные реквизиты справочника

Еще один надежный способ исключить конфликт СКД с периодическими регистрами — использование дополнительных реквизитов:

  1. В разделе администрирования включим использование дополнительных реквизитов и сведений.
  2. Для справочника Сотрудники добавим дополнительный реквизит с типом Булево (например, «Только ГПХ»).
  3. Установим флаг в карточках сотрудников, являющихся договорниками.
  4. В настройках свода добавим отбор по полю Сотрудник.[Только ГПХ] Равно Да.

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

Способ 5. Использование специализированных отчетов

Если цель формирования свода — проверка расчетов и сумм вознаграждений по договорам ГПХ, проанализируем типовые альтернативы. В типовых конфигурациях 1С:ЗУП и 1С:ЗКГУ в разделе выплат и зарплатных отчетов предусмотрены специализированные отчеты (например, «Начисления по договорам ГПХ» или «Договоры ГПХ»).

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

← На главную