Приветствуем вас, уважаемые коллеги! Сегодня мы детально разберем одну из классических и одновременно непростых задач, с которой регулярно сталкиваются пользователи и расчетчики в программе 1С:Зарплата и Управление Персоналом ред. 2.5 (а также в аналогичных конфигурациях на платформе «1С:Предприятие 8», например, в «1С:Управление производственным предприятием ред. 1.3»).
Суть проблемы заключается в следующем: в организации вводится новый вид времени (например, особый вид дежурства, оплачиваемый нерабочий день или специфическое время нахождения в пути с кодом «ХХ»). При заполнении Табеля учета рабочего времени этим кодом пользователи обнаруживают, что программа автоматически уменьшает сумму начисления по основному окладу сотрудника. «Оклад по дням» или «Оклад по часам» пропорционально уменьшается, как будто сотрудник отсутствовал на работе. Давайте вместе разберемся, почему так происходит, и найдем системное решение этой задачи без привлечения программистов.
Для начала проанализируем внутреннее устройство механизмов расчета времени в редакции 2.5. В отличие от более современной третьей редакции, архитектура ЗУП 2.5 построена на жестком принципе: «одно начисление — один вид времени по классификатору». Предопределенное начисление Оклад по дням (или Оклад по часам) в своих настройках жестко связано со стандартным видом времени Явка (буквенный код «Я»).
Когда расчетный механизм программы анализирует Табель учета рабочего времени, он сопоставляет фактически отработанные дни по коду «Я» с нормой времени по графику сотрудника. Если в табеле вместо привычной «Явки» появляется новый пользовательский код (например, «ХХ»), программа перестает видеть этот день как отработанный в рамках начисления Оклад по дням. В результате расчетный модуль уменьшает количество дней «Явки», что ведет к автоматическому пропорциональному урезанию суммы оклада.
Выяснив первопричину, мы понимаем, что просто добавить новый код в классификатор и проставить его в табеле недостаточно. Нам необходимо настроить корректное сопоставление начислений. Рассмотрим подробнее пошаговый алгоритм решения этой задачи.
Первым делом нам необходимо зарегистрировать наше новое время в системе. Выполним следующие действия:
Рабочее время. Если это время должно признаваться фактически отработанным и участвовать в расчете среднего заработка для будущих отпусков и командировок, этот флажок необходимо обязательно установить. Если же вы настраиваете аналог оплачиваемого неотработанного времени (например, как это было во время пандемии для нерабочих дней с кодом «ОН»), то флажок ставить не следует, чтобы эти дни не завышали показатели фактически отработанного времени при расчете среднего заработка.Поскольку мы не можем привязать несколько видов времени к одному окладу, нам нужно создать специальное начисление-двойник, которое будет рассчитываться за дни нашего нового времени «ХХ». Разберем этот процесс по шагам:
Оклад по дням (или Оклад по часам, в зависимости от того, как рассчитываются ваши сотрудники), нажмем кнопку Добавить копированием. Это позволит сохранить все ключевые настройки налогообложения, бухучета и отражения в отчетности.Оклад за время ХХ.Вид времени установим переключатель в положение Начисление за работу полную смену в пределах нормы времени.Вид времени по классификатору выберем созданный нами ранее код ХХ.Чтобы программа корректно делила время между обычной «Явкой» и нашим новым временем «ХХ», необходимо настроить список вытесняющих начислений. Проанализируем настройки:
Поскольку новое начисление Оклад за время ХХ является полным аналогом основного оклада, оно должно вытесняться теми же видами расчетов, что и обычный оклад (больничные, отпуска, прогулы и т.д.). Перейдем на вкладку Прочие нового начисления и убедимся, что в табличную часть Вытесняющие начисления перенеслись все необходимые виды отсутствий. При необходимости добавьте их вручную по аналогии с основным окладом.
Для того чтобы программа понимала, что сотруднику разрешено использовать это начисление, его необходимо зарегистрировать в качестве планового. Сделать это можно двумя путями:
Кадровое перемещение организаций или Ввод сведений о плановых начислениях работников организаций.Оклад за время ХХ с тем же размером тарифной ставки (оклада), что и основной оклад. Пугаться того, что у сотрудника будет два оклада в плановых начислениях, не стоит — они не задвоят сумму, так как расчет будет происходить строго пропорционально времени, указанному в Табеле.При расчете заработной платы документом Начисление зарплаты сотрудникам программа автоматически проанализирует Табель. За дни с кодом «Я» будет начислен обычный оклад, а за дни с кодом «ХХ» — Оклад за время ХХ. Суммарно сотрудник получит ровно свой полный оклад за месяц без каких-либо потерь.
Не забудем о будущих расчетах. Чтобы начисленные суммы по новому окладу учитывались при расчете отпусков, командировок и больничных, выполним настройку базы среднего заработка:
Оклад за время ХХ и перенесем его в правую колонку (в список базовых начислений).Давайте вспомним историю развития программы. В июне 2020 года, во время массового введения оплачиваемых нерабочих дней из-за пандемии COVID-19, перед тысячами бухгалтеров встал именно этот вопрос. Фирма 1С выпустила официальный релиз ветки 2.5 под номером 2.5.153.1.
Поскольку редакция 2.5 к тому моменту уже находилась на ограниченной поддержке, разработчики приняли решение не менять внутренний программный код ядра конфигурации. Вместо этого в официальном описании релиза они детально расписали именно ту методику, которую мы разобрали выше. Они рекомендовали создавать вид времени «ОН» (Оплачиваемые нерабочие дни) и настраивать под него отдельное начисление. Это подтверждает, что описанный нами способ является единственно верным, методологически правильным и одобренным самой фирмой 1С.
Если ваша компания задумывается о переходе на актуальную редакцию 1С:Зарплата и Управление Персоналом 3.1, то там эта проблема решена на уровне архитектуры и не требует создания дублирующих начислений.
В ЗУП 3.1 при создании нового вида времени в справочнике Виды рабочего времени предусмотрен специальный реквизит Основное время. При создании времени «ХХ» достаточно указать в качестве основного времени предопределенный вид Явка. Программа автоматически начнет воспринимать «ХХ» как подвид «Явки». В результате стандартное начисление Оплата по окладу будет без проблем рассчитываться как по дням «Я», так и по дням «ХХ», не требуя создания дополнительных видов расчета и назначения их сотрудникам. Это существенно экономит время расчетчика и упрощает ведение учета.