К статье
Практический материал

Справочники и Данные · 12 мин

Где 1С хранит адреса: регистры, таблицы и адресный классификатор

Разбираем, где 1С хранит адреса контрагентов и физлиц: регистр сведений КонтактнаяИнформация, табличные части, адресный классификатор ФИАС и способы найти адрес в базе.

В типовых конфигурациях 1С (Управление торговлей, ERP, Бухгалтерия, УНФ, Комплексная автоматизация) адреса контрагентов, организаций, физических лиц и складов не хранятся как обычные реквизиты справочника. Они вынесены в отдельный механизм контактной информации — подсистему БСП (Библиотека стандартных подсистем), которая сохраняет адреса в специальном регистре сведений, привязанном к объекту-владельцу. Поэтому поиск «поля с адресом» в карточке контрагента через конфигуратор часто заканчивается ничем: реквизита «Адрес» в справочнике просто нет.

Кроме самих значений адресов, в базе хранится ещё и адресный классификатор — справочные данные ФИАС (ранее КЛАДР), которые 1С использует для подбора адреса по частям и проверки корректности. Это отдельный набор таблиц, и его объём может достигать нескольких гигабайт. Понимание того, где лежат сами адреса, а где классификатор, важно при выгрузке данных, написании запросов, миграции между базами и чистке дублей.

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

Регистр сведений «КонтактнаяИнформация» — основное хранилище адресов

Главное место, где 1С хранит адреса, — регистр сведений «КонтактнаяИнформация» (ContactInformation). Он подчинён объектам-владельцам: справочникам «Контрагенты», «Организации», «ФизическиеЛица», «Партнеры», «Склады», «Пользователи» и другим. Каждая запись регистра привязана к конкретному объекту и содержит один элемент контактной информации: юридический адрес, фактический адрес, почтовый адрес, телефон, e-mail и т.д.

Ключевые поля регистра: измерение Объект (ссылка на владельца), Вид (ссылка на предопределённый элемент справочника «ВидыКонтактнойИнформации», например «Юр. адрес контрагента»), ресурс Представление (адрес одной строкой, как его видит пользователь) и ресурс ЗначенияПолей — структурированное представление адреса в формате XML или JSON, из которого программа разбирает страну, регион, город, улицу, дом и индекс.

Именно поле «ЗначенияПолей» используется при проверке адреса по классификатору, при выгрузке в печатные формы и при обмене данными. Менять его вручную запросом напрямую в базе не рекомендуется: рассинхронизация «Представления» и «ЗначенияПолей» приводит к ошибкам в отчётах и при проверке адресов.

Как найти адрес конкретного контрагента через конфигуратор и запрос

Чтобы увидеть адрес в режиме предприятия, откройте карточку контрагента (или организации, физлица) — блок «Контактная информация» формируется автоматически. Но если нужно массово получить адреса — например, для выгрузки в Excel или сверки — удобнее использовать консоль запросов.

Типовой запрос к регистру выглядит так: выбираются записи из «РегистрСведений.КонтактнаяИнформация» с отбором по виду контактной информации и владельцу. Пример для адресов контрагентов:

bsl
ВЫБРАТЬ
	КИ.Объект КАК Контрагент,
	КИ.Вид КАК ВидАдреса,
	КИ.Представление КАК Адрес
ИЗ
	РегистрСведений.КонтактнаяИнформация КАК КИ
ГДЕ
	КИ.Объект ССЫЛКА Справочник.Контрагенты
	И КИ.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)

Если нужен именно юридический или фактический адрес, в отбор добавляют вид из справочника «ВидыКонтактнойИнформации» — например, «ЮрАдресКонтрагента» или «ФактАдресКонтрагента». Точные имена предопределённых элементов зависят от конфигурации, их можно посмотреть в дереве конфигурации или в самом справочнике в режиме предприятия.

В конфигураторе найти хранилище можно и визуально: откройте дерево конфигурации → «Регистры сведений» → «КонтактнаяИнформация». Там видны все измерения и ресурсы. Через «Стандартные — Открыть таблицу» (или универсальный подбор) можно просмотреть содержимое регистра целиком.

Где лежат адреса в файловой и клиент-серверной базе

На уровне СУБД регистр сведений «КонтактнаяИнформация» — это физическая таблица. В файловой базе она находится внутри единого файла 1Cv8.1CD, отдельно её вытащить штатными средствами нельзя — только через выгрузку данных, запрос или обработку. В клиент-серверном варианте (MS SQL, PostgreSQL) таблица имеет имя вида _InfoReg с порядковым номером, точное соответствие имени таблицы объекту метаданных определяется через структуру базы.

Получить соответствие имён таблиц СУБД и объектов конфигурации можно функцией ПолучитьСтруктуруХраненияБазыДанных() во встроенном языке. Это полезно, если данные нужно прочитать сторонним инструментом напрямую из SQL. Однако прямое чтение из SQL — только для анализа: запись в таблицы 1С в обход платформы нарушает целостность данных и лишает поддержки.

Адресный классификатор ФИАС: где хранится и зачем нужен

Отдельно от адресов объектов 1С хранит адресный классификатор — справочные данные ФИАС (в старых версиях — КЛАДР). Он нужен, чтобы пользователь вводил адрес не произвольной строкой, а выбирал регион, город и улицу из проверенного списка, а программа могла проверить адрес и определить коды (например, для отчётности и КЛАДР/ФИАС-идентификаторов).

В конфигурациях на актуальных версиях БСП загруженный классификатор хранится в регистрах сведений подсистемы «Адресный классификатор» — прежде всего в регистре «АдресныеОбъекты» (сами объекты: регионы, города, улицы, дома) и вспомогательных регистрах: «СлужебныеАдресныеСведения», «ИсторияАдресныхОбъектов», «ПричиныИзмененияАдресныхСведений», «ДомаЗданияСтроения», «ДополнительныеАдресныеСведения» (например, ОКТМО, коды налоговых органов). Загрузка выполняется через «Администрирование → Интернет-поддержка и сервисы → Адресный классификатор» (в разных конфигурациях путь может немного отличаться).

Важный момент: если классификатор не загружен, адреса в базе всё равно хранятся и работают — просто вводятся свободным текстом без проверки. Отсутствие классификатора не удаляет существующие адреса. Но для корректной выгрузки в отчётность и обменов адрес лучше привести к формату ФИАС.

Отличия в старых и нетиповых конфигурациях

В устаревших конфигурациях (Управление торговлей 10.3, УПП 1.3, Бухгалтерия 1.6/2.0) контактная информация хранится иначе: в табличной части «КонтактнаяИнформация» справочников и документов, а также в одноимённом регистре сведений старого образца. Там адрес — это просто текстовое поле «Представление» плюс поля «Поле1»–«Поле10», в которых по позициям разложены индекс, регион, город и т.д. Формата XML/JSON там нет.

В самописных и сильно доработанных конфигурациях адреса могут храниться где угодно: как обычные строковые реквизиты справочника «Контрагенты», так и в отдельных справочниках «Адреса» со связью по владельцу. Универсальный способ найти хранилище — через конфигуратор: поиск по слову «Адрес» в именах реквизитов (Ctrl+Shift+F по метаданным) и проверка, откуда форма карточки контрагента берёт значение поля адреса.

Сравнение вариантов хранения

Регистр сведений «КонтактнаяИнформация» (БСП)

Типовой вариант современных конфигураций. Адрес в XML/JSON, проверка по ФИАС, удобные запросы. Ограничение: сложнее читать напрямую из SQL.

Табличная часть «КонтактнаяИнформация» (старьё)

УТ 10.3, УПП 1.3, старые редакции БП. Адрес разложен по полям «Поле1»–«Поле10». Простая структура, но нет проверки по ФИАС и единого формата.

Реквизит справочника (самопис)

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

Как проверить и исправить адреса штатными средствами

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

Для пакетной обработки удобна типовая обработка «Групповое изменение реквизитов» (в разделе «Администрирование» или «НСИ»), но работайте с ней аккуратно: сначала отберите записи отбором, проверьте на одном объекте, потом применяйте ко всем. Для выгрузки адресов в Excel подойдёт универсальный отчёт по регистру сведений или консоль запросов с выводом полей «Объект», «Вид», «Представление».

Как найти, где хранится адрес в вашей базе
  1. 1
    Откройте конфигуратор и в дереве метаданных найдите «Регистры сведений → КонтактнаяИнформация» — если есть, адреса хранятся там.
  2. 2
    Если регистра нет, откройте справочник «Контрагенты» и поищите табличную часть «КонтактнаяИнформация» или реквизит с именем «Адрес».
  3. 3
    В режиме предприятия откройте карточку контрагента, нажмите на поле адреса и посмотрите через «Инструменты разработчика» или свойства формы, откуда берётся значение.
  4. 4
    Проверьте результат запросом к найденному объекту: выведите 5–10 записей и сравните с тем, что видно в карточках.

Типичные ошибки при работе с адресами в 1С

Чаще всего проблемы возникают не из-за хранения, а из-за действий при обмене, миграции и ручных правках. Ниже — ошибки, которые регулярно встречаются на практике.

Типичные ошибки
01
Поиск реквизита «Адрес» в справочнике «Контрагенты» — его там нет, адрес лежит в регистре «КонтактнаяИнформация», поэтому запрос к справочнику возвращает пусто.
02
Правка поля «Представление» без обновления «ЗначенияПолей» — в карточке адрес новый, а в печатной форме и при проверке по ФИАС выходит старый.
03
Удаление адресного классификатора «для очистки места» вместе с регистром контактной информации — это разные таблицы, путаница приводит к потере реальных адресов.
04
Миграция адресов из старой конфигурации копированием строк без преобразования формата — поля «Поле1»–«Поле10» не равны XML-структуре БСП, адреса оказываются битыми.
05
Загрузка полного классификатора ФИАС по всем регионам в файловую базу — база резко растёт, обмены и бэкапы замедляются.

Отдельный риск — обмены между базами (например, УТ ↔ БП). Если в правилах обмена контактная информация не настроена корректно, адреса могут дублироваться (два «Фактических адреса» у одного контрагента) или теряться. После настройки обмена всегда проверяйте несколько контрагентов вручную: совпадают ли юридический и фактический адреса в обеих базах.

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

FAQ

Как выгрузить все адреса контрагентов в Excel?

Используйте консоль запросов или универсальный отчёт: источник — регистр сведений «КонтактнаяИнформация», отбор — объекты типа «Справочник.Контрагенты» и тип контактной информации «Адрес». Выведите поля «Объект», «Вид», «Представление» и сохраните результат в табличный документ, затем в Excel.

Почему в карточке контрагента адрес есть, а запросом не находится?

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

Где 1С хранит адреса доставки в заказах покупателей?

Адрес доставки в документах обычно хранится в реквизитах самого документа (строковое представление) и/или в структурированном поле «АдресДоставкиЗначенияПолей» в формате XML/JSON — аналогично контактной информации. В некоторых конфигурациях дополнительно используется справочник адресов доставки, привязанный к партнёру или контрагенту.

Удалится ли адрес контрагента, если удалить адресный классификатор?

Нет. Классификатор ФИАС (регистр «АдресныеОбъекты» и связанные) — это справочные данные для подбора и проверки. Сами адреса лежат в регистре «КонтактнаяИнформация» и от удаления классификатора не пострадают: пропадёт только проверка и подбор по ФИАС.

Можно ли хранить несколько адресов одного вида у контрагента?

Штатно механизм контактной информации предполагает одну запись каждого вида на объект. Если нужно несколько фактических адресов (например, сети магазинов), используют справочники адресов доставки/торговых точек либо доработку — добавление в регистр нескольких записей одного вида типовой логикой не обрабатывается корректно.

Как узнать, в каком формате хранится адрес — XML или JSON?

Откройте любую запись регистра «КонтактнаяИнформация» и посмотрите поле «ЗначенияПолей»: если текст начинается с фигурной скобки — это JSON, если с угловой скобки и тега — XML. Формат зависит от версии БСП: в новых версиях преимущественно JSON, в старых — XML. Программно формат определяется функциями модуля «РаботаСАдресами».

Итог

Что важно запомнить

Адреса в типовых 1С хранятся не в справочнике контрагентов, а в регистре сведений «КонтактнаяИнформация»: представление — строкой, структура — в поле «ЗначенияПолей». Классификатор ФИАС лежит отдельно (регистр «АдресныеОбъекты») и нужен только для подбора и проверки. Массовые правки делайте только после резервной копии и никогда не правьте таблицы напрямую в SQL.