Как программно получить юридический адрес контрагента в 1С:Бухгалтерия 3.0?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

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

Способ 1. Использование функции «СведенияОЮрФизЛице» (Специализированный механизм БП 3.0)

В конфигурациях на базе БП 3.0 существует встроенная функция общего модуля БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице. Она возвращает структуру, содержащую всю ключевую информацию о контрагенте или организации на указанную дату, в том числе и юридический адрес.

Проанализируем пример получения адреса контрагента:


// Получаем структуру сведений о контрагенте на дату документа
СведенияОКонтрагенте = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(СведенияОДокументе.Получатель, СведенияОДокументе.ДатаДокумента);

// Извлекаем текстовое представление юридического адреса
ЮридическийАдрес = СведенияОКонтрагенте.ЮридическийАдрес;

Если требуется сформировать полное текстовое представление организации или контрагента для печатной формы (включающее ИНН, банковские реквизиты, телефоны и адрес), разберем использование функции ОписаниеОрганизации из модуля ОбщегоНазначенияБПВызовСервера:


СведенияОКонтрагенте = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(СведенияОДокументе.Получатель, СведенияОДокументе.ДатаДокумента);

ПредставлениеПолучателя = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(
    СведенияОКонтрагенте, 
    "НаименованиеДляПечатныхФорм,ИНН,ЮридическийАдрес,Телефоны,НомерСчета,Банк,БИК,КоррСчет"
);

Способ 2. Использование подсистемы «Управление контактной информацией» (БСП)

Универсальным решением для всех конфигураций, использующих Библиотеку Стандартных Подсистем (БСП), является обращение к функциям модуля УправлениеКонтактнойИнформацией.

Рассмотрим вызов функции ПредставлениеКонтактнойИнформацииОбъекта, которая возвращает готовую строковую информацию по конкретному виду КИ:


ВидАдреса = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента;
ЮридическийАдрес = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформацииОбъекта(СсылкаНаКонтрагента, ВидАдреса, , ДатаДокумента);

В этот метод передаются следующие параметры:

  1. СсылкаИлиОбъект — ссылка на справочник Справочники.Контрагенты;
  2. ВидКонтактнойИнформации — элемент справочника ВидыКонтактнойИнформации (например, ЮрАдресКонтрагента);
  3. Разделитель — строка для объединения записей (по умолчанию используем запятую с пробелом);
  4. Дата — дата, на момент которой требуется получить адрес (для учета истории изменений).

Важные нюансы и рекомендации

Выясним возможные причины получения пустых или некорректных данных при работе с адресами:

  1. Учет периодичности (история изменений): Если для вида контактной информации включено хранение истории, адрес привязывается к дате. Обязательно передавайте параметр Дата (например, дату документа), чтобы получить адрес, действовавший на тот момент.
  2. Правильный вид КИ: Не путайте элементы справочника ВидыКонтактнойИнформации — юридический адрес контрагента (ЮрАдресКонтрагента) и юридический адрес организации (ЮридическийАдресОрганизации) представляют собой разные элементы.
  3. Чтение из табличных частей: Не рекомендуется обращаться к полям табличной части объектов или реквизитам напрямую через запросы. Данные контактной информации хранятся в структурированном виде (XML/JSON), поэтому считывание следует проводить строго через функции программного интерфейса БСП или конфигурации.
← На главную