При работе в программе 1С:Зарплата и Управление Персоналом 3.1 бухгалтеры часто сталкиваются с ситуацией: сотрудник принят на работу во второй половине месяца (например, 16, 18 или 20 числа), по нему успешно создано начисление за первую половину месяца (с расширенным периодом по 25 число), но при попытке создать документ Ведомость на выплату аванса этот сотрудник упорно не попадает в список. Давайте разберем, почему так происходит, и какие законные способы решения этой проблемы существуют в рамках типового функционала.
Для начала проанализируем внутреннюю логику программы. В системе 1С термин «Аванс» жестко связан с понятием «Заработная плата за первую половину месяца». Программный код содержит предопределенные фильтры, которые ограничивают период этой «первой половины» строго 15-м числом текущего месяца. Если дата приема сотрудника на работу больше 15-го числа, алгоритм заполнения ведомости считает, что у сотрудника нет отработанного времени в расчетном периоде аванса.
Рассмотрим фрагмент кода из модуля ВзаиморасчетыССотрудникамиРасширенный, который отвечает за это поведение:
Процедура СоздатьВТСотрудникиНеПолучающиеАванс(МенеджерВременныхТаблиц, ИмяВременнойТаблицы, ПериодРегистрации)
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Месяц = ПериодРегистрации;
НачалоПериода = Дата(Год(Месяц), Месяц(Месяц), 1);
КонецПериода = Дата(Год(Месяц), Месяц(Месяц), 15);
// ... дальнейшая логика отсечения сотрудников
КонецПроцедуры
Как мы видим, КонецПериода для проверки права на аванс программно установлен на 15 число. Аналогичная проверка срабатывает в функции определения параметров получения сотрудников по шапке ведомости:
Если РеквизитыСпособаВыплаты.ХарактерВыплаты = Перечисления.ХарактерВыплатыЗарплаты.Аванс Тогда
НачалоПериода = НачалоМесяца(Ведомость.ПериодРегистрации);
ОкончаниеПериода = МИН(Дата(Год(Ведомость.ПериодРегистрации), Месяц(Ведомость.ПериодРегистрации), 15), Ведомость.Дата);
КонецЕсли;
Это означает, что даже если вы вручную укажете в документе Начисление за первую половину месяца период до 25 числа, стандартная Ведомость на выплату аванса все равно будет «оглядываться» на 15-е число. С точки зрения законодательства (ст. 136 ТК РФ), работодатель обязан выплачивать зарплату не реже чем каждые полмесяца. Если сотрудник принят 16-го числа и не получит выплату 25-го (в день аванса), то его первая выплата 10-го числа следующего месяца приведет к нарушению «правила 15 дней». Поэтому нам необходимо найти способ произвести выплату в программе.
Чтобы обойти жесткую привязку к 15 числу, мы можем использовать механизм межрасчетных выплат. Этот метод позволяет выплатить начисленные суммы без привязки к характеру выплаты «Аванс». Разберем этот процесс по шагам:
Начисление за первую половину месяца, в котором рассчитан наш сотрудник.Важный нюанс: В этом случае программа подберет сотрудника, ориентируясь на документ-основание, игнорируя дату его приема относительно 15-го числа. Это самый корректный путь, не требующий ручных правок регистров.
Если в организации много таких сотрудников и вы не хотите каждый раз привязываться к конкретному документу начисления, можно создать универсальный «мостик» в справочниках. Проанализируем, как это сделать:
Аванс (индивидуальный).Поскольку характер выплаты установлен как «межрасчетный», алгоритм заполнения не будет применять фильтр ОкончаниеПериода = 15 число, и сотрудник попадет в ведомость по кнопке Подбор или Заполнить, если по нему есть задолженность в регистре Зарплата к выплате.
Рассмотрим еще один «лайфхак», который часто используют опытные расчетчики, когда нужно быстро включить сотрудника в общую ведомость. Этот метод требует внимательности к деталям учета НДФЛ.
Внимание: Мы крайне не рекомендуем этот метод для постоянного использования, так как ручная правка НДФЛ в ведомостях может привести к расхождениям в отчетах 6-НДФЛ и регистре Расчеты налогоплательщиков с бюджетом по НДФЛ.
Проанализируем ситуацию с налогами. С 2023 года датой получения дохода считается день фактической выплаты денег. Если вы выплачиваете «аванс» сотруднику 25-го числа, то именно на эту дату программа должна исчислить и удержать НДФЛ.
При использовании Способа 1 (Межрасчетная выплата), программа автоматически свяжет начисление и выплату, корректно зафиксировав сумму удержанного налога. Если же вы используете «ручные» способы (Способ 3), обязательно убедитесь, что в документе Ведомость заполнена колонка К выплате и суммы НДФЛ соответствуют расчету из документа Начисление за первую половину месяца. Любое расхождение в копейках приведет к тому, что при итоговом расчете зарплаты за месяц программа попытается «доудержать» или «вернуть» излишне начисленное, что усложнит проверку отчетности.
Подводя итог, можно сделать вывод, что поведение 1С:ЗУП продиктовано строгим разделением месяца на две равные половины в алгоритмах автоматизации. Для решения задачи наиболее правильным будет:
Начисление за первую половину месяца с установленной датой расчета (например, по 25-е число).Выполняя эти рекомендации, вы обеспечите соблюдение трудового законодательства и сохраните чистоту кадрового и налогового учета в программе 1С:Зарплата и Управление Персоналом.