При работе с банковскими документами и расчетными счетами в системе 1С одним из ключевых реквизитов является БИК (Банковский идентификационный код). Часто у начинающих разработчиков и пользователей возникает вопрос: где именно в структуре базы данных хранится этот код и как с ним правильно взаимодействовать. В этой статье мы подробно разберем техническое устройство хранения БИК, способы его обновления и программные методы работы с ним.
Рассмотрим стандартную архитектуру типовых конфигураций 1С (таких как "Бухгалтерия предприятия", "ERP" или "Управление торговлей"). Основным местом хранения информации о финансовых организациях является справочник Банки. Проанализируем его ключевые особенности:
Код справочника. Это обусловлено тем, что БИК является уникальным идентификатором банка на территории РФ, что идеально подходит для роли уникального кода элемента справочника.Код имеет тип "Строка". Это важно, так как БИК может начинаться с нуля (например, коды московских банков начинаются с 04), и числовой тип данных привел бы к потере лидирующего нуля.Выясним причину такого решения: использование БИК в качестве кода позволяет системе мгновенно находить нужный банк при загрузке банковских выписок через системы "Клиент-Банк" или при вводе номера счета контрагента. Программе достаточно выполнить поиск по коду, чтобы сопоставить данные из внешнего файла с объектом в базе.
Для понимания того, как проверять корректность введенных данных, разберем по шагам структуру российского БИК, состоящую из 9 цифр:
В современных конфигурациях 1С реализован механизм автоматического контроля. Если вы попытаетесь ввести БИК, не соответствующий этой маске или содержащий буквы, система выдаст предупреждение. Рассмотрим, как это работает на практике: при вводе 9 цифр в карточке расчетного счета программа обращается к классификатору и, если банк найден, автоматически заполняет наименование и корреспондентский счет.
Нам не нужно вносить данные банков вручную. Фирма 1С предоставляет готовый Классификатор банков. Разберем, как его правильно использовать и обновлять:
Для обновления данных необходимо зайти в справочник Банки и нажать кнопку "Подбор" или "Добавить из классификатора". Система предложит несколько вариантов загрузки:
Проанализируем ситуацию, когда банк был ликвидирован. В классификаторе такие банки помечаются как недействующие. Если в вашей базе уже есть этот банк, программа не удалит его (так как на нем могут быть исторические движения по счетам), но запретит выбор в новых документах или выдаст соответствующее предупреждение.
Если вы разрабатываете собственную обработку или расширение, вам может потребоваться найти банк по его БИК. Посмотрим на пример кода, который позволяет это сделать эффективно:
// Функция находит ссылку на банк по его БИК
Функция НайтиБанкПоБИК(Знач НужныйБИК) Экспорт
// Проверяем формат входных данных
Если СтрДлина(НужныйБИК) <> 9 Тогда
Возврат Справочники.Банки.ПустаяСсылка();
КонецЕсли;
// Выполняем поиск по стандартному реквизиту Код
СсылкаНаБанк = Справочники.Банки.НайтиПоКоду(НужныйБИК);
Возврат СсылкаНаБанк;
КонецФункции
Обратите внимание, что метод НайтиПоКоду является наиболее быстрым, так как поле Код всегда индексировано в базе данных SQL. Если же вы работаете в конфигурации, где БИК вынесен в отдельный реквизит (что встречается крайне редко в нетиповых решениях), следует использовать метод НайтиПоРеквизиту.
Важно различать российский БИК и международный идентификатор SWIFT BIC. Несмотря на схожее название, это разные сущности:
В типовых конфигурациях 1С для SWIFT предусмотрено отдельное поле в справочнике Банки. При настройке обмена с зарубежными контрагентами проанализируйте ситуацию: если банк иностранный, поле "БИК" может оставаться пустым или заполняться техническим кодом, а основной упор будет сделан на реквизит SWIFT.
Рассмотрим подробнее механизм "Интернет-поддержки пользователей". Когда бухгалтер вводит БИК в поле ввода, срабатывает обработчик события, который вызывает серверные функции 1С. Эти функции проверяют, есть ли данный БИК в локальном справочнике. Если банка нет, система может автоматически отправить запрос к веб-сервису 1С и получить актуальные данные (наименование, корр. счет, адрес) "на лету", даже если классификатор не был предварительно загружен целиком. Это значительно экономит время и снижает риск опечаток в платежных поручениях.
Таким образом, мы выяснили, что БИК — это не просто набор цифр, а структурированный идентификатор, который в 1С служит ключом к объекту справочника Банки. Правильное использование классификаторов и типовых механизмов поиска гарантирует корректность финансовых операций в вашей организации.