Как загружать актуальные адреса ФИАС и ГАР в 1С:Торговля и Склад 7.7

Программист 1С v7.7 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При ведении учета в типовой конфигурации 1С:Торговля и Склад 7.7 часто возникает вопрос: как обновлять адресный классификатор, если законодательно произошел переход на Федеральную информационную адресную систему (ФИАС) и Государственный адресный реестр (ГАР), а типовая обработка платформы 7.7 по-прежнему рассчитана на работу с форматом КЛАДР?

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

Архитектурные ограничения платформы 1С 7.7

Проанализируем, почему в конфигурациях на платформе 1С 7.7 не появилась прямая поддержка формата ФИАС/ГАР:

  1. Различие иерархических моделей: Адресная подсистема 1С 7.7 жестко завязана на четырехуровневую административно-территориальную структуру КЛАДР (регион, район, город, улица). ФИАС и ГАР используют муниципальное деление и адресацию на основе уникальных идентификаторов GUID (UUID), работа с которыми в штатных механизмах 7.7 не предусмотрена.
  2. Ограничение таблиц DBF по размеру: Базы данных формата DBF имеют жесткий предел на максимальный размер файла таблицы в 2 ГБ. Если попытаться загрузить полный массив адресов ФИАС по всей территории РФ (особенно таблицы домов и строений), произойдет переполнение таблиц и повреждение индексов.

Решение 1. Загрузка официальных выгрузок в формате КЛАДР 4.0

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

Оператор ФИАС и налоговые органы продолжают регулярное формирование и публикацию адресных сведений не только в формате ГАР/ФИАС (XML), но и в формате КЛАДР 4.0 (набор файлов KLADR.DBF, STREET.DBF, DOMA.DBF, SOCRBASE.DBF). Это делается специально для поддержки учетных систем предыдущих поколений.

Выполним процедуру загрузки по шагам:

  1. Переходим на официальный портал ФИАС (раздел обновлений) или официальный сайт ГНИВЦ и скачиваем актуальный архив адресного классификатора в формате КЛАДР 4.0.
  2. Распаковываем полученный архив во временный локальный каталог на диске.
  3. В программе 1С:Торговля и Склад 7.7 открываем меню Сервис — Загрузка адресного классификатора (или открываем встроенную обработку загрузки адресов).
  4. Указываем путь к каталогу с распакованными DBF-файлами.
  5. Важно: во избежание превышения лимита размера файлов DBF и зависания системы обязательно снимаем отметку со всей России и выбираем только те регионы, с контрагентами из которых фактически работает предприятие (например, 77 — г. Москва, 50 — Московская область, 78 — г. Санкт-Петербург).
  6. Запускаем процесс импорта и дожидаемся успешного завершения обработки.

Решение 2. Интеграция с внешними веб-сервисами стандартизации адресов через API

Если требуется точная валидация адресов по актуальной базе ГАР с учетом нового муниципального деления, хранить весь массив адресов внутри устаревшей базы 1С 7.7 нецелесообразно. Рассмотрим альтернативный подход: подключение внешнего API адресных подсказок.

Для отправки HTTP-запросов и получения структурированного ответа (JSON/XML) из 1С 7.7 можно использовать системный COM-объект операционной системы WinHttp.WinHttpRequest.5.1 или MSXML2.ServerXMLHTTP, а также внешнюю компоненту V7Plus.

Посмотрим на пример отправки запроса к веб-сервису через COM-объект:


HTTP = СоздатьОбъект("WinHttp.WinHttpRequest.5.1");
HTTP.Open("POST", "https://api-service.example.com/suggest/address", 0);
HTTP.SetRequestHeader("Content-Type", "application/json");
HTTP.SetRequestHeader("Accept", "application/json");
HTTP.SetRequestHeader("Authorization", "Token ВАШ_ТОКЕН_АВТОРИЗАЦИИ");

ТелоЗапроса = "{""query"": """ + СокрЛП(СтрокаПоиска) + """, ""count"": 5}";
HTTP.Send(ТелоЗапроса);

Если HTTP.Status = 200 Тогда
    ОтветСтрока = HTTP.ResponseText;
    // Разбор ответа и заполнение реквизитов контрагента
Иначе
    Сообщить("Ошибка сервиса: " + HTTP.Status + " " + HTTP.StatusText, "!");
КонецЕсли;

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

Решение 3. Ручной ввод адреса строкой при несовпадении классификаторов

В случаях, когда новый адрес по муниципальному делению невозможно корректно сопоставить со структурой КЛАДР (например, сложные внутригородские территории или новостройки), адрес в 1С 7.7 вносится в виде произвольной текстовой строки.

Для целей печати первичных документов (УПД, счета-фактуры, товарные накладные) допускается вывод адреса контрагента единой строкой в полном соответствии с его учредительными документами и выпиской из ЕГРЮЛ/ЕГРИП.

← На главную