Как проверить корректность адреса и заполнение домов в 1С:Бухгалтерия 2.0?

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

При работе в программе «1С:Бухгалтерия предприятия 2.0» (БП 2.0) многие пользователи и разработчики сталкиваются с проблемой: при заполнении контактной информации город и улица подбираются корректно, однако поле «Дом» остается доступным для произвольного ввода без какой-либо проверки. Это создает риск ошибок в отчетности и базе контрагентов. В современных редакциях, таких как 3.0, эта функция работает «из коробки», но в версии 2.0 требуются дополнительные настройки и понимание архитектуры адресных классификаторов. Давайте подробно разберем, как наладить проверку адреса до номера дома и строения.

Выясним причину: почему классификатор «не видит» дома

Первым делом проанализируем ситуацию с технической стороны. В редакции 2.0 работа с адресами исторически строилась на классификаторе КЛАДР, который поставлялся в формате файлов DBF. Одной из самых частых причин отсутствия проверки домов является неполная загрузка данных. Информация о домах хранится в огромном файле DOMA.DBF. Из-за его внушительного размера при первоначальной настройке системы пользователи часто снимают флажок «Загружать дома», чтобы сэкономить место в базе данных и ускорить загрузку.

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

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

Переход с КЛАДР на ФИАС: почему это критично

Формат КЛАДР на текущий момент считается устаревшим. Ему на смену пришел ФИАС (Федеральная информационная адресная система). Основное различие заключается в том, что ФИАС оперирует уникальными идентификаторами (GUID) для каждого объекта, включая конкретные дома и корпуса. В поздних релизах БП 2.0 была добавлена поддержка ФИАС, и мы рекомендуем использовать именно его.

Разберем подробнее процесс перехода:

Для корректной работы актуальной адресной системы нам необходимо скачать файлы ФИАС с официального сайта ИТС или ФНС. Важно выбрать правильный формат деления — муниципальное или административно-территориальное. С 2021 года муниципальное деление является приоритетным для формирования регламентированной отчетности. Если ваша версия БП 2.0 поддерживает выбор формата, всегда выбирайте муниципальное деление, чтобы избежать проблем с кодами ОКТМО в будущем.

Использование сервиса «1С:Контрагент» для проверки адресов

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

При подключенном сервисе программа не обращается к локально загруженному классификатору, а отправляет запрос на веб-сервер «1С». Это дает следующие преимущества:

Проанализируем ситуацию, если кнопка проверки не активна. Проверьте в настройках параметров учета, включена ли опция «Использовать веб-сервис для проверки адресов». Для работы данного функционала требуется действующий договор сопровождения (ИТС).

Программная проверка и интеграция с внешними API

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

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

  1. Создается HTTP-запрос к API сервиса с передачей текстовой строки адреса.
  2. Сервис возвращает структурированный ответ в формате JSON, где указаны уровни точности (до дома, до квартиры).
  3. В коде 1С мы анализируем поле qc_house (код качества проверки дома).

Посмотрим на пример упрощенного кода для обработки ответа от подобного сервиса (в контексте интеграции в модуль объекта):


Функция ПроверитьАдресЧерезAPI(ТекстАдреса) Экспорт
    Запрос = Новый HTTPЗапрос("/suggestions/api/4_1/rs/suggest/address");
    Запрос.УстановитьТелоИзСтроки("{""query"": """ + ТекстАдреса + """}");
    
    // Настройка соединения и отправка...
    Ответ = Соединение.ОтправитьЗапрос(Запрос);
    
    Если Ответ.КодСостояния = 200 Тогда
        // Разбор JSON и проверка уровня детализации
        Данные = ЧтениеJSON(Ответ.ПолучитьТелоКакСтроку());
        Если Данные.Количество() > 0 И Данные[0].data.house = Неопределено Тогда
            Возврат Ложь; // Дом не найден в официальной базе
        КонецЕсли;
    КонецЕсли;
    Возврат Истина;
КонецФункции

Проверка через кнопку «ОК» и строгий контроль

В типовом решении БП 2.0 проверка часто срабатывает не «на лету» (как в 3.0), а в момент сохранения формы ввода адреса. Проанализируем, как ведет себя стандартный механизм. Когда вы нажимаете кнопку «ОК» в диалоговом окне ввода адреса, программа вызывает процедуру валидации по классификатору.

Если адрес не соответствует данным в КЛАДР/ФИАС, должно появиться предупреждение: «Адрес не соответствует классификатору». Если такое сообщение не появляется при заведомо ложном номере дома, значит:

Для исправления ситуации программным путем, можно обратиться к функции типовой конфигурации, которая отвечает за проверку:


// Пример вызова штатной проверки в обычном приложении
РезультатПроверки = РаботаСАдреснымКлассификатором.ПроверитьАдресПоКлассификатору(СтруктураАдреса);
Если Не РезультатПроверки.АдресКорректен Тогда
    Предупреждение("Указанный номер дома не найден в классификаторе!");
КонецЕсли;

Муниципальное деление и отчетность

Важно помнить, что проверка адреса — это не только удобство ввода, но и залог сдачи отчетности без ошибок. С переходом на ФИАС изменились требования к заполнению адресов в формах 2-НДФЛ и 6-НДФЛ. Если в БП 2.0 вы продолжаете использовать старый КЛАДР, программа может некорректно сопоставлять дома с муниципальными округами.

Разберем, на что обратить внимание при проверке:

  1. Убедитесь, что загружен именно формат ФИАС с административным делением (для старых релизов) или муниципальным (для актуальных патчей БП 2.0).
  2. Проверьте заполнение поля «Индекс» — при корректно загруженном классификаторе домов индекс должен проставляться автоматически при выборе дома. Если он не меняется или остается пустым — данные о домах не загружены.

Подводя итог, отметим: если вы работаете в 1С:Бухгалтерия 2.0, лучшим способом обеспечить проверку домов является подключение сервиса 1С:Контрагент. Если это невозможно, необходимо выполнить полную очистку адресных сведений и загрузить актуальный ФИАС, убедившись, что в настройках импорта выбрана опция загрузки сведений о домах.

← На главную