Как настроить выгрузку платежных поручений из 1С:БГУ 1.0 в систему «Криста» с передачей дополнительных полей?

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

При обмене данными между 1С:Бухгалтерия государственного учреждения 8, редакция 1.0 и внешними казначейскими системами (например, «Криста») часто возникает необходимость передать дополнительные реквизиты, такие как КОСГУ (КЭК), код цели или тип средств. Стандартный формат выгрузки платежных поручений не всегда предусматривает прямые поля для этих данных, что приводит к ошибкам при загрузке файла в принимающую систему из-за нарушения структуры строк формата PPST.

Разбор причин ошибки несоответствия формата

При добавлении новых данных непосредственно в структуру строки файла PPST вы фактически увеличиваете количество разделителей |. Если принимающая система настроена на строгий формат, она не распознает «лишние» поля и выдает ошибку несоответствия количества данных. Чтобы избежать этой ситуации, необходимо использовать специализированные резервные поля, предусмотренные форматом обмена.

Решение проблемы через поле PPST.REZERV

Оптимальным подходом является использование поля PPST.REZERV. В это поле можно передать строковое значение, содержащее все необходимые дополнительные классификаторы, объединенные в понятном для принимающей стороны виде.

Рассмотрим пример формирования строки для этого поля. В коде 1С мы можем сформировать строку, которая будет корректно интерпретирована системой «Криста»:


// Формирование строки для резервного поля
ЗначениеДляВыгрузки = "(" + "КОСГУ:" + Объект.РасшифровкаПлатежа[0].КосгуНазначениеПлатежа + "; " + 
                      "ТС:" + Объект.РасшифровкаПлатежа[0].ДопКлассификация + ")";

При таком подходе данные попадают в отведенное для «дополнений» место, не нарушая общую структуру платежного поручения.

Шаги по устранению ошибок при загрузке

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

  1. Проверка отображения данных в 1С: Убедитесь, что поле Доп. классификация доступно для заполнения в интерфейсе пользователя. Часто бывает, что реквизит заполнен в одном документе и пуст в другом, из-за чего выгрузка происходит некорректно.
  2. Анализ текстового файла: Откройте сформированный файл выгрузки в текстовом редакторе. Сравните строку, которая загружается успешно, со строкой, которая выдает ошибку. Проверьте наличие данных между разделителями. Если в месте, где должен быть тип средств, стоит пустая строка (например, ТС: ;), значит, 1С не передала данные.
  3. Сопоставление справочников: Проверьте, соответствует ли передаваемый код Типа средств значениям, заведенным в справочниках системы «Криста». Если код правильный, но Криста его не «видит», значит, отсутствует связь в самой принимающей системе.
  4. Проверка лицевых счетов: Проанализируйте, нет ли различий в настройках лицевых счетов. Иногда в 1С для разных счетов настроены разные правила отражения доп. классификации, что влияет на то, выгружаются ли данные в файл или нет.

Технические рекомендации по настройке модуля выгрузки

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

1. Настройка доп. классификации: Обязательно убедитесь, что в конфигураторе или в настройках правил обмена для поля Доп. классификация настроена привязка к нужным объектам платежного поручения. Если поле скрыто, пользователь не сможет корректно заполнить его, что приведет к ошибкам в СУФД или Кристе.

2. Корректировка обработки выгрузки: Если стандартный механизм не позволяет гибко настроить выгрузку, модифицируйте внешнюю обработку выгрузки платежных поручений. Используйте метод формирования строки, который гарантирует, что каждый классификатор будет снабжен соответствующим префиксом (например, КОСГУ:, ТС:), что позволит принимающей системе корректно распарсить текстовый поток.

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

← На главную