Как настроить выгрузку идентификатора этапа договора и вида реестра из документа Заявка на кассовый расход в 1С:БГУ 2.0

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

При работе в конфигурации 1С:Бухгалтерия государственного учреждения 2.0 (БГУ 2.0) бухгалтеры часто сталкиваются с необходимостью передавать в органы Федерального казначейства уточненные данные по государственным контрактам. Одной из типовых задач является выгрузка Идентификатора этапа договора. По умолчанию система настроена так, что данные подтягиваются из справочника Договоры. Однако на практике идентификатор этапа может меняться от платежа к платежу, и бухгалтеры указывают его непосредственно в документе Заявка на кассовый расход (ЗКР) или Платежное поручение.

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

Проблема использования стандартной формулы

Рассмотрим стандартную ситуацию. В настройках формата обмена для поля, отвечающего за идентификатор этапа, часто прописана формула:


Значение = ПолучитьХарактеристикиОбязательства(Объект.Договор, "ИдентификаторЭтапа");

Эта функция обращается напрямую к реквизитам договора. Если бухгалтер изменил идентификатор в самой Заявке на кассовый расход, при выгрузке эти правки будут проигнорированы, так как алгоритм «смотрит» только в карточку договора. Чтобы исправить это, нам необходимо переопределить путь к данным в настройках формата (файл .defx).

Настройка выгрузки идентификатора этапа из документа

Проанализируем структуру документа Заявка на кассовый расход. В отличие от простых реквизитов шапки, сведения об исполнении обязательств (включая идентификатор этапа) в БГУ 2.0 хранятся в табличной части РасшифровкаПлатежа. Это усложняет задачу, так как формат обмена должен понимать, из какой именно строки брать данные.

Для того чтобы система брала значение из документа, выполним следующие шаги:

  1. Откроем справочник Настройки форматов обмена (раздел "Настройка и администрирование").
  2. Найдем используемый формат (например, альбом форматов ФК версии 34.0 или выше).
  3. Перейдем к редактированию правил заполнения полей для объекта ЗаявкаНаКассовыйРасход.
  4. В поле, отвечающем за идентификатор этапа, заменим обращение к договору на обращение к объекту документа.

Если в вашем формате настроен перебор строк табличной части, формула может выглядеть следующим образом:


// Пример получения значения из текущей строки табличной части расшифровки
Значение = СтрокаТЧ.ИдентификаторЭтапа;

Если же требуется обратиться к первой строке расшифровки (в случаях, когда идентификатор един для всего документа), можно использовать конструкцию:


Если Объект.РасшифровкаПлатежа.Количество() > 0 Тогда
    Значение = Объект.РасшифровкаПлатежа[0].ИдентификаторЭтапа;
КонецЕсли;

Устранение ошибки «Несоответствие типов» для поля Вид реестра

Часто при попытке перенастроить выгрузку поля Вид реестра из документа возникает ошибка в модуле менеджера Справочник.ФорматыОбменаБанкиКС. Проблема заключается в том, что реквизит ВидРеестра в 1С является Перечислением, а формат выгрузки (текстовый файл или XML) ожидает строковое или числовое представление.

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

Применим один из следующих вариантов кода в настройке формата:

  1. Простое приведение к строке: Значение = Строка(Объект.ВидРеестра);
  2. Использование условий для сопоставления с требованиями ФК:
    
    Если Объект.ВидРеестра = Перечисления.ВидыРеестров.РеестрКонтрактов Тогда
        Значение = "1";
    ИначеЕсли Объект.ВидРеестра = Перечисления.ВидыРеестров.РеестрУказателей Тогда
        Значение = "2";
    Иначе
        Значение = "";
    КонецЕсли;
    

Использование актуальных файлов формата (.defx)

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

Рассмотрим рекомендации специалистов технической поддержки:

Заключение

Подводя итог, отметим: для корректной выгрузки Идентификатора этапа из ЗКР необходимо изменить путь к источнику данных с Объект.Договор... на Объект.РасшифровкаПлатежа.... При работе с реквизитом Вид реестра всегда используйте явное преобразование типов, чтобы избежать конфликтов между объектами 1С и строковым форматом передаваемого файла. Правильная настройка этих параметров обеспечит успешное прохождение контроля в автоматизированных системах Федерального казначейства и избавит бухгалтера от необходимости ручного редактирования файлов выгрузки.

← На главную