Настройка обмена 1С:БГУ с АЦК-Финансы: как исправить ошибки выгрузки КБК и КОСГУ?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет Финансы и профессиональные услуги
← На главную

При настройке взаимодействия между «1С:Бухгалтерия государственного учреждения» (БГУ 2.0) и казначейской системой «АЦК-Финансы» пользователи часто сталкиваются с ошибками валидации файлов. Система может требовать обязательного заполнения полей бюджетной классификации (КФСР, КЦСР, КВР) или не видеть код экономической классификации (КЭК/КОСГУ), выдавая ошибки вида «Поле объекта не обнаружено» или «Обязательное поле не заполнено». Разберем подробно, как настроить форматы обмена и правила выгрузки, чтобы решить эти проблемы.

1. Актуализация форматов обмена

Прежде чем приступать к правке правил (например, когда требуется импорт документов из УРМ Криста), убедимся, что используются актуальные форматы. В отличие от регламентированной отчетности, форматы обмена с казначейством (включая АЦК-Финансы) не всегда обновляются автоматически вместе с релизом конфигурации.

Проверим наличие обновлений:

  1. Форматы обмена (альбомы) публикуются отдельно на портале поддержки пользователей 1С в разделе Дополнительные обработки для конфигураций -> Форматы обмена с казначейскими системами.
  2. Необходимо скачать актуальный файл формата (например, версии альбома 2017.x.x или новее, соответствующей версии вашего сервера АЦК).
  3. Загрузим форматы в БГУ в справочник Типы форматов обмена или через обработку «Обмен с казначейскими системами и учреждениями банка» (через нее же настраивается загрузка из УРМ в БГУ 2.0).

Использование устаревшего формата — самая частая причина отсутствия новых тегов (например, детализации по КВР или Ан.Группе).

2. Ошибки незаполненной бюджетной классификации

Если при выгрузке возникают ошибки: !!! Обязательное поле > не заполнено КФСР, КЦСР, КВР, проанализируем настройки документа и возможности использования дополнительной бюджетной классификации (ДБК):

3. Настройка выгрузки поля KESR (КОСГУ/КЭК)

Самая сложная часть настройки — корректная выгрузка кода операции сектора государственного управления (КОСГУ) в тег KESR. Часто типовой механизм не выгружает это поле или выдает ошибку Поле объекта не обнаружено (КОСГУНазначениеПлатежа).

Разберем, как исправить это в настройках правил обмена, не изменяя код конфигурации (или с минимальными изменениями).

Способ через настройку правил обмена (Рекомендуемый для БГУ 2.0)

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

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

/EXTRWT/WTFORMAT/DOCAZKAUBUCASHREQUESTS/DOCAZKAUBUCASHREQUEST[last]/LINES/LINE[last]/@KESR

В колонке «Значение» или «Правило» для этого поля необходимо прописать вызов функции, которая корректно извлечет КОСГУ из строки табличной части. Используем функцию ПолучитьРеквизитТабЧастиПРДокумента.

Формула для вставки:


ПолучитьРеквизитТабЧастиПРДокумента(Объект.Ссылка, "Ссылка.РасшифровкаПлатежа", ТЧ.НомерСтроки, "КОСГУНазначениеПлатежа")

Разберем параметры функции:

Также встречается вариант прямого обращения к коллекции, если выгрузка идет строго последовательно, но он менее надежен:


Объект.РасшифровкаПлатежа[ТЧ.номерстроки-1].КОСГУНазначениеПлатежа

Способ через доработку общего модуля (Для разработчиков)

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

Найдем функцию ЗначенияРеквизитовЗаявкаНаКассовыйРасход. В ней есть параметры по умолчанию, отключающие детализацию:


Функция ЗначенияРеквизитовЗаявкаНаКассовыйРасход(Ссылка, ИспользоватьКЭК = Ложь, ...) Экспорт

Можно принудительно установить ИспользоватьКЭК = Истина в теле функции, либо изменить вызов этой функции в обработке обмена, добавив проверку на имя табличной части:


// Пример логики в обработке обмена
Если Найти(НРег(Правило.Условие), "кэк") > 0 Тогда 
    ИспользоватьКЭК = Истина;
КонецЕсли;

Однако, рекомендуется использовать первый способ (настройку правил в пользовательском режиме), так как это сохраняет поддержку конфигурации и не требует вмешательства в код при обновлении релизов.

4. Ошибка с полем «Уникальный идентификатор начисления» (УИН)

Иногда возникает ошибка при выгрузке, если платеж не налоговый и УИН равен 0. Ошибка может выглядеть как сбой заполнения поля файла передачи.

В этом случае необходимо проверить настройки обмена в самой обработке выгрузки. Часто проблема решается корректным указанием настройки «Настройка обмена», где может «слететь» галочка или путь к файлу правил. Убедитесь, что для неналоговых платежей правила допускают нулевой УИН или отсутствие тега.

Резюме

Для успешной выгрузки в АЦК-Финансы из БГУ 2.0:

  1. Скачайте с портала 1С и загрузите актуальный формат обмена для вашей версии АЦК.
  2. В настройках формата для поля KESR пропишите формулу с использованием ПолучитьРеквизитТабЧастиПРДокумента.
  3. Проверьте заполнение КПС в документах в соответствии с требованиями вашего финоргана.
← На главную