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