В практике работы с программой 1С:Зарплата и Управление Персоналом (редакция 3.1) бухгалтеры и расчетчики иногда сталкиваются с пугающей ситуацией: при оформлении увольнения сотрудника программа начисляет оплату по окладу всего за один день (как правило, день самого увольнения), полностью игнорируя остальные отработанные дни месяца. Эта проблема особенно часто проявляется в случаях, когда в месяце увольнения сотрудник направлялся в командировку или имел другие межрасчетные отклонения.
В рамках данной статьи мы подробно разберем причины этого странного поведения системы, проанализируем техническую сторону вопроса и рассмотрим конкретные способы решения проблемы, включая официальное исправление от компании 1С.
Представим типичную ситуацию: сотрудник работает по графику пятидневки с начислением Оклад по дням. В середине месяца (например, с 14 по 15 марта) он находился в командировке. 30 марта сотрудник увольняется. При создании документа Увольнение расчетчик ожидает увидеть оплату за все рабочие дни марта за вычетом дней командировки. Однако программа в строке начисления оклада выводит сумму только за 1 день — за 30 марта.
Важно отметить, что в таких случаях:
Табель может быть заполнен верно, но это не влияет на расчет в Увольнении.Командировка проведен и рассчитан корректно.Увольнение — это документ окончательного расчета, и ошибка в нем критична.Давайте вместе выясним причину такого сбоя. Если мы обратимся к технической составляющей платформы 1С, а именно к виртуальным таблицам регистров расчета, мы увидим интересную картину. Проблема кроется в механизме вытеснения периодов.
Проанализируем виртуальную таблицу НачисленияФактическийПериодДействия. В нормальной ситуации период действия оклада должен охватывать весь месяц с разрывом на дни командировки. Однако при возникновении данной ошибки система фиксирует ПериодДействияНачало и ПериодДействияКонец одной и той же датой — датой увольнения.
Это происходит из-за того, что в определенных релизах (в частности, ветки 3.1.5 и 3.1.6) алгоритм автоматического заполнения документа Увольнение некорректно обрабатывает цепочку документов. Зарегистрированное отклонение (командировка) «схлопывает» весь предшествующий период фактической работы, оставляя доступным для расчета только тот день, который инициирован самим кадровым событием (увольнением).
Важный факт: Данная ошибка официально признана компанией 1С и зарегистрирована под номером 30160609.
Поскольку проблема является программным багом, самым правильным и надежным способом будет обновление вашей информационной базы. Разработчики 1С выпустили исправления в последующих версиях конфигурации.
Исправление вошло в следующие релизы:
Если ваша база находится на более ранних релизах, настоятельно рекомендуем провести обновление, так как ошибка затрагивает базовые механизмы расчета среднего заработка и фактического времени, что может привести к массовым претензиям со стороны сотрудников и проверяющих органов.
Если вы не имеете возможности обновить конфигурацию немедленно, рассмотрим вариант, который помогал пользователям на форумах успешно рассчитать сотрудников. Суть метода заключается в изменении последовательности действий.
Обычно мы привыкли, что документ Увольнение сам рассчитывает зарплату за текущий месяц. Чтобы обойти баг, выполните следующие шаги:
Увольнение программа увидит уже начисленные суммы. Если дата увольнения не является последним числом месяца, система может сторнировать лишние дни, но при этом общая сумма оклада будет рассчитана верно.Проанализируем результат: расчетный лист в этом случае будет содержать правильное количество дней явки и верную сумму оплаты по окладу.
Рассмотрим еще один вариант для экстренных случаев. Если сотрудников немного, можно внести правки вручную непосредственно в документе Увольнение.
Для этого:
Оплата по окладу.Отработано (оплачено) дней и Результат внесите правильные данные вручную.Внимание! При использовании ручных правок будьте крайне осторожны, так как это может повлиять на расчет НДФЛ и страховых взносов, если они рассчитываются внутри этого же документа.
Подводя итог нашему разбору, отметим: если вы видите, что Оплата по окладу в увольнении подозрительно мала (равна оплате за 1 день), первым делом проверьте версию вашей конфигурации 1С:ЗУП.
Выясним причину: если в месяце есть командировка — вы столкнулись с багом 30160609.
Алгоритм действий должен быть следующим:
Командировка. Если он есть — попробуйте временно его отменить и пересчитать увольнение. Если сумма стала верной — диагноз подтвержден.Начисление зарплаты перед созданием Увольнения.Помните, что корректность расчета при увольнении — это залог отсутствия трудовых споров. Всегда сверяйте данные в документе с данными отчета Анализ зарплаты по сотрудникам или Расчетный листок до момента окончательной выплаты.