Как в 1С определяется вид операции при загрузке банковской выписки?

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

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

1. Приоритетный поиск по документу «Платежное поручение»

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

  1. Номер документа;
  2. Дата документа;
  3. Сумма платежа;
  4. ИНН контрагента.

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

2. Анализ маски расчетного счета (почему физические лица попадают в «Зарплату»)

Разберем ситуацию, когда Платежное поручение в базе отсутствует. В этом случае система переходит к анализу банковских реквизитов получателя. Программа анализирует первые цифры (маску) расчетного счета:

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

3. Интеллектуальный поиск по «Назначению платежа»

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

Также система пытается извлечь ИНН прямо из текстового поля назначения платежа, если он не заполнен в отдельных полях файла выписки.

4. Использование истории операций (Механизм «Памяти»)

Выясним, как программа учится на ваших действиях. В системе существует регистр (или внутренняя таблица параметров обмена), где запоминается выбор пользователя. Если вы один раз вручную изменили автоматически определенный вид операции для конкретного контрагента и провели документ Списание с расчетного счета, 1С запомнит эту связку «ИНН + Вид операции».

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

5. Влияние вида договора и типа контрагента

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

  1. В карточке контрагента должен быть создан договор.
  2. Вид договора должен быть строго «С поставщиком».

Если договоров несколько или они имеют другой вид (например, «Прочее»), система может «свалиться» в дефолтную настройку, определяемую по маске счета.

6. Технические подробности для специалистов

Если вам необходимо точно определить место в коде, где происходит магия «угадывания», проанализируем структуру конфигурации 1С:Бухгалтерия 3.0. Основная логика сосредоточена в менеджерах документов Поступление на расчетный счет и Списание с расчетного счета.

Рекомендуем обратить внимание на общий модуль ОбменСБанками и следующие функции:


// В коде часто встречается вызов процедур типа:
ОбменСБанками.ОпределитьВидОперации(ПараметрыПлатежа);
// Или внутри формы документа при загрузке:
ЗаполнитьВидОперацииПоУмолчанию();

В процессе отладки следует смотреть на заполнение структуры ДанныеПлатежа. Именно там происходит сопоставление ключевых слов и анализ типа контрагента.

7. Подведем итоги и сформируем алгоритм действий

Чтобы исправить ситуацию, когда 1С неверно определяет вид операции, пройдем по шагам:

  1. Проверьте, существует ли в базе Платежное поручение. Если нет — создайте его перед загрузкой выписки.
  2. Если платежка не используется, проверьте вид договора в карточке контрагента.
  3. Если все настроено верно, но ошибка повторяется — один раз исправьте вид операции вручную в загруженном документе и проведите его. Система запомнит этот выбор для данного контрагента.
  4. Проверьте Назначение платежа в файле выписки. Иногда банк добавляет туда слова, которые сбивают алгоритм 1С (например, упоминание ведомости в обычном платеже поставщику).

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

← На главную