Справочники и Данные · 12 мин
Где 1С хранит адреса: регистры, таблицы и адресный классификатор
Разбираем, где 1С хранит адреса контрагентов и физлиц: регистр сведений КонтактнаяИнформация, табличные части, адресный классификатор ФИАС и способы найти адрес в базе.
В типовых конфигурациях 1С (Управление торговлей, ERP, Бухгалтерия, УНФ, Комплексная автоматизация) адреса контрагентов, организаций, физических лиц и складов не хранятся как обычные реквизиты справочника. Они вынесены в отдельный механизм контактной информации — подсистему БСП (Библиотека стандартных подсистем), которая сохраняет адреса в специальном регистре сведений, привязанном к объекту-владельцу. Поэтому поиск «поля с адресом» в карточке контрагента через конфигуратор часто заканчивается ничем: реквизита «Адрес» в справочнике просто нет.
Кроме самих значений адресов, в базе хранится ещё и адресный классификатор — справочные данные ФИАС (ранее КЛАДР), которые 1С использует для подбора адреса по частям и проверки корректности. Это отдельный набор таблиц, и его объём может достигать нескольких гигабайт. Понимание того, где лежат сами адреса, а где классификатор, важно при выгрузке данных, написании запросов, миграции между базами и чистке дублей.
Ниже разберём, в каких именно объектах метаданных хранятся адреса в типовых решениях, как найти их через конфигуратор и запрос, чем отличается хранение в старых и новых версиях, и какие ошибки при работе с этими данными встречаются чаще всего.
Регистр сведений «КонтактнаяИнформация» — основное хранилище адресов
Главное место, где 1С хранит адреса, — регистр сведений «КонтактнаяИнформация» (ContactInformation). Он подчинён объектам-владельцам: справочникам «Контрагенты», «Организации», «ФизическиеЛица», «Партнеры», «Склады», «Пользователи» и другим. Каждая запись регистра привязана к конкретному объекту и содержит один элемент контактной информации: юридический адрес, фактический адрес, почтовый адрес, телефон, e-mail и т.д.
Ключевые поля регистра: измерение Объект (ссылка на владельца), Вид (ссылка на предопределённый элемент справочника «ВидыКонтактнойИнформации», например «Юр. адрес контрагента»), ресурс Представление (адрес одной строкой, как его видит пользователь) и ресурс ЗначенияПолей — структурированное представление адреса в формате XML или JSON, из которого программа разбирает страну, регион, город, улицу, дом и индекс.
Именно поле «ЗначенияПолей» используется при проверке адреса по классификатору, при выгрузке в печатные формы и при обмене данными. Менять его вручную запросом напрямую в базе не рекомендуется: рассинхронизация «Представления» и «ЗначенияПолей» приводит к ошибкам в отчётах и при проверке адресов.
Как найти адрес конкретного контрагента через конфигуратор и запрос
Чтобы увидеть адрес в режиме предприятия, откройте карточку контрагента (или организации, физлица) — блок «Контактная информация» формируется автоматически. Но если нужно массово получить адреса — например, для выгрузки в Excel или сверки — удобнее использовать консоль запросов.
Типовой запрос к регистру выглядит так: выбираются записи из «РегистрСведений.КонтактнаяИнформация» с отбором по виду контактной информации и владельцу. Пример для адресов контрагентов:
ВЫБРАТЬ
КИ.Объект КАК Контрагент,
КИ.Вид КАК ВидАдреса,
КИ.Представление КАК Адрес
ИЗ
РегистрСведений.КонтактнаяИнформация КАК КИ
ГДЕ
КИ.Объект ССЫЛКА Справочник.Контрагенты
И КИ.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)Если нужен именно юридический или фактический адрес, в отбор добавляют вид из справочника «ВидыКонтактнойИнформации» — например, «ЮрАдресКонтрагента» или «ФактАдресКонтрагента». Точные имена предопределённых элементов зависят от конфигурации, их можно посмотреть в дереве конфигурации или в самом справочнике в режиме предприятия.
В конфигураторе найти хранилище можно и визуально: откройте дерево конфигурации → «Регистры сведений» → «КонтактнаяИнформация». Там видны все измерения и ресурсы. Через «Стандартные — Открыть таблицу» (или универсальный подбор) можно просмотреть содержимое регистра целиком.
Где лежат адреса в файловой и клиент-серверной базе
На уровне СУБД регистр сведений «КонтактнаяИнформация» — это физическая таблица. В файловой базе она находится внутри единого файла 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Откройте конфигуратор и в дереве метаданных найдите «Регистры сведений → КонтактнаяИнформация» — если есть, адреса хранятся там.
- 2Если регистра нет, откройте справочник «Контрагенты» и поищите табличную часть «КонтактнаяИнформация» или реквизит с именем «Адрес».
- 3В режиме предприятия откройте карточку контрагента, нажмите на поле адреса и посмотрите через «Инструменты разработчика» или свойства формы, откуда берётся значение.
- 4Проверьте результат запросом к найденному объекту: выведите 5–10 записей и сравните с тем, что видно в карточках.
Типичные ошибки при работе с адресами в 1С
Чаще всего проблемы возникают не из-за хранения, а из-за действий при обмене, миграции и ручных правках. Ниже — ошибки, которые регулярно встречаются на практике.
Отдельный риск — обмены между базами (например, УТ ↔ БП). Если в правилах обмена контактная информация не настроена корректно, адреса могут дублироваться (два «Фактических адреса» у одного контрагента) или теряться. После настройки обмена всегда проверяйте несколько контрагентов вручную: совпадают ли юридический и фактический адреса в обеих базах.
Перед массовой чисткой или переносом адресов выгрузите регистр «КонтактнаяИнформация» в таблицу (через консоль запросов или универсальную выгрузку) и сохраните файл. Это даст точку отката именно по адресам, даже если полная копия базы делалась давно.
FAQ
Как выгрузить все адреса контрагентов в Excel?
Используйте консоль запросов или универсальный отчёт: источник — регистр сведений «КонтактнаяИнформация», отбор — объекты типа «Справочник.Контрагенты» и тип контактной информации «Адрес». Выведите поля «Объект», «Вид», «Представление» и сохраните результат в табличный документ, затем в Excel.
Почему в карточке контрагента адрес есть, а запросом не находится?
Скорее всего, запрос обращается к справочнику «Контрагенты», а адрес хранится в регистре сведений «КонтактнаяИнформация». Также проверьте отбор по виду адреса: если указан не тот предопределённый вид (например, «Почтовый адрес» вместо «Юридический»), записи не попадут в выборку.
Где 1С хранит адреса доставки в заказах покупателей?
Адрес доставки в документах обычно хранится в реквизитах самого документа (строковое представление) и/или в структурированном поле «АдресДоставкиЗначенияПолей» в формате XML/JSON — аналогично контактной информации. В некоторых конфигурациях дополнительно используется справочник адресов доставки, привязанный к партнёру или контрагенту.
Удалится ли адрес контрагента, если удалить адресный классификатор?
Нет. Классификатор ФИАС (регистр «АдресныеОбъекты» и связанные) — это справочные данные для подбора и проверки. Сами адреса лежат в регистре «КонтактнаяИнформация» и от удаления классификатора не пострадают: пропадёт только проверка и подбор по ФИАС.
Можно ли хранить несколько адресов одного вида у контрагента?
Штатно механизм контактной информации предполагает одну запись каждого вида на объект. Если нужно несколько фактических адресов (например, сети магазинов), используют справочники адресов доставки/торговых точек либо доработку — добавление в регистр нескольких записей одного вида типовой логикой не обрабатывается корректно.
Как узнать, в каком формате хранится адрес — XML или JSON?
Откройте любую запись регистра «КонтактнаяИнформация» и посмотрите поле «ЗначенияПолей»: если текст начинается с фигурной скобки — это JSON, если с угловой скобки и тега — XML. Формат зависит от версии БСП: в новых версиях преимущественно JSON, в старых — XML. Программно формат определяется функциями модуля «РаботаСАдресами».
Что важно запомнить
Адреса в типовых 1С хранятся не в справочнике контрагентов, а в регистре сведений «КонтактнаяИнформация»: представление — строкой, структура — в поле «ЗначенияПолей». Классификатор ФИАС лежит отдельно (регистр «АдресныеОбъекты») и нужен только для подбора и проверки. Массовые правки делайте только после резервной копии и никогда не правьте таблицы напрямую в SQL.