Адреса в 1С:Предприятие — это критически важная информация, которая используется повсеместно: от формирования документов до логистики и бухгалтерской отчётности. Однако найти, где именно хранятся эти данные в базе, не всегда просто. В зависимости от конфигурации (1С:Бухгалтерия, 1С:Управление торговлей, 1С:Зарплата и управление персоналом) и версии платформы структура хранения адресов может отличаться. В этой статье мы разберём все возможные варианты: от стандартных справочников до скрытых таблиц базы данных, а также покажем, как извлечь адреса с помощью SQL-запросов и встроенных инструментов.

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

Это означает, что простого поиска по таблице Контрагенты может быть недостаточно. Мы рассмотрим все нюансы, включая работу с расширенными адресами, многострочными полями и историей изменений.

1. Стандартные места хранения адресов в 1С

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

  • 📌 Справочник "Контрагенты" — здесь хранятся адреса юридических лиц и ИП. Поле обычно называется Адрес или ЮридическийАдрес.
  • 👤 Справочник "ФизическиеЛица" — содержит адреса проживания или регистрации сотрудников (в 1С:ЗУП).
  • 🏢 Справочник "Организации" — адреса собственных юридических лиц компании.
  • 📦 Справочник "Склады" — адреса складских помещений (в 1С:УТ или 1С:ERP).

Важно понимать, что поле Адрес может быть как простым текстовым (в старых конфигурациях), так и составным — с разбивкой на индекс, регион, город, улицу и дом. В современных версиях (начиная с 1С:Предприятие 8.3.10) чаще используется второй вариант с привязкой к ФИАС (Федеральная информационная адресная система).

Чтобы увидеть структуру адреса в конкретной базе, откройте справочник (например, Контрагенты) в режиме 1С:Предприятие, выберите любой элемент и нажмите Ещё → Все действия → Изменить форму. В открывшемся окне вы увидите, как настроено поле Адрес:

💡

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

2. Где физически хранятся адреса в базе данных 1С

На уровне SQL-сервера адреса хранятся в таблицах, соответствующих справочникам. Например, для справочника Контрагенты в базе Microsoft SQL Server или PostgreSQL будет таблица с именем вида:

_Reference{ГУИД_справочника}

Где {ГУИД_справочника} — это уникальный идентификатор объекта метаданных. Чтобы найти точную таблицу:

  1. Откройте конфигуратор 1С:Предприятие.
  2. Перейдите в Администрирование → Поддержка и обслуживание → Тестирование и исправление.
  3. Нажмите Показать таблицы базы данных (в некоторых версиях опция называется Просмотр структуры базы данных).
  4. Найдите таблицу, соответствующую нужному справочнику (например, _Reference16 для Контрагентов).

Внутри этой таблицы адрес может храниться в одном из полей:

  • 🔹 Адрес — если это текстовое поле.
  • 🔹 Адрес_ПочтовыйИндекс, Адрес_Регион, Адрес_Город и т.д. — если адрес составной.
  • 🔹 АдресПолный — в некоторых конфигурациях (например, 1С:ERP).

Для составных адресов данные распределены по нескольким колонкам, а для текстовых — вся информация хранится в одной ячейке в формате:

123456, г. Москва, ул. Ленина, д. 1, офис 101
📊 Какой тип адресов используется в вашей базе 1С?
Текстовый (одна строка)
Составной (разбит на поля)
Не знаю
Другой вариант

3. Адреса в регистрах сведений и других объектах

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

  • 📊 Регистры сведений — например, АдресаКонтрагентов или КонтактнаяИнформация. Эти регистры используются для хранения истории изменений адресов или дополнительных адресов (например, фактический и юридический).
  • 📄 Документы — в некоторых конфигурациях адрес может прописываться непосредственно в документах (например, в ЗаказПокупателя или РеализацияТоваровУслуг), если он отличается от адреса из справочника.
  • 🔄 Планы обмена — при распределённой базе адреса могут синхронизироваться между узлами через механизм обмена данными.

Чтобы найти регистры сведений, связанные с адресами:

  1. В конфигураторе откройте ветку Общие → Регистры сведений.
  2. Ищите регистры с названиями, содержащими Адрес, Контакт или Местонахождение.
  3. Проверьте ресурсы и измерения регистра — часто там хранятся Контрагент, ТипАдреса (Юридический/Фактический) и сам Адрес.

Пример структуры регистра АдресаКонтрагентов:

Поле Тип данных Описание
Контрагент СправочникСсылка.Контрагенты Ссылка на элемент справочника
ТипАдреса ПеречислениеСсылка.ТипыАдресов Юридический/Фактический/Почтовый
Адрес Строка (500) Полный адрес в текстовом формате
Период Дата Дата начала действия адреса
ПочтовыйИндекс Строка (6) Индекс отдельным полем
⚠️ Внимание: В конфигурациях с поддержкой ФИАС (например, 1С:ERP 2.5+ или 1С:БП 3.0+) адреса могут храниться в виде ссылок на элементы справочника АдресныйКлассификатор. В этом случае в базе будет не текст, а идентификаторы объектов ФИАС, и для получения читаемого адреса потребуется дополнительная обработка.

4. Как извлечь адреса из 1С с помощью SQL-запросов

Если вам нужно массово экспортировать адреса (например, для анализа или миграции), проще всего использовать прямые SQL-запросы к базе данных. Ниже приведён универсальный запрос для извлечения адресов контрагентов из справочника:

SELECT

T1._Description AS Контрагент,

T1._IDRRef AS Ссылка,

T2._Val AS Адрес

FROM

_Reference{ГУИД_Контрагентов} AS T1

LEFT JOIN

_Reference{ГУИД_Контрагентов}_VT{ГУИД_Реквизита_Адрес} AS T2 ON T1._IDRRef = T2._ObjectIDRRef

WHERE

T2._Val IS NOT NULL

Где:

  • {ГУИД_Контрагентов} — идентификатор справочника Контрагенты (можно найти в конфигураторе).
  • {ГУИД_Реквизита_Адрес} — идентификатор реквизита Адрес (также доступен в метаданных).

Для составных адресов запрос будет сложнее. Например, в 1С:ERP может потребоваться объединить несколько полей:

SELECT

T1._Description AS Контрагент,

T2._Val AS ПочтовыйИндекс,

T3._Val AS Регион,

T4._Val AS Город,

T5._Val AS Улица,

T6._Val AS Дом

FROM

_Reference{ГУИД_Контрагентов} AS T1

LEFT JOIN

_Reference{ГУИД_Контрагентов}_VT{ГУИД_ПочтовыйИндекс} AS T2 ON T1._IDRRef = T2._ObjectIDRRef

LEFT JOIN

_Reference{ГУИД_Контрагентов}_VT{ГУИД_Регион} AS T3 ON T1._IDRRef = T3._ObjectIDRRef

-- и так далее для остальных полей

Узнать ГУИД справочника в конфигураторе|Проверить тип хранения адреса (текстовый или составной)|Сделать резервную копию базы|Тестировать запросы на тестовой копии данных-->

Если вы используете ФИАС, то для получения читаемого адреса потребуется присоединить таблицу адресного классификатора. Пример запроса для 1С:БП 3.0:

SELECT

Контрагенты._Description AS Контрагент,

АдресныйКлассификатор._Description AS Адрес

FROM

_Reference{ГУИД_Контрагентов} AS Контрагенты

JOIN

_Reference{ГУИД_АдресногоКлассификатора} AS АдресныйКлассификатор

ON Контрагенты._Адрес_Key = АдресныйКлассификатор._IDRRef

⚠️ Внимание: Прямые SQL-запросы к базе 1С могут нарушить целостность данных, если выполняются записывающие операции (INSERT, UPDATE, DELETE). Всегда работайте с резервной копией и используйте только SELECT-запросы для чтения.

5. Поиск адресов через встроенные инструменты 1С

Не всегда требуется обращаться к базе напрямую. В 1С:Предприятие есть встроенные механизмы для поиска и анализа адресов:

  • 🔍 Поиск по справочникам — используйте стандартный поиск (Ctrl+F) в справочниках Контрагенты или ФизическиеЛица с фильтром по полю Адрес.
  • 📑 Отчёты — в разделе Отчёты ищите отчёты типа Анализ контрагентов или Контактная информация. Они часто содержат колонку с адресами.
  • 🛠 Обработки — в 1С:ИТС или на сайте Infostart можно найти готовые обработки для экспорта адресов в Excel.
  • 📎 Механизм полнотекстового поиска — если в конфигурации включён полнотекстовый поиск, можно искать адреса по фрагментам (например, ул. Ленина).

Пример использования отчёта для экспорта адресов:

  1. Откройте раздел Отчёты.
  2. Выберите Анализ контрагентов (или аналогичный).
  3. В настройках отчёта добавьте колонку Адрес.
  4. Установите фильтр по нужным контрагентам (например, по городу).
  5. Экспортируйте результат в Excel или PDF.

Если в вашей конфигурации нет готового отчёта, можно создать свой. Для этого:

  1. В конфигураторе откройте ветку Отчёты.
  2. Создайте новый отчёт с источником данных — справочник Контрагенты.
  3. Добавьте в структуру отчёта поле Адрес.
  4. Настройте группировки (например, по региону).
Как найти обработку для экспорта адресов?

На сайте Infostart.ru введите в поиск запрос "экспорт адресов 1С" и выберите обработку, совместимую с вашей конфигурацией. Обратите внимание на версию платформы (8.3.x) и типовые конфигурации (БП, УТ, ЗУП). Большинство обработок бесплатны или имеют демо-версию.

6. Особенности хранения адресов в разных конфигурациях 1С

Структура хранения адресов может сильно отличаться в зависимости от конфигурации. Рассмотрим ключевые различия:

Конфигурация Где хранятся адреса Формат хранения Особенности
1С:Бухгалтерия 3.0 Справочник Контрагенты, регистр КонтактнаяИнформация Текстовый или составной (с 8.3.10) Поддержка ФИАС, возможность хранения нескольких адресов на контрагента
1С:Управление торговлей 11 Справочники Контрагенты, Склады, регистр АдресаКонтрагентов Составной (с привязкой к ФИАС) Адреса складов хранятся отдельно, есть поле АдресДоставки в заказах
1С:Зарплата и управление персоналом 3.1 Справочник ФизическиеЛица, регистр АдресаФизическихЛиц Составной (регион, город, улица и т.д.) Адреса используются для расчёта налогов и страховых взносов
1С:ERP 2.5 Справочники и регистр КонтактнаяИнформация с типом Адрес Сложная структура с поддержкой ФИАС и геокодирования Есть возможность привязки адреса к координатам (широта/долгота)
1С:Розница 2.3 Справочник Контрагенты, справочник Магазины Текстовый или составной Адреса магазинов хранятся в отдельном справочнике

В 1С:ERP и 1С:УТ 11 адреса могут быть привязаны к географическим координатам (широта и долгота). Это используется для интеграции с картами (Яндекс.Карты, Google Maps) и логистическими сервисами. Координаты хранятся в регистре КонтактнаяИнформация в полях Долгота и Широта.

В 1С:ЗУП адреса физических лиц используются для:

  • 📋 Формирования отчётности в ПФР и ФНС (например, СЗВ-ТД или 2-НДФЛ).
  • 💌 Рассылки почтовых уведомлений (например, о зарплате).
  • 🏠 Оформления командировок (адрес проживания).
⚠️ Внимание: В конфигурациях до версии 8.3.10 адреса часто хранились в текстовом формате без структуры. При миграции на новые версии может потребоваться конвертация этих данных в формат ФИАС с помощью специальных обработок (например, ОбработкаМиграцииАдресовКФИАС из 1С:ИТС).

7. Как работать с адресами в коде 1С (для разработчиков)

Если вы разрабатываете или дорабатываете конфигурацию, вам может потребоваться программно получать или изменять адреса. Основные методы:

1. Получение адреса контрагента:

Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("ООО Ромашка");

Адрес = Контрагент.Адрес; // или Контрагент.ЮридическийАдрес

2. Разбор составного адреса (если используется ФИАС):

Если ТипЗнч(Контрагент.Адрес) = Тип("Структура") Тогда

Сообщить("Индекс: " + Контрагент.Адрес.ПочтовыйИндекс);

Сообщить("Город: " + Контрагент.Адрес.Город);

КонецЕсли;

3. Поиск контрагентов по адресу:

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| Контрагенты.Ссылка КАК Контрагент,

| Контрагенты.Адрес КАК Адрес

|ИЗ

| Справочник.Контрагенты КАК Контрагенты

|ГДЕ

| Контрагенты.Адрес ПОДОБНО ""%ул. Ленина%""

|";

Результат = Запрос.Выполнить();

4. Изменение адреса с проверкой на дубли:

Процедура ИзменитьАдрес(Контрагент, НовыйАдрес)

Если Не ЗначениеЗаполнено(НовыйАдрес) Тогда

Возврат Ложь;

КонецЕсли;

СтарыйАдрес = Контрагент.Адрес;

Контрагент.Адрес = НовыйАдрес;

Контрагент.Записать();

// Логирование изменения

Регистратор = РегистрыСведений.ИсторияИзмененийАдресов;

НоваяЗапись = Регистратор.СоздатьМенеджерЗаписи();

НоваяЗапись.Контрагент = Контрагент.Ссылка;

НоваяЗапись.СтарыйАдрес = СтарыйАдрес;

НоваяЗапись.НовыйАдрес = НовыйАдрес;

НоваяЗапись.ДатаИзменения = ТекущаяДата();

НоваяЗапись.Записать();

Возврат Истина;

КонецПроцедуры

Для работы с ФИАС в коде используются объекты АдресныйКлассификатор и АдресныйОбъект. Пример получения полного адреса по коду ФИАС:

КодФИАС = "0c5b2444-70a0-4932-980c-b4dc0d3f02b5"; // Пример кода

АдресныйОбъект = Справочники.АдресныйКлассификатор.НайтиПоКодуФИАС(КодФИАС);

ПолныйАдрес = АдресныйОбъект.ПолноеНаименование;

💡

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

8. Типичные проблемы с адресами в 1С и их решения

При работе с адресами пользователи и администраторы часто сталкиваются со следующими проблемами:

  • 🚫 Адреса не отображаются в документах — проверьте настройки печати шаблона документа. Часто поле Адрес просто не добавлено в макет.
  • 🔄 Дублирование адресов — используйте обработку для поиска дублей (например, ПоискДублейАдресов из 1С:ИТС).
  • 📛 Ошибки при загрузке адресов из ФИАС — обновите классификатор через Администрирование → Поддержка и обслуживание → Обновление адресного классификатора.
  • 🌍 Некорректное отображение адресов на картах — проверьте, что в конфигурации включена геокодировка и заполнены координаты.
  • 📑 Адреса не экспортируются в отчёты — добавьте поле Адрес в настройки отчёта или используйте обработку для выгрузки.

Пример решения проблемы с дублями адресов:

  1. Скачайте обработку ПоискДублейАдресов с Infostart.
  2. Запустите её в режиме 1С:Предприятие.
  3. Выберите справочник (Контрагенты или ФизическиеЛица).
  4. Укажите поле для поиска дублей (Адрес).
  5. Запустите анализ и обработайте найденные дубли (объедините или исправьте).

Если адреса не обновляются при изменении в ФИАС:

  1. Проверьте, что в настройках конфигурации включено автоматическое обновление адресного классификатора.
  2. Вручную обновите классификатор через Администрирование → Обновление адресного классификатора.
  3. Если адреса всё равно не обновляются, выполните тестирование и исправление базы (Тестирование и исправление ИБ).
⚠️ Внимание: Если в вашей базе используется устаревший КЛАДР вместо ФИАС, то для миграции на новый классификатор потребуется специальная обработка. В некоторых случаях это может занять несколько часов (зависит от объёма данных). Перед миграцией сделайте резервную копию базы!

FAQ: Частые вопросы по адресам в 1С

🔹 Как узнать ГУИД справочника или реквизита для SQL-запроса?

Откройте конфигуратор, найдите нужный справочник (например, Контрагенты) и посмотрите его свойства. Вкладка Прочее содержит поле Уникальный идентификатор (это и есть ГУИД). Для реквизита Адрес откройте структуру справочника и найдите нужное поле — его ГУИД будет в свойствах.

🔹 Можно ли массово изменить адреса в 1С?

Да, для этого можно:

  1. Использовать обработку ГрупповоеИзменениеРеквизитов (доступна в 1С:ИТС).
  2. Написать собственный скрипт на встроенном языке с циклом по справочнику.
  3. Выгрузить данные в Excel, изменить адреса и загрузить обратно (например, через 1С:Предприятие 8. Утилиты для работы с данными).

Важно: перед массовым изменением сделайте резервную копию базы!

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

Это может происходить по нескольким причинам:

  • В шаблоне документа не прописано автоматическое заполнение поля Адрес.
  • В справочнике Контрагенты не заполнен адрес.
  • В документе переопределён адрес (например, указан адрес доставки, отличный от юридического).
  • Отключена настройка автозаполнения в параметрах учёта.

Проверьте настройки конкретного документа и справочника контрагента.

🔹 Как перенести адреса из одной базы 1С в другую?

Для переноса адресов между базами можно использовать:

  1. Выгрузку/загрузку через XML — стандартный механизм обмена данными в .
  2. Обработку "Универсальный обмен данными" (доступна в 1С:ИТС).
  3. Прямой SQL-экспорт/импорт — если базы на одном сервере.
  4. Специализированные обработки (например, ПереносАдресовМеждуБазами с Infostart).