В каком релизе УТ 10.3 появились изменения в платежных поручениях и как решить проблемы с обменом?

Программист 1С v8.3 (Обычные формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При работе в решениях на платформе 1С периодически возникают ситуации, когда изменения в законодательстве требуют оперативного обновления конфигураций. Одним из таких знаковых изменений стало вступление в силу Указания Банка России от 14.10.2019 № 5286-У. Согласно этому документу, при выплате заработной платы и иных доходов физическим лицам работодатели обязаны указывать в платежных поручениях специальные коды видов доходов. Это позволяет судебным приставам корректно производить удержания по исполнительным листам.

В этой статье мы подробно разберем, начиная с какого релиза конфигурации «1С:Управление торговлей» редакции 10.3 (УТ 10.3) поддерживается данный функционал, почему при этом ломается обмен с банками («Клиент-Банк») и какими способами можно устранить эту проблему без экстренного и сложного обновления всей базы данных.

В каком релизе 1С:УТ 10.3 появились изменения с платежками?

Выясним точную хронологию появления обновлений в УТ 10.3. Многие пользователи ожидали увидеть данные изменения в релизах 10.3.62.2 или в тестовой версии 10.3.63.1, однако там поддержка новых реквизитов еще отсутствовала. Официально поддержка новых требований законодательства была добавлена в релизе 10.3.64.1.

Рассмотрим, какие именно изменения вошли в данный релиз:

  1. Документ «Платежное поручение исходящее»: реализована возможность указания кода вида доходов в соответствии с Указанием Банка России № 5286-У.
  2. Интеграция с банком: в обработке «Клиент банка» поддержан обновленный формат обмена данными версии 1.03, который включает новые реквизиты для передачи кодов видов доходов.

Почему ломается загрузка выписок из «Клиент-Банка»?

Проанализируем ситуацию, с которой столкнулись многие пользователи в начале июня 2020 года. При попытке загрузить выписку из банка в программу 1С старых релизов (до 10.3.64.1) процесс прерывался критической ошибкой вида: «Неверный реквизит платежного документа, строка ХХ: КодНазПлатежа=» или «КодВыплат=».

Выясним причину этого сбоя. Банковские организации перешли на обновленный формат обмена заблаговременно и начали добавлять в файлы выгрузки (обычно это файл kl_to_1c.txt) новые служебные теги: КодНазПлатежа и КодВыплат. Обработка обмена старых версий УТ 10.3 жестко контролирует структуру файла. Обнаружив неизвестные теги, она расценивает это как ошибку структуры данных и полностью прекращает разбор выписки.

Что делать, если база сильно кастомизирована и «накатывать» десятки пропущенных релизов прямо сейчас нет возможности? Разберем практические способы обхода этой ошибки.

Способ 1. Временное ручное исправление файла выгрузки

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

  1. Откроем текстовый файл выгрузки из банка (например, kl_to_1c.txt) с помощью любого текстового редактора (Блокнот, Notepad++).
  2. Воспользуемся функцией автозамены (сочетание клавиш Ctrl+H).
  3. Найдем все строки, содержащие КодНазПлатежа= и КодВыплат=, и заменим их на пустые строки (или просто удалим их).
  4. Сохраним изменения в файле и повторно запустим загрузку в 1С.

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

Способ 2. Модификация кода встроенной обработки «КлиентБанк»

Если у вас есть навыки работы в Конфигураторе или штатный программист, лучшим решением будет научить старую обработку игнорировать новые теги. Это позволит не прерывать процесс импорта и работать без ручной чистки файлов. Разберем по шагам, как внести изменения в код.

Откроем конфигурацию, найдем обработку КлиентБанк и перейдем в ее модуль объекта. Нам необходимо зарегистрировать новые теги как необязательные.

Найдем строку, где инициализируется переменная, содержащая список необязательных параметров платежного документа. Добавим в этот список наши новые теги. Код будет выглядеть следующим образом:


// Добавляем новые теги в список необязательных параметров
РеквизитыПлДок_НазначениеНеОбязательные = "КодВыплат,КодНазПлатежа," + РеквизитыПлДок_НазначениеНеОбязательные;

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


// Регистрируем новые колонки как невидимые в таблице импорта
СоздатьКолонкуВТаблице(Таб, ТабПоле, "КодВыплат", Т_Строка, "КодВыплат", НеВидимая);
СоздатьКолонкуВТаблице(Таб, ТабПоле, "КодНазПлатежа", Т_Строка, "КодНазПлатежа", НеВидимая);

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

Способ 3. Подключение внешней обработки из нового релиза

Если вы не хотите вносить изменения в основную конфигурацию, можно пойти более простым путем. Возьмем файл обработки КлиентБанк.epf из нового релиза 10.3.64.1 (или аналогичных конфигураций КА 1.1 / УПП 1.3, где структура метаданных схожа) и сохраним ее как внешнюю обработку.

После этого пользователи смогут запускать ее через меню «Файл» — «Открыть» или зарегистрировать в справочнике «Внешние обработки». Новая версия обработки корректно обрабатывает формат обмена 1.03 и не будет вызывать ошибок при чтении выписок.

← На главную