При расчете больничных листов в программах «1С:Комплексная автоматизация 1.1» или «1С:Зарплата и управление персоналом 2.5» расчетчики и бухгалтеры часто сталкиваются с неприятной ситуацией: средний заработок сотрудника определен верно, программа видит стаж и все ключевые показатели, но в результате расчета сумма пособия (в том числе за первые 3 дня за счет работодателя) получается равной нулю. В комментариях к расчету при этом выводится сообщение: «Нет оплачиваемых дней в заданном периоде».
В этой статье мы подробно разберем, почему возникает этот конфликт программных механизмов, проанализируем внутреннее устройство регистров расчета и вытеснения в 1С, а также выработаем четкий пошаговый алгоритм решения проблемы и золотые правила ведения учета рабочего времени.
Рассмотрим типичный сценарий. В базу введен и проведен документ Табель учета рабочего времени за текущий месяц. После этого расчетчик вносит документ Начисление по больничному листу. При автоматическом расчете программа заполняет средний заработок, но в табличной части начислений по строкам «Оплата больничных листов за счет работодателя» и «Оплата больничных листов» в колонках с суммами и оплачиваемыми днями отображаются нули.
Если мы обратимся к комментариям расчета (кнопка «Подробнее о расчете»), то увидим следующую картину:
Нет оплачиваемых дней в заданном периоде. Результат расчета — 0.У страхователей, участвующих в пилотном проекте ФСС, пособие не начисляется. Результат расчета — 0.Второе сообщение абсолютно штатное для регионов с прямыми выплатами (ранее — Пилотный проект ФСС), так как за счет фонда работодатель начислять ничего и не должен. Но вот обнуление первых трех дней за счет работодателя — это критическая ошибка, лишающая сотрудника его законной выплаты.
Чтобы понять, почему программа «не видит» календарные дни для расчета больничного, заглянем в архитектуру платформы «1С:Предприятие». В основе подсистемы расчета заработной платы лежат регистры расчета (например, Основные начисления сотрудников) с поддержкой периода действия.
Для каждого вида расчета настраивается список вытесняющих видов расчета. Например, вид расчета «Оплата больничных листов» должен вытеснять «Оклад по дням» или «Оплату по тарифному разряду». Это логично: за те дни, когда сотрудник болел, оклад ему начисляться не должен.
Однако при использовании документа Табель учета рабочего времени в эту схему вмешивается важный нюанс:
Табель имеет высший приоритет при фиксации фактически отработанного и неотработанного времени.Табель проведен до расчета больничного, он делает движения в регистре расчета, регистрируя рабочие (или неоплачиваемые) дни на весь период.Больничный лист платформа обращается к механизму определения фактического периода действия. Функция ФактическийПериодДействия() из-за жесткой привязки к уже проведенному табелю не находит свободных незанятых интервалов времени и возвращает значение NULL или пустое множество.Для того чтобы исправить расчет и вернуть начисления, выполним следующие действия совместно с расчетчиком:
Табель учета рабочего времени, в который попадает период болезни сотрудника, и временно отмените его проведение (сделайте его непроведенным).Начисление по больничному листу. Нажмите кнопку «Рассчитать» (или «Рассчитать начисления»). Обратите внимание, что теперь программа успешно заполнит оплачиваемые дни за счет работодателя (первые 3 дня болезни) и рассчитает корректную сумму пособия, исходя из среднего дневного заработка. Проведите документ больничного.Табель. Перезаполните его автоматически. Программа увидит зарегистрированное отклонение (больничный лист) и автоматически проставит в соответствующие дни код «Б» (или «Т» в зависимости от причины нетрудоспособности). Проведите табель.Этот простой цикл действий мгновенно решает проблему «нулевых» сумм в подавляющем большинстве случаев.
Чтобы подобные коллизии не повторялись из месяца в месяц, в компании должна быть строго регламентирована последовательность ввода первичных документов по кадрам и расчету заработной платы. Запомните и используйте следующее правило ввода данных:
Шаг 1. Регистрация всех отклонений. В первую очередь в течение расчетного месяца в систему вносятся все документы, фиксирующие невыход сотрудников на работу:
Начисление по больничному листу;Отпуска организаций и Начисление отпуска;Командировки организаций;Невыходы в организациях (для фиксации прогулов или неявок по невыясненным причинам).Шаг 2. Заполнение табеля. Только после того, как все отклонения зафиксированы первичными документами, создается и проводится документ Табель учета рабочего времени. В этом случае данные в табеле заполнятся корректно без ручного вмешательства.
Шаг 3. Итоговое начисление зарплаты. Завершающим этапом рассчитывается документ Начисление зарплаты сотрудникам организаций.
Если нарушить эту последовательность и сначала ввести табель, то любые последующие документы отклонений будут конфликтовать с ним, вызывая ошибки расчета среднего заработка и времени.
Проанализируем организацию учета рабочего времени в программах 1С. Многие пользователи ошибочно полагают, что документ Табель обязателен к заполнению для всех сотрудников ежемесячно. На самом деле методология решений 1С предполагает два метода учета времени:
Для большинства организаций с классическим графиком работы использование документа Табель является избыточным. Если же кадровой службе или бухгалтерии требуется печатная форма Т-13, ее можно сформировать с помощью одноименного отчета Табель учета рабочего времени (Т-13), который соберет данные напрямую из графиков работы и документов невыходов без создания лишних документов в базе.
Если руководство предприятия настаивает на обязательном вводе документов Табель, единственным выходом для избежания ошибок расчета остается жесткое соблюдение хронологии: сначала первичный документ отклонения (больничный), затем табель, и только потом расчет начислений.