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