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

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

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

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

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

Механизм един для большинства типовых конфигураций на управляемых формах: Бухгалтерия предприятия 3.0, Управление торговлей 11, ERP, Комплексная автоматизация, Зарплата и управление персоналом. Знание того, где физически лежат данные, нужно при написании запросов, настройке обменов, доработке печатных форм и массовой загрузке контактов.

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

Где контактная информация отображается в интерфейсе

В карточке контрагента контактные данные находятся в отдельном блоке «Контактная информация». В зависимости от конфигурации он может быть свёрнут в группу или вынесен на отдельную закладку. Обычно там отображаются юридический адрес, фактический адрес, почтовый адрес, телефон, email и веб-сайт.

Чтобы добавить новый вид контакта, нажмите «Ещё» в блоке контактной информации или используйте команду добавления строки рядом с существующими полями. Программа предложит выбрать вид из предопределённого списка: адреса, телефоны, адреса электронной почты, страницы в интернете, факсы, Skype и другие.

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

Как устроено хранение в управляемых конфигурациях

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

Основные поля строки табличной части:

  • Тип — перечисление «ТипыКонтактнойИнформации» (адрес, телефон, email, веб-страница и т.д.);
  • Вид — ссылка на предопределённый элемент справочника «ВидыКонтактнойИнформации» (например, «Юр. адрес контрагента», «Телефон контрагента»);
  • Представление — строка, как контакт выглядит для пользователя («101000, г. Москва, ул. Примерная, д. 1»);
  • Значение — структурированные данные в формате JSON (в новых версиях) или XML (в старых);
  • ЗначенияПолей — служебное поле с разбором адреса по полям (в новых версиях заменено на «Значение»);
  • Дополнительные поля: страна, регион, город, номер телефона, адрес электронной почты и др. — для быстрого поиска без разбора JSON.

Ключевой момент: поле «Представление» — это только текст для отображения. Реальные структурированные данные лежат в поле «Значение» (JSON) или «ЗначенияПолей» (XML). Если править данные напрямую в базе, менять нужно оба поля согласованно, иначе в отчётах и печатных формах появятся расхождения.

Хранение в старых конфигурациях на обычных формах

В конфигурациях предыдущего поколения (Управление торговлей 10.3, Управление производственным предприятием 1.3, Бухгалтерия 2.0) контактная информация хранится иначе — в регистре сведений «КонтактнаяИнформация». Измерение регистра — «Объект» (ссылка на контрагента, организацию, физлицо), ресурсы — тип, вид, представление и поля адреса.

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

Сравнение вариантов хранения

Табличная часть справочника (новые конфигурации)

БП 3.0, УТ 11, ERP, КА 2. Данные хранятся вместе с объектом, переносятся типовыми обменами без дополнительной настройки. Запрос — через Контрагенты.КонтактнаяИнформация.

Регистр сведений (старые конфигурации)

УТ 10.3, УПП 1.3, БП 2.0. Данные отделены от объекта, соединение по ссылке. При обмене между конфигурациями разных поколений требуется проверка правил конвертации.

Как найти контактную информацию программно

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

Типовые вызовы:

  • УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(Ссылка, ТипИлиВид, Дата) — возвращает таблицу контактов объекта;
  • УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформацииОбъекта(...) — строка-представление нужного вида;
  • УправлениеКонтактнойИнформацией.КонтактнаяИнформацияПоПредставлению(...) — обратный разбор строки в структуру.

Прямой запрос к табличной части тоже работает, если нужна массовая выборка:

bsl
ВЫБРАТЬ
	КонтрагентыКИ.Ссылка КАК Контрагент,
	КонтрагентыКИ.Вид КАК Вид,
	КонтрагентыКИ.Представление КАК Представление
ИЗ
	Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКИ
ГДЕ
	КонтрагентыКИ.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты)

Для старых конфигураций запрос строится по регистру сведений «КонтактнаяИнформация» с отбором по измерению «Объект». Учтите, что один объект может иметь несколько строк одного вида — например, два телефона, — поэтому при соединениях возможно задвоение строк в результате.

Где настраиваются виды контактной информации

Список доступных видов контактов хранится в справочнике «Виды контактной информации» (Администрирование → Общие настройки, либо раздел настроек контактной информации — расположение зависит от конфигурации). Здесь можно добавить собственный вид, например «Адрес доставки» или «Мессенджер».

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

В конфигурациях с разделением «Партнёры» и «Контрагенты» (УТ 11, ERP) контактная информация может вестись у обоих объектов. Телефоны и адреса, введённые у партнёра, не появятся автоматически у связанных контрагентов — это частая причина «пропавших» контактов в документах.

Контактная информация в документах и печатных формах

В документах (счета, реализации, заказы) адреса и телефоны обычно не хранятся как самостоятельные реквизиты документа, а подставляются из карточки контрагента в момент формирования печатной формы. Поэтому изменение адреса контрагента сегодня изменит адрес и в печатной форме старого документа при её повторном выводе.

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

Типовые ошибки и способы их проверки

На практике чаще всего встречаются следующие проблемы с контактной информацией контрагентов.

Типичные ошибки
01
Поиск адреса в реквизитах справочника: реквизита «Адрес» у контрагента нет, данные лежат в табличной части «КонтактнаяИнформация» — запрос по реквизитам вернёт пустой результат.
02
Заполнение только поля «Представление» при программной загрузке: структурированные поля остаются пустыми, адрес не проходит проверку и не попадает в отчёты с разбором по регионам.
03
Ввод контактов у партнёра вместо контрагента в УТ 11/ERP: в документах по контрагенту контакты не подставляются.
04
Дублирование видов: пользователи создают «Телефон 2», «Телефон новый» вместо добавления второй строки того же вида — отчёты и обмены начинают работать непредсказуемо.
05
Ожидание, что старый документ сохранит старый адрес: печатная форма берёт актуальный адрес из карточки, а не исторический.
Контрольные точки

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

Открытие карточки контрагента
Норма

Блок контактной информации открывается без ошибок, адреса отображаются полностью

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

Ошибка чтения JSON/XML или пустой блок при заполненных данных — признак рассинхронизации полей

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

Количество строк совпадает с числом контактов в карточке

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

Строк больше или меньше — есть скрытые дубли или потерянные данные

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

Адрес и телефон подставляются из карточки контрагента

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

Пустые поля — контакты введены у партнёра или у другого объекта

Массовая загрузка и обмен контактной информацией

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

При обменах между конфигурациями (например, УТ ↔ БП) контактная информация переносится типовыми правилами, но переносятся только виды, сопоставленные в правилах обмена. Если в одной базе создан пользовательский вид контакта, в другой базе он появится только при наличии соответствующего вида и корректной настройки синхронизации.

Порядок безопасной массовой загрузки контактов
  1. 1
    Сделайте резервную копию базы или выгрузку DT.
  2. 2
    Проверьте на одном контрагенте, что типовая обработка загрузки корректно заполняет нужный вид контакта.
  3. 3
    Загрузите небольшую партию (10–20 контрагентов) и сверьте результат запросом по табличной части.
  4. 4
    Проверьте печатную форму документа по загруженному контрагенту.
  5. 5
    Только после этого загружайте основной массив данных.
Итог

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

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

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

Почему в запросе по справочнику «Контрагенты» нет поля «Адрес»?

Потому что адрес — не реквизит справочника. Он хранится в табличной части «КонтактнаяИнформация» (или в регистре сведений в старых конфигурациях). В запросе обращайтесь к «Справочник.Контрагенты.КонтактнаяИнформация» и фильтруйте по виду «Юридический адрес» или «Фактический адрес».

Как получить адрес контрагента в СКД для отчёта?

Добавьте в набор данных запрос с левым соединением к табличной части «КонтактнаяИнформация» по ссылке контрагента и отбором по нужному виду. Чтобы избежать задвоения строк при нескольких контактах одного вида, группируйте или ограничивайте выборку.

Почему после загрузки адресов из Excel они не проходят проверку ФИАС?

При загрузке было заполнено только поле «Представление» без структурированного разбора адреса. Загружайте адреса через типовую обработку с сопоставлением полей адреса (регион, город, улица) или после загрузки откройте адрес в карточке и выполните проверку по классификатору.

Куда пропали телефоны контрагентов после обновления конфигурации?

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

Можно ли хранить несколько телефонов у одного контрагента?

Да. Добавьте несколько строк одного вида «Телефон контрагента» в блоке контактной информации. Создавать отдельные виды «Телефон 2», «Телефон 3» не нужно — это усложняет отчёты и обмены.

Чем отличается контактная информация партнёра и контрагента в УТ 11?

Это независимые наборы данных у разных объектов. Контакты партнёра используются в CRM-процессах и соглашениях, контакты контрагента — в документах и печатных формах. Автоматической синхронизации между ними нет, поэтому данные нужно вводить у того объекта, где они будут использоваться.