Часто в практике работы с 1С:Зарплата и управление персоналом 3.1 возникает ситуация: сотрудница числится в штате, по ней оформлен возврат из отпуска по уходу за ребенком, табель заполняется корректно, но при заполнении документа Начисление зарплаты и взносов она упорно не попадает в список. Давайте вместе разберем причины этого поведения программы, проанализируем состояние регистров и найдем решение проблемы.
Самая распространенная причина кроется не в кадровом состоянии (работает/не работает), а в механизме плановых начислений. Когда сотрудник уходит в отпуск по уходу за ребенком, программа автоматически прекращает действие его плановых начислений (оклада, надбавок и т.д.). При оформлении документа Возврат из отпуска по уходу пользователи часто забывают активировать возобновление этих начислений.
Проанализируем ситуацию: даже если в регистре ПлановыеНачисления запись об оплате по окладу существует, она может не использоваться, если не создана запись в регистре ПрименениеПлановыхНачислений со значением Истина. Для оперативной проверки действующих видов расчета можно использовать отчет для анализа плановых начислений сотрудников.
Разберем по шагам, как это исправить:
Возврат из отпуска по уходу, которым сотрудница была выведена на работу.Оплата по окладу или Оплата по часовому тарифу).Применение плановых начислений.После этих действий при нажатии кнопки Заполнить в документе Начисление зарплаты и взносов сотрудница должна появиться в табличной части начислений.
Иногда проблема с начислениями сопровождается техническими сбоями, особенно после обновления конфигурации. Если при попытке провести документ начисления возникает ошибка {ОбщийМодуль.УчетНачисленнойЗарплатыБазовый.Модуль(369)}: Слишком много фактических параметров, это свидетельствует о конфликте версий процедур в коде.
Выясним причину: в новых релизах ЗУП 3.1 разработчики часто меняют состав параметров в функциях, отвечающих за учет доходов для исполнительного производства. Если в базе остались старые расширения или не очистился кэш, программа вызывает функцию с неверным количеством аргументов.
Рассмотрим способы решения:
1C:Enterprise 8.3 Server Agent.УчетНачисленнойЗарплатыБазовый или УчетНачисленнойЗарплатыРасширенный. Отключите их для теста.Проанализируем ситуацию, когда начисления проходят, но возникают сложности с отчетами по задолженности. Пользователи часто замечают, что в регистре Зарплата к выплате документы начисления заполняют измерение Документ-основание, а ведомости (в банк или кассу) — нет. Это приводит к «разъезжанию» отчетов по документам-основаниям. Для исправления расхождений в этом регистре пригодится инструмент для корректировки регистра «Зарплата к выплате».
Посмотрим на логику системы:
В типовой конфигурации по умолчанию выплата зарплаты идет «накопительным итогом» по месяцам начисления. Если вы хотите, чтобы ведомости жестко закрывали конкретные документы начисления, необходимо проверить настройки состава начислений в разделе Настройка — Расчет зарплаты. Однако чаще всего проблема решается перепроведением документов в хронологическом порядке, чтобы механизм ФИФО внутри программы корректно сопоставил выплаты и долги.
Часто расчетчики жалуются, что отчеты Анализ взносов в фонды или Проверка расчетов взносов не позволяют сделать отбор по подразделению. Это происходит потому, что страховые взносы в 1С:ЗУП 3.1 исчисляются в целом по физическому лицу.
Как настроить отчет под себя:
Подразделение, которое программа подтянет через точку из данных о сотруднике.Полный свод начислений, удержаний и выплат, где начисления и взносы развернуты по аналитике подразделений.Если вам необходимо программно вмешаться в процесс записи движений по регистрам начисления (например, принудительно заполнить подразделение в специфических случаях), используйте подписки на события. Рассмотрим пример кода для подписки ПередЗаписью набора записей регистра накопления:
Процедура ПередЗаписьюРегистраЗарплатаКВыплате(Источник, Отказ, Замещение) Экспорт
// Проверяем, что это не удаление движений
Если Источник.Количество() > 0 Тогда
Для Каждого Запись Из Источник Цикл
Если Не ЗначениеЗаполнено(Запись.Подразделение) Тогда
// Логика получения подразделения из кадровой истории
Запись.Подразделение = ПолучитьПодразделениеСотрудника(Запись.Сотрудник, Запись.Период);
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Обратите внимание, что в ЗУП 3.1 записи в регистры часто происходят в несколько этапов (сначала записывается пустой набор для очистки старых движений, затем — новый). Поэтому при отладке в событии ПередЗаписью вы можете сначала увидеть пустой Источник — это нормальное поведение платформы.
Резюмируя: если сотрудница не попадает в начисление, в 90% случаев это забытый флаг в документе возврата из отпуска. Все остальные технические нюансы (кэш, параметры функций, настройки отчетов) являются вторичными и решаются стандартными инструментами администрирования 1С.