В процессе работы с программой 1С:Зарплата и управление персоналом 3.1 КОРП пользователи нередко сталкиваются с ситуацией, когда созданный показатель расчета зарплаты, имеющий область действия «Для организации», корректно работает в общем документе начисления зарплаты, но наотрез отказывается определяться в специализированном документе Расчет удержаний. В данной статье мы подробно разберем, почему так происходит, как работают механизмы хранения периодических показателей и какие шаги необходимо предпринять для исправления этой ошибки.
Рассмотрим ситуацию на примере. Бухгалтеру необходимо реализовать удержание, которое зависит от определенного процента (например, ПроцентНДС), единого для всей компании. Алгоритм настройки в программе обычно выглядит следующим образом:
Для организации.Числовой.Во всех месяцах после ввода значения (периодический).Постоянно действующие.Использовать дату окончания.
Результат = РасчетнаяБаза * ПроцентНДС
При расчете в типовом документе Начисление зарплаты и взносов все работает идеально. Однако при попытке рассчитать то же самое удержание в документе Расчет удержаний (доступном только в версии КОРП), программа «не видит» значение показателя ПроцентНДС, и расчет не происходит.
Проанализируем ситуацию с технической точки зрения. В системе 1С:ЗУП 8.3 показатели хранятся в разных регистрах сведений в зависимости от их области действия:
Значения периодических показателей расчета зарплаты (для сотрудников). Они жестко привязаны к физическому лицу и его трудовому договору.Значения периодических показателей расчета зарплаты (для организаций). Эти записи не имеют привязки к конкретным людям, они действуют на всё юридическое лицо в целом.Проблема заключается в том, как документ Расчет удержаний в старых релизах (ветка 3.1.4 и смежные) собирает данные. Разберем по шагам: основной документ Начисление зарплаты и взносов — это универсальный механизм, который при заполнении опрашивает все возможные регистры показателей. Документ же Расчет удержаний является частью функционала «Разделение расчета зарплаты» (прерогатива КОРП-версии), предназначенного для распределения нагрузки между расчетчиками. В ранних версиях программный код этого документа имел «упрощенный» алгоритм подбора данных, который зачастую игнорировал регистр показателей организации, ориентируясь только на кадровые данные сотрудников.
Выясним причину, почему удержание может вообще не появляться в списке. В настройках начисления или удержания часто устанавливается флаг «Только если введено значение показателя». Рассмотрим, как это влияет на логику программы:
Если этот флаг установлен и программа (из-за ошибки в коде конкретного документа) не смогла получить значение ПроцентНДС из регистра организации, она считает, что значение показателя равно нулю или не введено. Следовательно, условие расчета не выполняется, и строка с удержанием просто не создается в документе Расчет удержаний. Это создает ложное впечатление, что удержание «не назначено», хотя проблема именно в доступности показателя.
Проанализируем несколько способов исправления ситуации, от простых настроек до изменения логики учета.
Самый простой и очевидный путь — отказаться от использования узкоспециализированного документа Расчет удержаний в пользу основного документа Начисление зарплаты и взносов. Поскольку в общем документе алгоритмы сбора данных более полные, показатель ПроцентНДС будет подхвачен без дополнительных манипуляций. Это решение подходит, если в вашей организации не критично разделение прав доступа между бухгалтерами, отвечающими отдельно за начисления и отдельно за удержания.
Если специфика работы в КОРП-версии требует использования именно документа Расчет удержаний, мы можем «обмануть» систему, изменив область действия показателя. Рассмотрим алгоритм действий:
ПроцентНДС с Для организации на Для сотрудника.Данные для расчета зарплаты или Изменение оплаты труда.В этом случае данные попадут в регистр по сотрудникам, который документ Расчет удержаний видит гарантированно. Минус метода — при приеме новых сотрудников им также нужно будет назначать этот показатель.
Выясним причину отсутствия данных в коде. В версиях 3.1.4.171 данная проблема признавалась как недоработка механизма «Разделения расчета». В современных релизах (3.1.10, 3.1.23 и выше) разработчики унифицировали процедуры расчета. Поэтому обновление конфигурации до актуальной версии является наиболее правильным техническим решением.
Если обновление невозможно, программисту 1С следует проанализировать запрос в модуле менеджера или в процедурах заполнения документа Расчет удержаний. Скорее всего, там отсутствует левое соединение с таблицей ЗначенияПериодическихПоказателейРасчетаЗарплатыДляОрганизаций.СрезПоследних.
Посмотрим на пример из практики, упомянутый в обсуждении. При использовании периодических показателей крайне важно следить за датой окончания. Если вы указали окончание действия показателя 31.12.2018, а расчет производите за январь 2019 года, программа правомерно не увидит значение.
Также стоит помнить об изменении законодательства. Например, если ваш показатель называется ПроцентНДС и используется в расчетах удержаний, связанных с компенсациями или выплатами третьим лицам, помните, что с 2019 года ставка изменилась с 18% на 20%. В этом случае в Данные для расчета зарплаты нужно ввести новую строку с 01.01.2019 со значением 1.2 (или 20), иначе расчет останется неверным даже при исправлении технической видимости показателя.
Подводя итог, можно сказать, что атрибут «Для организации» действительно означает применение показателя для всех сотрудников, но техническая реализация его подбора зависит от конкретного документа в 1С:ЗУП КОРП. Если специализированный документ Расчет удержаний не видит показатель, это является следствием ограничений старого релиза программы. Для исправления ситуации рекомендуется либо перейти на использование общего документа Начисление зарплаты и взносов, либо обновить систему до актуальной версии.