Справочники и Данные · 11 мин
Как получить фактический адрес контрагента в 1С
Как в 1С найти и получить фактический адрес контрагента: через карточку, отчёты, запросы и программно. Примеры кода, ошибки и проверка результата.
Фактический адрес контрагента в 1С хранится не в отдельном поле карточки, а в табличной части «Контактная информация» справочника «Контрагенты». Из-за этого простого «получить значение» недостаточно: адрес нужно либо найти визуально в карточке, либо вывести отчётом, либо извлечь запросом или программным кодом с учётом вида контактной информации.
Задача встречается в трёх типовых сценариях: бухгалтеру нужно быстро посмотреть адрес для документов, менеджеру — выгрузить адреса списком, разработчику — получить адрес в коде для печатной формы или обмена. Ниже разобраны все три пути с конкретными действиями и примером кода для управляемых и обычных приложений.
Важный нюанс: в конфигурациях на БСП (УТ 11, ERP, БП 3.0, КА 2) контактная информация хранится в двух видах — «представление» (строка для показа) и «значения полей» (структурированные данные в формате XML или JSON). Для печати обычно достаточно представления, для обменов и проверки адреса по КЛАДР/ФИАС нужны значения полей.
Где хранится фактический адрес в структуре данных 1С
В типовых конфигурациях на базе Библиотеки стандартных подсистем (БСП) адреса, телефоны и e-mail контрагентов находятся в табличной части «КонтактнаяИнформация» объекта. Каждая строка этой табличной части содержит ссылку на вид контактной информации из справочника «Виды контактной информации». Фактическому адресу соответствует предопределённый вид «Фактический адрес контрагента» (в коде — Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента).
Юридический и фактический адреса — это разные виды, и они не дублируют друг друга автоматически. Частая ситуация: при загрузке контрагента по ИНН из сервисов ФНС заполняется только юридический адрес, а фактический остаётся пустым. Поэтому перед массовой выгрузкой адресов стоит проверить заполненность именно фактического адреса, а не предполагать, что он совпадает с юридическим.
Просмотр адреса в карточке контрагента
Самый быстрый способ для разового просмотра — открыть карточку контрагента. В конфигурациях «1С:Бухгалтерия 8» адреса отображаются прямо в форме контрагента в разделе «Адреса»: там отдельно показаны юридический и фактический адрес. Если фактический адрес не заполнен, рядом может быть ссылка «Совпадает с юридическим адресом» или пустое поле.
В «1С:Управление торговлей 11» и ERP контактная информация собрана в группе «Контактная информация» формы элемента: разверните её, найдите строку «Фактический адрес». Если строки нет вовсе — адрес не введён, и его нужно добавить через кнопку «Ещё» → «Добавить контактную информацию» или аналогичную команду формы.
Для редактирования адреса в типовых решениях используется форма ввода адреса с классификатором ФИАС/ГАР: поля заполняются последовательно от региона к дому. Если адрес введён вручную произвольной строкой без привязки к классификатору, он будет отображаться, но проверка и структурированная выгрузка могут работать некорректно.
Массовое получение адресов через отчёты и списки
Когда адрес нужен не для одного, а для сотен контрагентов, открывать карточки по одной нерационально. В типовых конфигурациях есть несколько способов вывести адреса списком без программирования.
Первый способ — универсальный отчёт. В «1С:Бухгалтерии 8» откройте «Отчёты» → «Универсальный отчёт», выберите справочник «Контрагенты», табличную часть «Контактная информация», добавьте отбор по виду контактной информации «Фактический адрес контрагента». В результате получите таблицу «Контрагент — Представление адреса», которую можно выгрузить в Excel или табличный документ.
Второй способ — настройка списка справочника. В некоторых конфигурациях в форме списка контрагентов через «Ещё» → «Изменить форму» или настройку списка можно вывести колонки контактной информации. Этот вариант зависит от конфигурации и версии, поэтому универсальный отчёт надёжнее.
- 1Откройте Универсальный отчёт (Отчёты → Универсальный отчёт)
- 2Выберите объект: Справочник «Контрагенты», табличная часть «КонтактнаяИнформация»
- 3Добавьте отбор: Вид контактной информации = «Фактический адрес контрагента»
- 4Сформируйте отчёт и проверьте, что колонка «Представление» содержит адреса
- 5Сохраните результат в файл нужного формата
Получение адреса запросом
Для разработчиков и продвинутых пользователей с консолью запросов адрес извлекается соединением с табличной частью. Типовой запрос выглядит так:
ВЫБРАТЬ
Контрагенты.Ссылка КАК Контрагент,
КонтрагентыКИ.Представление КАК ФактическийАдрес
ИЗ
Справочник.Контрагенты КАК Контрагенты
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКИ
ПО Контрагенты.Ссылка = КонтрагентыКИ.Ссылка
И КонтрагентыКИ.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента)Левое соединение важно: оно вернёт всех контрагентов, включая тех, у кого фактический адрес не заполнен — у таких строк поле «ФактическийАдрес» будет пустым. Если заменить соединение на внутреннее, контрагенты без адреса просто выпадут из выборки, и это исказит результат при сверке.
Обратите внимание: имя предопределённого элемента «ФактАдресКонтрагента» актуально для конфигураций на современных версиях БСП. В старых конфигурациях (например, УПП 1.3, УТ 10.3) используется регистр сведений «КонтактнаяИнформация» вместо табличной части, и запрос строится иначе — через этот регистр с отбором по виду и объекту.
Программное получение адреса в коде
В конфигурациях на БСП рекомендуемый способ — использовать программный интерфейс подсистемы контактной информации, а не прямой обход табличной части. Это защищает код от изменений структуры хранения в новых версиях библиотеки.
МассивВидов = Новый Массив;
МассивВидов.Добавить(Справочники.ВидыКонтактнойИнформации.ФактАдресКонтрагента);
ТаблицаКИ = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъектов(
Контрагент, Перечисления.ТипыКонтактнойИнформации.Адрес, МассивВидов);
Если ТаблицаКИ.Количество() > 0 Тогда
ФактическийАдрес = ТаблицаКИ[0].Представление;
КонецЕсли;Функция КонтактнаяИнформацияОбъектов возвращает таблицу с колонками «Представление» (строка адреса для печати) и «Значение» / «ЗначенияПолей» (структурированные данные). Для печатных форм берите «Представление». Для проверки адреса по классификатору или передачи в веб-сервисы используйте «Значение» — там адрес хранится в формате JSON, который разбирается функциями той же подсистемы.
Если код пишется под старую конфигурацию без БСП (УТ 10.3, УПП), обращайтесь к регистру сведений «КонтактнаяИнформация» напрямую через запрос или набор записей с отбором по полям «Объект» и «Вид».
Типичные ошибки и проверка результата
Самая распространённая ошибка — путаница между юридическим и фактическим адресом. В печатную форму попадает не тот адрес, потому что в коде или отчёте указан вид «ЮрАдресКонтрагента» вместо «ФактАдресКонтрагента». Проверяйте вид контактной информации в первую очередь, если результат «не тот».
Вторая ошибка — использование устаревшего представления. Если адрес менялся вручную в обход формы ввода адреса, строка представления и структурированные поля могут различаться. Признак проблемы: в карточке адрес выглядит правильно, а в выгрузке для ЭДО или проверке ФНС приходит старый или пустой.
Третья ошибка — игнорирование пустых значений при массовой обработке. Если выгружаете адреса для доставки или рассылки, добавьте в отчёт или обработку контроль: количество контрагентов с пустым фактическим адресом. Это позволит до выгрузки найти карточки, которые нужно дозаполнить.
Как проверить результат
Значения совпадают, адрес читается полностью от региона до квартиры
В отчёте пусто или адрес отличается от карточки — неверный вид КИ в отборе
Поле «Значение» заполнено, адрес разбирается по полям
Значение пустое при заполненном представлении — адрес введён произвольной строкой
Число строк результата равно числу контрагентов в отборе
Строк меньше — часть контрагентов потеряна из-за внутреннего соединения
Если фактический адрес не заполнен: что делать
Заполнить адрес вручную можно из карточки контрагента: откройте блок контактной информации, добавьте строку с видом «Фактический адрес» и введите адрес через форму ввода — она обеспечит корректную структуру данных. Если адрес совпадает с юридическим, в ряде конфигураций есть команда копирования адреса, либо можно ввести тот же адрес повторно.
Для массового заполнения используйте типовую обработку «Групповое изменение реквизитов» (в разделе «Администрирование» → «Обслуживание») с осторожностью: она умеет работать с контактной информацией, но изменения применяются ко всем отобранным элементам сразу. Сначала выполните изменение на одном-двух контрагентах и проверьте результат.
Альтернативный источник данных — загрузка контрагентов по ИНН. В конфигурациях с подключённым сервисом «1С:Контрагент» при заполнении по ИНН подтягивается адрес из ЕГРЮЛ/ЕГРИП, но это юридический адрес. Фактический адрес автоматически из госреестров не заполняется — его нужно вносить по данным договоров, писем или анкет контрагента.
Что важно запомнить
Фактический адрес хранится в табличной части «КонтактнаяИнформация» с видом «ФактАдресКонтрагента». Для просмотра используйте карточку или универсальный отчёт, для кода — функции БСП УправлениеКонтактнойИнформацией. Всегда проверяйте вид адреса (юридический/фактический) и полноту выборки, а перед массовыми изменениями делайте копию данных.
Частые вопросы
Чем фактический адрес отличается от юридического в 1С?
Это два разных предопределённых вида контактной информации. Юридический адрес — адрес регистрации из ЕГРЮЛ/ЕГРИП, фактический — адрес реального нахождения (офис, склад). Программа хранит их отдельными строками и не синхронизирует автоматически: изменение одного не меняет другой.
Почему в отчёте фактический адрес пуст, хотя в карточке он есть?
Чаще всего в отборе отчёта или запроса указан другой вид контактной информации — например, юридический адрес или адрес доставки. Проверьте, что в отборе стоит именно «Фактический адрес контрагента». Реже причина в том, что адрес заведён как отдельный пользовательский вид КИ, а не предопределённый.
Как получить адрес в виде отдельных полей: город, улица, дом?
Используйте поле «Значение» (или «ЗначенияПолей») контактной информации — там адрес хранится в структурированном виде. В коде на БСП его разбирают функции подсистемы «КонтактнаяИнформация», например РаботаСАдресами или УправлениеКонтактнойИнформацией, которые преобразуют JSON-значение в структуру с полями адреса.
Можно ли выгрузить фактические адреса всех контрагентов в Excel без программирования?
Да. Сформируйте универсальный отчёт по справочнику «Контрагенты» с табличной частью «Контактная информация» и отбором по виду «Фактический адрес контрагента», затем сохраните табличный документ в формате Excel через «Файл» → «Сохранить как».
Где искать адрес в старых конфигурациях (УТ 10.3, УПП 1.3)?
Там контактная информация хранится в регистре сведений «КонтактнаяИнформация» с измерениями «Объект» и «Вид». Запрос строится по этому регистру: отбор по объекту-контрагенту и виду «Фактический адрес контрагента», поле «Представление» содержит строку адреса.
Опасно ли менять адреса обработкой группового изменения?
Риск есть: обработка изменяет данные сразу у всех отобранных элементов, и откатить изменение штатными средствами нельзя. Перед запуском сделайте резервную копию или выгрузку базы, сначала протестируйте на одном контрагенте и убедитесь, что представление и структурированные поля адреса корректны.