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

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

Как получить адрес организации в 1С

Как получить адрес организации в 1С: через интерфейс карточки, контактную информацию, запрос и программный код. Примеры запросов, функций и типичные ошибки.

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

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

Где в 1С хранится адрес организации

В типовых конфигурациях (БП 3.0, УТ 11, ERP, ЗУП) контактные данные вынесены в отдельный механизм. У справочника «Организации» есть табличная часть «КонтактнаяИнформация», где каждая строка содержит вид контактной информации, представление (текстовое отображение адреса) и служебные поля со структурированными значениями.

Основные предопределённые виды, которые нужны для организации:

  • ЮрАдресОрганизации — юридический адрес, используется в отчётности и договорах;
  • ФактАдресОрганизации — фактический адрес;
  • ПочтовыйАдресОрганизации — адрес для корреспонденции;
  • ТелефонОрганизации, EmailОрганизации — контактные данные связи.

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

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

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

Порядок действий в интерфейсе
  1. 1
    Откройте раздел «Главное» → «Реквизиты организации» (в БП 3.0) или «НСИ и администрирование» → «Организации» (в УТ/ERP).
  2. 2
    Откройте карточку нужной организации двойным щелчком.
  3. 3
    Найдите блок «Адреса, телефоны» или вкладку «Контактная информация».
  4. 4
    Проверьте значения полей «Юридический адрес» и «Фактический адрес».
  5. 5
    Если адрес пустой — нажмите на поле и введите адрес по классификатору ФИАС/КЛАДР.

В конфигурации «1С:Бухгалтерия 8» юридический адрес редактируется прямо в форме организации, и именно он подставляется в счета, акты и налоговую отчётность. Если в документах выводится устаревший адрес — почти всегда причина в том, что в карточке организации не обновили это поле.

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

Как получить адрес запросом

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

ВЫБРАТЬ

Организации.Ссылка КАК Организация,

ОрганизацииКИ.Представление КАК ЮридическийАдрес

ИЗ

Справочник.Организации КАК Организации

ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКИ

ПО Организации.Ссылка = ОрганизацииКИ.Ссылка

И ОрганизацииКИ.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресОрганизации)

ГДЕ

Организации.Ссылка = &Организация

Ключевой момент — отбор по виду контактной информации. Если убрать условие по виду, запрос вернёт все контакты организации (телефоны, email, адреса) вперемешку, и в отчёт попадёт не то значение.

Если нужны и юридический, и фактический адрес одновременно, добавьте второе соединение с другим видом. Условие вида можно задавать не только предопределённым элементом, но и параметром — это удобно в универсальных отчётах.

Как получить адрес программно (код)

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

// Получить юридический адрес организации

ВидыКИ = Новый Массив;

ВидыКИ.Добавить(Справочники.ВидыКонтактнойИнформации.ЮрАдресОрганизации);

ТаблицаКИ = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъектов(

Организация, , ВидыКИ, ТекущаяДатаСеанса());

Если ТаблицаКИ.Количество() > 0 Тогда

ЮрАдрес = ТаблицаКИ[0].Представление;

КонецЕсли;

В старых конфигурациях (УПП 1.3, БП 2.0, ранние редакции УТ 10) используется другой механизм — регистр сведений «КонтактнаяИнформация» и функция «ПолучитьАдресИзКонтактнойИнформации» либо прямой запрос к регистру с отбором по типу «Адрес» и виду. Там табличной части в справочнике нет, поэтому код из примера выше не сработает.

Для печатных форм в типовых решениях часто есть ещё более высокоуровневые функции — например, «СведенияОЮрФизЛице» в БП возвращают структуру, где уже есть юридический и фактический адрес. Перед написанием собственного кода проверьте, нет ли в конфигурации готовой функции получения сведений об организации — это сэкономит время и снизит риск ошибок при обновлении.

Сравнение способов получения адреса

Интерфейс карточки

Подходит для разового просмотра и проверки. Не работает для массовой выгрузки и отчётов.

Запрос к табличной части

Оптимален для отчётов и СКД. Требует точного указания вида контактной информации.

Функции БСП

Универсально и устойчиво к изменениям структуры, но работает только в конфигурациях на базе БСП.

Готовые функции сведений

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

Как вывести адрес в печатную форму или отчёт

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

Если печатная форма строится на СКД (система компоновки данных), адрес добавляют прямо в запрос набора данных соединением с табличной частью «КонтактнаяИнформация», как показано выше. В макете поле выводится как обычный ресурс или параметр.

Частая задача — вывести адрес «одной строкой» с префиксом, например «Юр. адрес: …». Делайте это в макете или при присвоении параметра, а не изменением данных в базе: представление в базе должно оставаться чистым адресом.

Если в печатной форме адрес нужен с индексом и полным форматированием, а в базе хранится сокращённое представление, проверьте настройки ввода адреса: при вводе через классификатор ФИАС представление формируется полнее, чем при ручном наборе текстом.
ПЗ
Практическое замечание

Типичные ошибки и ограничения

Типичные ошибки
01
Обращение к несуществующему реквизиту Организация.Адрес — в типовых конфигурациях такого реквизита нет, код выдаст ошибку.
02
Запрос без отбора по виду КИ — в результат попадают телефоны и email вместо адреса.
03
Использование имени вида из другой конфигурации — предопределённые имена различаются, запрос падает или возвращает пустоту.
04
Игнорирование даты при историчных адресах — в отчёт за прошлый период попадает текущий адрес.
05
Редактирование адреса вручную текстом вместо классификатора — ломается автозаполнение в отчётности и ЭДО.

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

При доработке типовых конфигураций не добавляйте собственный реквизит «Адрес» в справочник организаций без крайней необходимости — это создаст дублирование данных: адрес в карточке и адрес в контактной информации будут расходиться, и печатные формы начнут выводить разные значения.

Как проверить, что адрес получен правильно

Контрольные точки

Как проверить результат

Сравнение с карточкой
Норма

Адрес из запроса/кода совпадает с полем в карточке организации

Тревожный признак

Значения различаются — вероятно, выбран не тот вид КИ

Тип адреса
Норма

Возвращается именно юридический (или требуемый) адрес

Тревожный признак

Подставляется телефон, email или фактический адрес

Пустые значения
Норма

Для организации без адреса возвращается пустая строка без ошибки

Тревожный признак

Код падает с исключением на объектах без КИ

Печатная форма
Норма

В сформированном документе адрес отображается полностью

Тревожный признак

Адрес обрезан, пуст или содержит служебные символы

Быстрый способ проверки — универсальный отчёт или консоль запросов: выполните запрос по конкретной организации и сверьте представление с тем, что видно в карточке. Если в карточке адрес есть, а запрос возвращает пустоту — проверьте, заполнен ли именно тот вид КИ, который указан в отборе (например, заполнен фактический, а запрашивается юридический).

Итог

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

Адрес организации в типовых 1С хранится в табличной части «КонтактнаяИнформация», а не в реквизите справочника. Получают его через интерфейс карточки, запрос с отбором по виду КИ (ЮрАдресОрганизации, ФактАдресОрганизации) или функции модуля УправлениеКонтактнойИнформацией. Главные ошибки — отсутствие отбора по виду и использование имён видов из другой конфигурации.

Частые вопросы

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

Скорее всего, в карточке заполнен другой вид — например, фактический адрес, а юридический пуст. Откройте карточку организации и проверьте каждое поле адреса отдельно. Также убедитесь, что имя предопределённого вида в вашей конфигурации совпадает с указанным в запросе.

Как получить адрес организации в 1С:Бухгалтерии 2.0 или УПП 1.3?

В старых конфигурациях контактная информация хранится в регистре сведений «КонтактнаяИнформация», а не в табличной части. Запрос строится к этому регистру с отборами: Объект = &Организация, Тип = Перечисление.ТипыКонтактнойИнформации.Адрес, Вид = нужный вид адреса.

Можно ли получить адрес по частям: отдельно город, улицу, дом?

Да. В полях значений контактной информации адрес хранится в структурированном виде (XML или JSON). Для разбора используются функции работы с контактной информацией БСП, которые возвращают структуру с полями адреса. Самостоятельный разбор строки представления запятыми ненадёжен.

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

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

Адрес в печатной форме устарел, хотя в карточке новый. В чём причина?

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

Можно ли добавить свой реквизит «Адрес» в справочник организаций?

Технически можно, но делать это не рекомендуется: появится дублирование с контактной информацией, значения начнут расходиться, а типовые печатные формы и отчётность всё равно будут брать адрес из подсистемы КИ. Если нужен дополнительный адрес — добавьте новый вид контактной информации.