Почему пропали форматы выгрузки бухгалтерской отчетности и как исправить ошибку «НачатьПомещениеФайлов»?

Программист 1С v8.3 (Обычные формы) Бухгалтерский учет
← На главную

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

Разберем детально, почему возникает ошибка компиляции, как восстановить привычные форматы передачи данных Федерального казначейства и ФНС, а также почему отчетность начинает выгружаться одним общим файлом вместо раздельных комплектов.

Анализ ошибки компиляции «НачатьПомещениеФайлов не определена»

В момент создания или загрузки элемента справочника ФорматыВыгрузкиБухгалтерскойОтчетности система аварийно прекращает выполнение процедуры со следующим диагностическим сообщением:

{Справочник.ФорматыВыгрузкиБухгалтерскойОтчетности.Форма.ФормаЭлемента.Форма(195,3)}: Процедура или функция с указанным именем не определена (НачатьПомещениеФайлов)

{Справочник.ФорматыВыгрузкиБухгалтерскойОтчетности.Форма.ФормаЭлемента.Форма(275,2)}: Процедура или функция с указанным именем не определена (НачатьПолучениеФайлов)

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

Данные методы были реализованы на уровне платформы только начиная с версии 8.3.5.1383. Если база данных запускается на устаревших версиях ветки 8.3.4 или ранних сборках 8.3.5 (например, 8.3.5.1248), платформа попросту не знает указанных глобальных функций, из-за чего возникает критическая ошибка компиляции формы.

Основное решение: обновление платформы «1С:Предприятие»

Рассмотрим штатный и наиболее надежный способ устранения проблемы, который рекомендован разработчиками фирмы «1С»:

  1. Завершим все активные пользовательские сеансы и работу регламентных заданий в информационной базе.
  2. Выполним обновление технологической платформы «1С:Предприятие» на версию не ниже 8.3.5.1383 (рекомендуется использовать актуальный стабильный релиз ветки 8.3).
  3. Запустим информационную базу в режиме предприятия и повторно откроем справочник ФорматыВыгрузкиБухгалтерскойОтчетности. После обновления платформы вызовы асинхронных методов будут обработаны корректно.

Альтернативное решение: адаптация кода под старую платформу в Конфигураторе

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

Откроем конфигурацию, найдем форму элемента справочника ФорматыВыгрузкиБухгалтерскойОтчетности и скорректируем обработчики:

В строке 195 заменим вызов асинхронного метода НачатьПомещениеФайлов на классический метод ПоместитьФайл:


// Было:
// НачатьПомещениеФайлов(ОписаниеОповещения, ПомещаемыеФайлы,, Ложь, УникальныйИдентификатор);

// Стало:
ПоместитьФайл(АдресХранилища, ИмяФайлаНаКлиенте, ИмяФайлаНаСервере, Ложь, УникальныйИдентификатор);

В строке 275 заменим процедуру НачатьПолучениеФайлов на синхронную функцию ПолучитьФайл:


// Было:
// НачатьПолучениеФайлов(Новый ОписаниеОповещения("ПустоеОповещение", БюджетнаяОтчетностьКлиент), ПолучаемыеФайлы,, Ложь);

// Стало:
ПолучитьФайл(АдресХранилища, ИмяФайлаНаКлиенте, Ложь);

После сохранения изменений форма сможет загружать файлы внешних обработок без обращения к нераспознанным глобальным методам.

Куда пропали остальные форматы и как их загрузить?

Разберем частый вопрос пользователей: почему после обновления конфигурации в списке отображается только формат «Свод отчетов 2.0» и означает ли это переход на единственный общий стандарт?

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

Они поставляются отдельно в виде внешних обработок с расширением .epf. При обновлении конфигурации ссылки на старые версии обработок могут очищаться, и форматы необходимо загрузить заново.

Пошагово выполним загрузку требуемых форматов:

  1. Перейдем в каталог шаблонов установленной версии конфигурации на компьютере. По умолчанию путь выглядит следующим образом: tmplts\1c\StateAccounting\<НомерРелиза>\Cases\.
  2. Найдем в этой папке архивный файл extrp.zip и распакуем его содержимое в любой временный каталог. Внутри архива располагаются внешние файлы выгрузки нужных форматов.
  3. В режиме «1С:Предприятие» перейдем в раздел бухгалтерской отчетности и откроем справочник Форматы выгрузки бухгалтерской отчетности.
  4. Нажмем кнопку Загрузить (или «Загрузить форматы из файла»), выберем распакованный файл требуемой обработки и подтвердим операцию.

Почему отчетность выгружается одним файлом вместо нескольких?

Поведение системы при экспорте определяется структурой выбранного формата:

Формат «Свод отчетов 2.0» предназначен для передачи сведений в единую базу консолидации и межпрограммного взаимодействия, поэтому по регламенту он формирует один комплексный XML-файл со всеми выбранными формами учреждения.

Форматы Федерального казначейства и ведомственные стандарты требуют раздельной структуры передачи информации. Как только мы загрузим из архива extrp.zip актуальный формат казначейской выгрузки и выберем его в обработке экспорта, выгрузка снова начнет формировать индивидуальные файлы на каждую отчетную форму в соответствии с техническими требованиями принимающей стороны.

← На главную