Где хранятся ИНН и КПП банков в 1С:Управление торговлей 11 и как их добавить?

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

При работе в программе 1С:Управление торговлей 11 (а также в других типовых решениях, таких как 1С:ERP, 1С:Комплексная автоматизация или 1С:Бухгалтерия) пользователи часто сталкиваются с ситуацией, когда для оформления договоров, актов или сверок требуются налоговые реквизиты обслуживающего банка — ИНН и КПП. Однако при открытии справочников Классификатор банков или Банковские счета нужные поля обнаружить не удается.

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

Почему в типовом классификаторе банков 1С отсутствуют ИНН и КПП?

Выясним причину такого архитектурного решения. Справочник Классификатор банков РФ в программах 1С формируется и обновляется на основе официального Справочника БИК Банка России (альбомы УФЭБС / ED807). В соответствии с банковскими стандартами платежной системы РФ для проведения безналичных расчетов и однозначной идентификации кредитной организации используются исключительно:

  1. БИК (банковский идентификационный код) — уникальный 9-значный код участника расчетов.
  2. Корреспондентский счет банка в подразделении Банка России.
  3. Наименование и местонахождение кредитной организации.

Нормативные требования ЦБ РФ к структуре классификатора БИК не предусматривают передачу кодов ИНН и КПП. Поэтому в структуре метаданных справочника Классификатор банков данные реквизиты изначально отсутствуют. Кроме того, важно помнить об особенности структуры банков: банк представляет собой единое юридическое лицо с одним ИНН, однако его филиалы и расчетно-кассовые центры, имеющие различные БИК, обладают разными КПП по месту нахождения обособленных подразделений.

Вариант 1. Ведение банка в справочнике «Контрагенты»

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

Разберем по шагам, как правильно оформить банк в системе:

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

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

Вариант 2. Использование механизма «Дополнительные реквизиты и сведения»

Если банк не выступает контрагентом по договорам, но его ИНН и КПП требуются в печатных формах или специфических отчетах, рассмотрим настройку без доработки конфигурации средствами Библиотеки стандартных подсистем (БСП).

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

  1. Откроем раздел НСИ и администрирование — Общие настройки — Дополнительные реквизиты и сведения.
  2. Убедимся, что установлены флаги Дополнительные реквизиты и Дополнительные сведения.
  3. Перейдем по гиперссылке Дополнительные реквизиты и выберем объект, к которому требуется добавить данные (например, Банковские счета организаций или Банковские счета контрагентов).
  4. Нажмем кнопку Добавить — Новый и создадим два реквизита:
    1. ИНН банка с типом значения Строка (длина 10 символов).
    2. КПП банка с типом значения Строка (длина 9 символов).
  5. Сохраним настройки. Теперь в форме банковского счета появится дополнительная вкладка, где пользователи смогут вручную указать налоговые коды банка.

Вариант 3. Добавление реквизитов через механизм расширений

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

Разберем шаги создания расширения:

  1. Откроем конфигуратор и перейдем в меню Конфигурация — Расширения конфигурации.
  2. Добавим новое расширение со значением назначения Адаптация или Дополнение.
  3. Заимствуем в расширение справочник КлассификаторБанков (или БанковскиеСчетаОрганизаций).
  4. Добавим в заимствованный справочник новые реквизиты ИНН (тип Строка, длина 10) и КПП (тип Строка, длина 9).
  5. Заимствуем форму элемента справочника и выведем созданные реквизиты на форму.

Посмотрим на пример обращения к добавленным реквизитам в программном коде при формировании печатной формы или выгрузки:


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	Банки.Ссылка КАК Банк,
    |	Банки.Код КАК БИК,
    |	Банки.КоррСчет КАК КоррСчет,
    |	Банки.ИНН КАК ИНН,
    |	Банки.КПП КАК КПП
    |ИЗ
    |	Справочник.КлассификаторБанков КАК Банки
    |ГДЕ
    |	Банки.Ссылка = &Банк";

Запрос.УстановитьПараметр("Банк", СсылкаНаБанк);
РезультатЗапроса = Запрос.Выполнить();

Вариант 4. Автоматическое заполнение через внешние API

Для автоматизации заполнения реквизитов при импорте или создании банковских счетов можно настроить фоновый опрос внешних веб-сервисов по БИК с помощью протокола HTTP. Рассмотрим пример программного запроса к сервису стандартизации реквизитов:


Функция ПолучитьРеквизитыБанкаПоБИК(Знач БИКБанка, Знач ТокенАвторизации)
    
    HTTPСоединение = Новый HTTPСоединение("suggestions.dadata.ru", 443, , , , 10, Новый ЗащищенноеСоединениеOpenSSL());
    
    Заголовки = Новый Соответствие;
    Заголовки.Вставить("Content-Type", "application/json");
    Заголовки.Вставить("Accept", "application/json");
    Заголовки.Вставить("Authorization", "Token " + ТокенАвторизации);
    
    HTTPЗапрос = Новый HTTPЗапрос("/suggestions/api/4_1/rs/findById/bank", Заголовки);
    HTTPЗапрос.УстановитьТелоИзСтроки("{""query"": """ + БИКБанка + """}", КодировкаТекста.UTF8);
    
    HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
    
    Если HTTPОтвет.КодСостояния = 200 Тогда
        ЧтениеJSON = Новый ЧтениеJSON;
        ЧтениеJSON.УстановитьСтроку(HTTPОтвет.ПолучитьТелоКакСтроку());
        СтруктураДанных = ПрочитатьJSON(ЧтениеJSON);
        ЧтениеJSON.Закрыть();
        Возврат СтруктураДанных;
    КонецЕсли;
    
    Возврат Неопределено;
КонецФункции

Итоги

Подведем итоги выбора подходящего решения:

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