При работе в программе «1С:Зарплата и управление персоналом» (редакция 3.1) расчетчики и бухгалтеры иногда сталкиваются с крайне неприятной ситуацией. После сторнирования ранее проведенного документа Командировка за текущий (еще не закрытый) месяц и последующего перезаполнения документа Табель, дни, которые приходились на командировку, не возвращаются к стандартному виду явки (например, «Я8»). Вместо этого в табеле образуются пустые незаполненные клеточки.
Более того, при расчете заработной платы в документе Начисление зарплаты и взносов за эти дни начисление просто не происходит. Программа уменьшает количество отработанных дней сотрудника, из-за чего общая сумма к выплате за месяц оказывается незаслуженно заниженной. Попытки перезаполнить или перепровести документы стандартным способом не приносят результата.
В этой статье мы подробно разберем, почему возникает данная проблема, как устроены внутренние механизмы регистрации рабочего времени в 1С:ЗУП 3.1, и рассмотрим три практических способа решения этой проблемы — от методологических до технических.
Чтобы понять причину такого поведения программы, давайте проанализируем, как 1С:ЗУП 3.1 регистрирует время сотрудника. Программа использует концепцию вытеснения видов времени. Когда мы проводим документ Командировка, он вытесняет плановое время («Явка») на время нахождения в командировке («Командировка»). Информация об этом записывается в специализированные регистры накопления и регистры сведений.
Однако, когда пользователь решает применить операцию «Сторнировать» в еще не закрытом периоде, логика программы нарушается по следующим причинам:
Сторнирование начислений. Если же текущий месяц еще не закрыт и расчет зарплаты не завершен, использование сторнирования является методологической ошибкой.Данные оперативного учета рабочего времени сотрудников) возникают взаимоисключающие записи с показателями «1» и «-1». Это приводит к тому, что система «теряет» информацию о том, какой график работы должен действовать в эти дни, и оставляет ячейки в табеле пустыми.Параметры зарегистрированных данных учета времени сотрудников. Поскольку этот регистр является независимым, при выполнении некорректной операции сторнирования его записи могут не очиститься автоматически. Табель ориентируется на этот регистр и выдает пустые строки.Ниже мы подробно разберем алгоритмы устранения этой проблемы в зависимости от конкретной ситуации на вашем предприятии.
Если расчетный период (текущий месяц) еще не закрыт, зарплата окончательно не рассчитана и выплаты по командировке не производились в межрасчетный период, то использовать операцию «Сторнировать» категорически не рекомендуется.
Рассмотрим правильный порядок действий по шагам:
Командировка и просто отмените его проведение.Комментарий написать подробное пояснение (например: «Командировка отменена в связи с производственной необходимостью, билеты возвращены»).Табель (если вы его используете) и нажмите кнопку «Перезаполнить». Вы увидите, что дни с 23.10 по 25.10 автоматически заполнятся стандартным кодом «Я8».Начисление зарплаты и взносов — плановое время и сумма оклада за эти дни начислятся в полном объеме.Бывают ситуации, когда период еще не закрыт, но расчет по командировке уже был произведен и деньги фактически выплачены сотруднику в межрасчет. В таком случае просто отменить проведение документа нельзя, так как возникнет расхождение в выплатах. Здесь действительно необходимо зафиксировать факт отмены начислений, но сделать это нужно строго в определенной последовательности.
Проанализируем корректный алгоритм действий:
Табель, в котором образовались пустые ячейки. Обратите внимание: его нужно именно удалить из списка документов, а не просто очистить или перезаполнить.Сторнирование начислений) по проблемной командировке. Программа зафиксирует сторнирование сумм среднего заработка.Табель «с нуля» за этот месяц и заполните его по сотруднику. За счет того, что старый табель был удален, система заново обратится к плановым графикам работы и корректно заполнит дни явкой «Я8», проигнорировав конфликтные записи.Начисление зарплаты и взносов. Выполните расчет сотрудника. Программа начислит оклад за весь месяц (включая дни отмененной командировки) и одновременно учтет сторно начислений по среднему заработку в качестве удержания или перерасчета.Если описанные выше способы не помогли, и система упорно продолжает выводить пустые ячейки в табеле даже после удаления всех документов отклонений, это означает, что в базе данных «зависли» некорректные записи в независимых регистрах сведений. Такое часто случается при сбоях платформы или использовании нетиповых доработок.
Для исправления ситуации нам потребуется очистить данные в регистрах. Выполнять эти действия рекомендуется строго на резервной копии базы данных!
Рассмотрим пошагово техническое решение проблемы:
Параметры зарегистрированных данных учета времени сотрудников.Функции для технического специалиста (в старых версиях — «Все функции»), найдите указанный регистр сведений и откройте его.
// Очистка записей в независимом регистре сведений
НаборЗаписей = РегистрыСведений.ПараметрыЗарегистрированныхДанныхУчетаВремениСотрудников.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Сотрудник.Установить(ВыбранныйСотрудник);
// Если в регистре есть измерение Период или Месяц, устанавливаем дополнительный отбор
// НаборЗаписей.Отбор.ПериодРегистрации.Установить(ВыбранныйМесяц);
НаборЗаписей.Записать(); // Записываем пустой набор, тем самым очищая движения по отбору
Табель. Пустые клетки исчезнут, и система заполнит рабочие дни кодом «Я8».Начисление зарплаты и взносов.Подводя итоги, дадим несколько важных советов по работе с отклонениями в 1С:ЗУП 3.1, которые помогут вам избежать подобных проблем в будущем:
Комментарий в кадровых документах, а не создавайте лишние сторно-документы, которые перегружают регистры учета времени.Табель в программе. В 1С:ЗУП 3.1 отлично реализован метод отклонений, когда табель заполняется автоматически на основании графиков работы и кадровых документов (командировок, больничных, отпусков). Ручной табель требуется только при наличии сложных, ежедневно меняющихся графиков работы.Мы надеемся, что приведенные методики помогут вам оперативно решить проблему с заполнением табеля и начислением заработной платы вашим сотрудникам!