Как настроить выгрузку вида платежа (00 / электронно) в платежном поручении 1С:Бухгалтерия 3.0 для Альфа-Банка?

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

При отправке платежных поручений из программы 1С:Бухгалтерия 3.0 через клиент-банк Альфа-Банка пользователи часто сталкиваются с жестким требованием со стороны банка: в файле экспорта должен быть корректно указан вид платежа. Банк ожидает увидеть код 00 (электронно), в то время как программа упорно выгружает значение 01 (почтой) или текстовое описание Электронно. Несоблюдение этого формата приводит либо к отклонению платежа банком, либо к его проведению по более дорогому тарифу (как за обработку бумажного носителя).

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

Разбираемся в терминах: Поле 18 (Вид оплаты) против Поля 5 (Вид платежа)

Для начала проанализируем нормативную базу и логику работы самой программы 1С. Очень часто путаница возникает из-за схожести названий двух реквизитов в платежном поручении:

  1. Вид операции / Вид оплаты (Поле 18): Согласно правилам Центрального Банка РФ (Положение № 762-П), для всех платежных поручений в этом поле всегда указывается шифр 01. Этот код зашит в печатную форму документа намертво. Изменить его нельзя, да и не нужно — банк требует стабильное значение "01" именно для идентификации самого типа документа (платежное поручение).
  2. Вид платежа (Поле 5): Это поле определяет способ доставки платежного документа в банк. Именно здесь Альфа-Банк требует указывать цифровые коды: 00 — электронно (через систему «Альфа-Бизнес Онлайн»), 01 — почтой, 02 — телеграфом. Если поле остается пустым или содержит текст вместо цифр, банковский шлюз может выдать ошибку формата.

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

Решение 1. Переход на технологию прямого обмена DirectBank

Самым надежным, современным и стабильным решением является полный отказ от промежуточных текстовых файлов (формата txt) и переход на технологию прямого обмена DirectBank.

При использовании DirectBank программа 1С общается с сервером Альфа-Банка напрямую через защищенный XML-протокол. В этом режиме интеграции все служебные теги, включая вид платежа и способ передачи, сопоставляются и кодируются автоматически на стороне банковского шлюза. Проблема с неверным заполнением полей в текстовом файле исчезает сама собой.

Для настройки DirectBank выполним следующие шаги:

  1. Перейдем в карточку организации, откроем раздел Банковские счета и выберем счет Альфа-Банка.
  2. В карточке банковского счета найдем блок настроек обмена и установим флаг Прямой обмен с банком (DirectBank).
  3. Запустим встроенный помощник подключения, введем логин и пароль от личного кабинета «Альфа-Бизнес Онлайн» и подтвердим интеграцию одноразовым СМС-кодом.

После активации этого режима отправка платежей будет происходить по кнопке Отправить в банк непосредственно из журнала платежных поручений 1С.

Решение 2. Корректировка настроек обмена и формата экспорта

Если по каким-то причинам переход на DirectBank невозможен (например, из-за требований безопасности или ограничений учетной записи), проанализируем настройки выгрузки текстового файла.

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

Выполним проверку настройки:

  1. Откроем настройки обмена с банком для счета Альфа-Банка.
  2. В поле Программа банк-клиент проверим установленное значение. Если там выбрано "Стандартный обмен", попробуем выбрать специализированный профиль для Альфа-Банка (при его наличии в вашем релизе).
  3. Обратите внимание на поле Кодировка. Для корректной обработки файлов Альфа-Банком обычно требуется кодировка Windows (ANSI).

Решение 3. Использование расширения конфигурации (автоматическая замена кодов)

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

Рассмотрим пример кода, который перехватывает процедуру записи файла выгрузки клиент-банка и принудительно заменяет текстовое значение ВидПлатежа=Электронно или числовой код ВидПлатежа=01 на требуемый банком формат ВидПлатежа=00.

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


&Вместо("ВыгрузитьДокументы")
Процедура Инт_ВыгрузитьДокументы(ПараметрыВыгрузки, РезультатВыгрузки)
    
    // Вызываем оригинальный метод конфигурации для формирования файла
    ПродолжитьВызов(ПараметрыВыгрузки, РезультатВыгрузки);
    
    // Проверяем, что файл успешно сформирован и путь к нему заполнен
    Если ЗначениеЗаполнено(ПараметрыВыгрузки.ИмяФайлаВыгрузки) Тогда
        
        ТекстФайла = Новый ТекстовыйДокумент;
        ТекстФайла.Прочитать(ПараметрыВыгрузки.ИмяФайлаВыгрузки, КодировкаТекста.ANSI);
        
        ПолныйТекст = ТекстФайла.ПолучитьТекст();
        
        // Выполняем контекстную замену для соответствия требованиям Альфа-Банка
        Если СтрНайти(ПолныйТекст, "ВидПлатежа=Электронно") > 0 Тогда
            ПолныйТекст = СтрЗаменить(ПолныйТекст, "ВидПлатежа=Электронно", "ВидПлатежа=00");
        ИначеЕсли СтрНайти(ПолныйТекст, "ВидПлатежа=01") > 0 Тогда
            // Исключаем ошибочную подстановку "почтой"
            ПолныйТекст = СтрЗаменить(ПолныйТекст, "ВидПлатежа=01", "ВидПлатежа=00");
        КонецЕсли;
        
        // Записываем скорректированный текст обратно в файл обмена
        ТекстФайла.УстановитьТекст(ПолныйТекст);
        ТекстФайла.Записать(ПараметрыВыгрузки.ИмяФайлаВыгрузки, КодировкаТекста.ANSI);
        
    КонецЕсли;
    
КонецПроцедуры

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

Решение 4. Временный ручной обход проблемы (через Блокнот)

Если платежи нужно отправить срочно, а времени на приглашение программиста 1С или настройку DirectBank прямо сейчас нет, воспользуемся самым простым "ручным" методом:

  1. Выгрузим файл платежных поручений из программы 1С на рабочий стол (обычно файл имеет имя 1c_to_kl.txt).
  2. Щелкнем по файлу правой кнопкой мыши и выберем пункт Открыть с помощью -> Блокнот.
  3. Нажмем комбинацию клавиш Ctrl + H (команда замены текста).
  4. В поле "Что найти" введем ВидПлатежа=Электронно (или ВидПлатежа=01, в зависимости от того, что именно сформировала ваша версия 1С).
  5. В поле "Чем заменить" укажем ВидПлатежа=00.
  6. Нажмем кнопку Заменить все, сохраним изменения в файле и загрузим его в клиент-банк Альфа-Банка.

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

← На главную