При работе с иностранными контрагентами или ведении учета в филиалах, расположенных в Республике Беларусь (РБ), пользователи российской версии 1С:ERP Управление предприятием 2 часто сталкиваются с невозможностью штатной загрузки банковских выписок. Основная причина заключается в переходе банковской системы Беларуси на международные стандарты IBAN (номер счета) и BIC (банковский идентификатор), которые принципиально отличаются от российских стандартов по длине и структуре данных.
В этой статье мы подробно разберем, почему возникает данная проблема, и рассмотрим несколько вариантов ее решения: от использования локализованных модулей до написания собственной обработки-конвертера.
Давайте проанализируем техническую сторону вопроса. Российская конфигурация 1С:ERP настроена на работу с форматами Центрального Банка РФ. Рассмотрим ключевые различия, которые блокируют загрузку:
IBAN предполагает 28 знаков, включающих как цифры, так и латинские буквы. Типовые механизмы 1С:РФ часто имеют маску ввода или ограничения в структуре базы данных, которые просто обрезают «лишние» символы или выдают ошибку несоответствия.BIC (SWIFT) может содержать от 8 до 11 символов, включая буквы. При попытке импорта система пытается найти банк в справочнике по цифровому коду и, не находя его, прерывает процесс.Самый правильный путь с точки зрения методологии — использование специализированного решения «1С:ERP Управление предприятием 2 для Беларуси». В этой конфигурации все механизмы обмена с банками уже адаптированы под требования Национального банка РБ.
Проанализируем ситуацию, если вы уже ведете учет в российской базе. В этом случае мы можем рассмотреть возможность заимствования программного кода. Разберем этот процесс по шагам:
ОбменСБанками и связанные с ним общие модули.НомерСчета и БИК.Если нет возможности использовать белорусскую конфигурацию, рассмотрим программный способ адаптации входящего файла. Суть метода заключается в предварительной обработке текстового файла выписки (обычно это формат 1CClientBankExchange) перед тем, как он попадет в стандартный механизм загрузки 1С.
Выясним причину, по которой 1С отказывается принимать файл. Чаще всего это происходит в момент чтения секций РасчСчет. Мы можем написать небольшую внешнюю обработку, которая будет выполнять следующие действия:
Разберем пример логики на языке 1С:
Функция ПодготовитьФайлКЗагрузке(ПутьКФайлу)
Текст = Новый ТекстовыйДокумент;
Текст.Прочитать(ПутьКФайлу, КодировкаТекста.ANSI);
Для Ном = 1 По Текст.КоличествоСтрок() Цикл
СтрокаТекста = Текст.ПолучитьСтроку(Ном);
// Находим строки с расчетными счетами
Если Найти(СтрокаТекста, "РасчСчет=") > 0 Тогда
// Извлекаем IBAN и проверяем его длину
ЗначениеСчета = СокрЛП(Сред(СтрокаТекста, Найти(СтрокаТекста, "=") + 1));
// Если это белорусский счет (28 знаков), можно временно
// сопоставить его с внутренним идентификатором или очистить
// для прохождения формальной проверки, если загрузка идет в кастомные поля.
КонецЕсли;
КонецЦикла;
Текст.Записать(ПутьКФайлу);
КонецФункции
Чтобы система позволяла хранить 28-значные счета и буквенные БИК, необходимо внести изменения в бизнес-логику справочников БанковскиеСчетаОрганизаций и БанковскиеСчетаКонтрагентов. Рассмотрим подробнее, что нужно сделать:
БанковскиеСчетаОрганизаций найдем поле НомерСчета. Если его длина ограничена 20 символами, ее необходимо увеличить до 28 (но будьте осторожны, в типовых ERP 2.4 это поле часто уже имеет достаточную длину в типе данных, но ограничено маской на форме).ПередЗаписью и отключить или модифицировать проверку контрольного числа для счетов, принадлежащих банкам Беларуси.Строка, но функции валидации могут требовать только цифры. Эти функции также следует переопределить в расширении.Поскольку клиент использует Альфа-Банк, стоит обратить внимание на то, что банк предоставляет подробные описания своих форматов. Несмотря на то, что структура файла (теги) остается прежней, значения атрибутов теперь требуют особого внимания. При программном разборе файла TXT убедитесь, что вы корректно обрабатываете кодировку (обычно Windows-1251) и не теряете символы при чтении длинных строк.
Важный момент: Если ваша задача — просто загрузить данные для управленческого учета, и вы не планируете отправлять платежки обратно в банк из этой же базы, вы можете временно отключить проверку ключевания счетов в настройках параметров учета или через небольшую правку в коде загрузки.
Мы рассмотрели проблему загрузки белорусских выписок и выяснили, что стандартная российская 1С:ERP 2.4 не готова к формату IBAN «из коробки». Для решения задачи вы можете:
Поступление на расчетный счет и Списание с расчетного счета, минуя типовой диалог обмена.Наиболее стабильным и долгосрочным решением является использование кода из локализованной версии для РБ, так как это гарантирует соответствие всем законодательным нормам и корректную обработку специфических полей, таких как «Код назначения платежа».