Почему не загружаются банковские выписки в 1С:Бухгалтерия 3.0 после обновления?

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

Многие пользователи и технические специалисты столкнулись с неприятной ситуацией: после обновления конфигурации 1С:Бухгалтерия предприятия 3.0 (начиная с релизов 3.0.42.хх) перестал работать привычный механизм загрузки банковских выписок. Программа либо выдает ошибку «Не найден банковский счет», либо сообщает, что документ пропущен и не может быть включен в выписку ни по одному счету. Ситуация осложняется тем, что на предыдущих релизах те же самые файлы загружались без нареканий.

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

Разбор причин изменения логики обмена с банками

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

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

Способ 1: Проверка и корректировка реквизитов (Административный)

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

Выполним следующие шаги:

  1. Откроем файл выгрузки (обычно это kl_to_1c.txt) через обычный блокнот.
  2. Найдем секцию РасчСчет организации и обратим внимание на параметры БИК и ИНН.
  3. В программе 1С перейдем в карточку организации, откроем список Банковские счета и выберем нужный счет.
  4. Проверим, чтобы БИК банка в 1С символ в символ совпадал с тем, что указан в файле. Особенно часто это встречается у Сбербанка, который может использовать консолидированный БИК для всей страны в файлах обмена, тогда как в базе 1С может быть указан БИК конкретного отделения.
  5. Если данные различаются, попробуйте временно привести БИК в 1С в соответствие с файлом банка и повторить загрузку.

Способ 2: Обход ошибки «Поле объекта не обнаружено (Организация)»

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

Рассмотрим временное решение («костыль»), которое обнаружили пользователи: иногда загрузка проходит успешно, если в форме загрузки снять галочки с документов списания и загружать только поступления. Это связано с тем, что алгоритм создания документа «Списание с расчетного счета» содержит больше проверок обязательных полей на этапе предварительного чтения файла.

Способ 3: Техническая правка кода (для программистов)

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

Нам необходимо найти следующий объект:

ОбщийМодуль.ЗагрузкаВыпискиПоБанковскомуСчету

Разберем функцию ЗаполнитьИдентификаторыУчастниковОперацийПоДаннымИзБанка. В проблемных релизах логика была изменена. Сравним старый и новый варианты.

Раньше условие выглядело так:


Если Идентификатор <> Неопределено Тогда
    ИдентификаторыУчастника.Добавить(Идентификатор);
    ИдентификаторыДокумента[Сторона + "Счет"] = Идентификатор;
КонецЕсли;

В новых релизах добавилась дополнительная проверка:


Если Идентификатор <> Неопределено И СчетПозволяетИдентифицироватьКонтрагента(БалансовыйСчет, ИдентификаторыФизическогоЛица.ЭтоФизическоеЛицо) Тогда
    ИдентификаторыУчастника.Добавить(Идентификатор);
    ИдентификаторыДокумента[Сторона + "Счет"] = Идентификатор;
КонецЕсли;

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

Особенности работы с Промсвязьбанком и Петрокоммерц

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

Рекомендуется выполнить следующие действия:

Подведение итогов

Проблема с загрузкой выписок в релизах 3.0.42.хх была признана разработчиками 1С как ошибочная. Если вы столкнулись с ней сегодня, наиболее правильным решением будет обновление до актуального релиза (3.0.43.хх и выше), где проверки были смягчены, а ошибки обращения к свойствам объектов исправлены.

Однако, если вы вынуждены работать на проблемном релизе, используйте предложенную выше правку в ОбщийМодуль.ЗагрузкаВыпискиПоБанковскомуСчету. Это позволит системе игнорировать избыточные проверки балансовых счетов и корректно сопоставлять документы с расчетными счетами вашей организации.

← На главную