В работе бухгалтера и технического специалиста государственного учреждения часто возникают ситуации, когда регламентированная отчетность, несмотря на корректное заполнение в экранной форме, ведет себя непредсказуемо при попытке экспорта в электронный вид. Одной из наиболее резонансных проблем в последних релизах программ «1С:Зарплата и кадры государственного учреждения» (ЗГУ) стала ошибка выгрузки формы 1-Т(МС). Пользователи сталкиваются с тем, что файл XML формируется, но содержит в себе только данные титульного листа, в то время как основные разделы отчета остаются пустыми.
В рамках данной статьи мы подробно разберем, почему возникает эта ошибка, какие технические механизмы задействованы в процессе формирования XML и как пошагово восстановить работоспособность выгрузки, используя официальные исправления и административные настройки системы. Для комплексной диагностики системы и предотвращения подобных конфликтов также полезно проводить регулярный анализ конфигураций и расширений на наличие ошибок.
Для начала выясним причину, по которой программный код игнорирует заполненные данные. Основная техническая коллизия заключается в несоответствии внутренней структуры данных (метаданных) конфигурации и актуального XML-шаблона, предоставленного Росстатом. При выполнении команды Выгрузить система запускает алгоритм сопоставления полей экранной формы с тегами XML-файла.
Если в коде обработки выгрузки зашиты старые идентификаторы полей или если структура шаблона изменилась (например, добавились новые атрибуты версии), механизм сериализации данных в XML не находит нужных соответствий. В результате алгоритм «считает», что данных для заполнения разделов нет, и формирует только заголовочную часть, которая обрабатывается по стандартному, общему для всех отчетов механизму.
Проблема затронула преимущественно ветки релизов 3.1.36.х и 3.1.34.х (LTS). Особенно критично ситуация выглядела на релизах 3.1.36.75 и 3.1.34.173, где даже наличие стандартных патчей не всегда спасало ситуацию без дополнительных манипуляций.
Рассмотрим основной способ решения, предлагаемый разработчиками «1С». Для устранения ошибки был выпущен специализированный патч EF_60014524. Важно понимать, что патчи в 1С — это временные исправления, которые замещают часть программного кода до выхода полноценного обновления конфигурации.
Для установки исправления выполним следующие действия:
Обратите внимание: для разных подрелизов номер патча может незначительно отличаться. Если вы используете адаптированные патчи от старых версий на новых релизах (например, адаптация патча с 36.45 на 36.75), это не гарантирует успех, так как структура объектов Справочник.РегламентированныеОтчеты могла измениться.
Часто одной установки патча недостаточно. Выясним, почему так происходит. Система хранит XML-шаблоны в специальном справочнике, и если отчет был создан до обновления этого справочника, он продолжает «ориентироваться» на старую структуру. Разберем по шагам, как обновить шаблоны напрямую из интерфейса 1С-Отчетности:
.xml или .zip и загрузить через кнопку Загрузить в том же меню.После обновления шаблонов крайне важно убедиться, что для формы 1-Т(МС) используется актуальная версия. В списке шаблонов найдите нужную форму и проверьте дату редакции.
Проанализируем ситуацию, когда патч установлен, шаблоны обновлены, но выгрузка по-прежнему пустая. Это происходит из-за того, что уже созданный и сохраненный документ «хранит» в себе структуру данных, сформированную в момент его создания. Копирование старого отчета (кнопкой «Создать копированием») также переносит ошибку в новый документ.
Посмотрим на алгоритм правильных действий:
Только создание «с нуля» гарантирует, что программный код применит новые правила сериализации, добавленные патчем или обновлением шаблона.
Если вышеуказанные меры не помогают или вы работаете в ветке LTS (3.1.34), где проблема сохранялась наиболее долго, наиболее надежным решением будет обновление всей конфигурации. При этом, если в вашей базе используются модифицированные формы, может потребоваться поиск ошибок во внешних отчетах и обработках после обновления. Разработчики окончательно синхронизировали механизмы выгрузки в следующих версиях:
В этих версиях исправлены ошибки в общих модулях, отвечающих за работу с объектом Обработка.ОбменСКонтролирующимиОрганами, и механизм формирования XML для 1-Т(МС) полностью переведен на новый движок.
В исключительных случаях, когда отчет нужно сдать «вчера», а обновить программу нет возможности, рассмотрим метод ручной корректировки. Если выгрузить отчет и открыть его в текстовом редакторе (например, Notepad++), можно заметить, что отсутствуют узлы данных. Если данные в 1С заполнены, можно попробовать временно использовать старый механизм выгрузки, если он доступен в коде.
Иногда проблема кроется в атрибуте версия в шапке файла. Пример корректного начала файла может выглядеть так:
<?xml version="1.0" encoding="windows-1251"?>
<Файл ИдФайл="ON_1TMS_..." ВерсПрог="1C:ЗГУ 3.1" ВерсФорм="5.0">
<Документ>
<!-- Здесь должны быть данные разделов -->
</Документ>
</Файл>
Если после тега <Документ> сразу идет закрывающий тег, значит, коллекция данных в коде 1С оказалась пустой. Проверьте через отладчик заполнение таблицы ДанныеОтчета в процедурах выгрузки. Помимо статистических форм, бухгалтеру часто требуются и другие аналитические инструменты, такие как отчет по резервам отпусков по подразделениям или расчетная ведомость с детализацией по начислениям, которые помогают выверить данные до момента формирования регламентированной отчетности.
Подводя итог, отметим, что системный подход (обновление релиза или установка патча EF_60014524 в сочетании с пересозданием отчета) является единственно верным способом решения проблемы пустой выгрузки 1-Т(МС) в «1С:ЗГУ».