Как настроить доплату до среднего по больничным листам при прямых выплатах в УПП 1.3 и исправить ошибки обновления 152.2

Программист 1С v8.3 (Обычные формы) Налоговый учет Промышленность, строительство и АПК
← На главную

В процессе эксплуатации конфигурации «Управление производственным предприятием» редакции 1.3 (релиз 1.3.152.2 и смежные) многие пользователи столкнулись с рядом критических проблем. Они связаны как с переходом на механизм прямых выплат из ФСС (ныне СФР), так и с внутренними программными ошибками самого обновления. В данной статье мы подробно разберем, как восстановить работоспособность системы и настроить корректный расчет доплаты до среднего заработка за весь период болезни сотрудника.

Реализация доплаты до среднего заработка при прямых выплатах

Проанализируем ситуацию: исторически в УПП 1.3 доплата до среднего рассчитывалась внутри документа «Начисление по больничному листу». Программа брала общую сумму пособия и сравнивала её с расчетным средним заработком сотрудника по правилам предприятия. Однако после перехода на прямые выплаты (ПВСО) механизм изменился: теперь работодатель начисляет и выплачивает только первые 3 дня болезни. Остальной период оплачивается фондом напрямую, и эти суммы в документе «Начисление по больничному листу» больше не отражаются как начисления организации.

Выясним причину проблемы: стандартная формула доплаты часто опирается на показатель НачисленоПоБольничному. Поскольку за дни ФСС начисление в базе равно нулю, программа либо начисляет избыточную сумму доплаты, либо игнорирует эти дни вовсе. Для решения задачи нам необходимо создать отдельный вид расчета и настроить его так, чтобы он «видел» весь период нетрудоспособности.

Рассмотрим по шагам процесс создания такого начисления:

  1. Перейдем в план видов расчета «Основные начисления организаций» и создадим новый элемент «Доплата до среднего по БЛ (за счет работодателя)».
  2. На вкладке «Расчеты» установим переключатель в положение «Произвольная формула».
  3. Разберем логику формулы. Нам необходимо вычислить разницу между «идеальным» средним дневным заработком сотрудника и тем, что ему положено по закону (с учетом ограничений ФСС), и умножить это на количество календарных дней болезни.

Пример настройки формулы для доплаты до 100% среднего заработка может выглядеть следующим образом:

Максимум(СреднийЗаработокДляДоплаты * КалендарныеДни - РасчетноеПособиеФСС, 0)

Однако, так как РасчетноеПособиеФСС за дни фонда в системе теперь отсутствует, эффективнее использовать подход, где мы фиксируем разницу в дневном заработке. Выясним, как трансформировать расчет: создадим показатель «Дневная доплата», который рассчитывается как (СреднедневнойЗаработокКомпании - СреднедневнойЗаработокФСС) * ПроцентОплаты.

Важно учитывать, что при прямых выплатах данные о среднем заработке для ФСС сохраняются в документе «Больничный лист», но не создают записей в регистре расчета за период фонда. Поэтому для автоматизации может потребоваться небольшая доработка программного кода в модуле расчета, чтобы при заполнении документа доплаты программа анализировала все дни болезни из первичного листка нетрудоспособности.

Исправление ошибки «Поле объекта не обнаружено LN_Result»

При загрузке электронных листков нетрудоспособности (ЭЛН) в релизе 152.2 часто возникает ошибка парсинга ответа от серверов фонда. Проанализируем ситуацию: это происходит из-за несоответствия структуры XML-ответа и ожидаемых имен полей в коде конфигурации. Программа пытается обратиться к свойству LN_Result, которое в новой версии API фонда либо отсутствует, либо находится в другом узле дерева данных.

Чтобы исправить эту техническую проблему, необходимо внести изменения в общий модуль ЭлектронныеЛисткиНетрудоспособности. Рассмотрим пример исправления логики обработки ответа:


// В процедуре обработки ответа от ФСС
// Заменим прямое обращение к свойству на проверку наличия
Если СтруктураОтвета.Свойство("LN_Result") Тогда
    РезультатЗагрузки = СтруктураОтвета.LN_Result;
ИначеЕсли СтруктураОтвета.Свойство("FileSimple") Тогда 
    // Альтернативный узел в некоторых версиях схем
    РезультатЗагрузки = СтруктураОтвета.FileSimple;
КонецЕсли;

Если вы не планируете вносить изменения в код, рекомендуется проверить наличие официальных патчей (исправлений) для версии 1.3.152.2 в личном кабинете на портале ИТС, так как данная ошибка признана разработчиками и исправлена в последующих версиях (начиная с 1.3.153.1).

Решение проблемы с функцией «ПолучитьСклоненияСтроки»

Еще одна типичная ошибка после обновления — невозможность сформировать печатные формы или отчеты из-за отсутствия функции ПолучитьСклоненияСтроки. Это произошло вследствие рефакторинга кода, когда разработчики 1С перенесли функции склонения в библиотеку стандартных подсистем (БСП), но забыли обновить вызовы в старых модулях УПП.

Для исправления необходимо найти место ошибки в конфигураторе. Как правило, вызов выглядит просто как ПолучитьСклоненияСтроки(...). Нам нужно добавить префикс соответствующего общего модуля. Посмотрим на правильный вариант вызова:


// Вместо:
// ДанныеСклонения = ПолучитьСклоненияСтроки(ФИО, , "ПТ=Дательный");

// Правильно:
ДанныеСклонения = СклонениеПредставленийОбъектов.ПолучитьСклоненияСтроки(ФИО, , "ПТ=Дательный");

Этот простой шаг восстановит работоспособность формирования реестров и печатных форм приказов.

Проблема «Бумажного типа» больничных и отсутствие HASH

Часто бухгалтеры замечают, что при формировании реестра прямых выплат тип больничного устанавливается как «Бумажный», хотя листок является электронным. Это происходит из-за отсутствия заполненного поля ХэшЭЛН (Hash) в документе.

Проанализируем причины:

Решение задачи: Чтобы программа корректно определила статус ЭЛН, необходимо обеспечить наличие HASH. Если настроен прямой обмен, попробуйте нажать кнопку «Получить из ФСС» повторно. Если же загрузка идет через файл, убедитесь, что вы используете актуальный формат выгрузки из личного кабинета страхователя. В крайнем случае, для формирования реестра программисту может потребоваться принудительно проставить признак электронного листка в обработке формирования реестра, игнорируя проверку заполнения хэш-суммы, если данные самого листка корректны.

Нюансы перехода с УПП на ЗУП 3.1

Многие компании на фоне сложностей поддержки зарплатного блока в УПП принимают решение о переходе на «1С:Зарплата и управление персоналом 3.1». Рассмотрим важный совет по организации этого процесса. Если вы планируете перенос данных, старайтесь делать это на начало года или квартала. При переносе кадровой истории из УПП важно помнить, что в УПП последовательность документов менее строгая, чем в ЗУП 3.1. Поэтому при использовании правил обмена (например, на базе «Конвертации данных 2.1») обязательно проверяйте регистр «Мероприятия трудовой деятельности», иначе отчетность по форме ЕФС-1 (ранее СЗВ-ТД) может быть сформирована неверно.

Использование типовых правил от ЗУП 2.5 к ЗУП 3.1 для переноса из УПП вполне оправдано, так как структура зарплатных регистров в УПП 1.3 практически идентична ЗУП 2.5. Однако потребуется ручная настройка Способов отражения зарплаты в бухучете, так как в ЗУП 3.1 и УПП принципиально разные механизмы формирования проводок.

← На главную