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