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

Разработка и Конфигурация · 11 мин

Как изменить представление ссылки в 1С

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

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

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

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

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

Для ссылочных объектов (справочников, документов, планов счетов и других) платформа сама определяет, что показать пользователю. У справочника это обычно наименование, если длина наименования больше нуля, иначе код. У документа — строка вида «Реализация товаров 0000-000123 от 12.03.2026», собранная из синонима вида документа, номера и даты.

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

Если реквизиты, из которых строится представление, пустые или объект удалён, пользователь увидит служебные значения: пустую строку, надпись «<Объект не найден> (… )» с техническим идентификатором либо строку с уникальным идентификатором. Это типичный признак битой ссылки, а не ошибки представления.

Изменение представления через свойства объекта в конфигураторе

Самый простой способ — настроить свойства метаданных без единой строки кода. Откройте конфигуратор, найдите нужный объект (справочник, документ), вызовите палитру свойств и заполните поля «Представление объекта» и «Представление списка». Если поля пустые, используется синоним объекта.

Дополнительно на представление влияет настройка «Основное представление» у справочников и планов: можно выбрать, что показывать — код или наименование. Это свойство доступно в палитре свойств объекта и влияет на все места, где выводится ссылка без явного переопределения.

Ограничение способа очевидно: свойства задают статичные подписи и выбор между кодом и наименованием. Скомпоновать представление из нескольких реквизитов (например, «Наименование + Артикул») через свойства нельзя — для этого нужен программный механизм.

Переопределение представления в модуле менеджера объекта

Глобальная программная настройка выполняется в модуле менеджера объекта через обработчик ОбработкаПолученияПредставления. Платформа вызывает его каждый раз, когда нужно показать ссылку: в списках, полях ввода, отчётах СКД, сообщениях. Внутри обработчика вы формируете строку и устанавливаете признак СтандартнаяОбработка = Ложь.

Типовой шаблон выглядит так: в параметре Данные доступна структура с полями объекта (набор полей зависит от настроек и контекста), в параметр Представление записывается итоговая строка. Если требуемого реквизита в Данные нет, придётся делать запрос к базе по ссылке — это замедляет отображение больших списков.

bsl
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    Представление = Строка(Данные.Наименование) + " (" + Строка(Данные.Артикул) + ")";
КонецПроцедуры

Чтобы нужные реквизиты попадали в параметр Данные без лишнего запроса, их следует добавить в свойство объекта «Поля представления» (доступно в палитре свойств). Тогда платформа сама включит их в выборку при формировании представления, и обращений к базе из обработчика не потребуется.

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

Точечное изменение представления в конкретном месте

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

В запросах аналогичную задачу решает оператор ПРЕДСТАВЛЕНИЕ(Поле) — он возвращает представление ссылки прямо в результате запроса, что удобно для отчётов и консолей. Помните, что ПРЕДСТАВЛЕНИЕ не участвует в индексах и не подходит для условий отбора — только для вывода.

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

Сравнение способов

Свойства метаданных

Подходит для смены подписей и выбора код/наименование. Не позволяет комбинировать реквизиты.

ОбработкаПолученияПредставления

Глобальное переопределение для всего объекта. Требует аккуратности с производительностью.

ПолучитьПредставлениеСсылки / ручная строка

Точечное решение для кода, печатных форм и сообщений. Не влияет на списки и поля ввода.

ПРЕДСТАВЛЕНИЕ в запросе

Удобно для отчётов и выборок. Нельзя использовать в условиях и соединениях.

Особые случаи: битые ссылки и внешние источники

Надпись «Объект не найден» с идентификатором означает, что ссылка указывает на удалённый или несуществующий объект. Изменить её представление штатными настройками нельзя — правильное решение: найти и заменить битые ссылки обработкой или удалить их. Проверить ссылку программно можно через Ссылка.ПолучитьОбъект() = Неопределено или запросом по ссылке.

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

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

Типичные ошибки
01
Запрос к базе внутри ОбработкаПолученияПредставления без настройки полей представления — формы списка начинают тормозить.
02
Попытка «исправить» надпись Объект не найден настройкой представления вместо устранения битой ссылки.
03
Использование ПРЕДСТАВЛЕНИЕ() в условиях запроса — условие не работает или работает не так, как ожидалось.
04
Доработка типовой конфигурации без проверки режима поддержки — сложности при обновлении.
05
Изменение только синонима вместо свойств представления — часть надписей остаётся прежней.

Проверка результата после изменений

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

Проверьте также поле ввода с выбором из списка: при вводе части строки подстановка должна работать по новому представлению. Если подстановка «не видит» значения по добавленному реквизиту (например, по артикулу), настройте поиск по строке для объекта — это отдельное свойство, не связанное с представлением напрямую.

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

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

Форма списка объекта
Норма

Колонка показывает новый текст, список открывается без задержек

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

Старый текст или заметные паузы при прокрутке

Ссылка как реквизит документа
Норма

В поле вывода отображается новый формат

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

Отображается старое представление — обновите форму или перезапустите сеанс

Отчёт на СКД
Норма

Представление соответствует обработчику

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

Нужно явно использовать ПРЕДСТАВЛЕНИЕ в запросе набора данных

Производительность
Норма

Открытие списка занимает привычное время

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

Рост времени открытия — вероятен запрос в обработчике представления

Часто задаваемые вопросы

Можно ли изменить представление ссылки без доступа к конфигуратору?

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

Почему после изменения обработчика представление не поменялось?

Чаще всего не обновлена конфигурация базы данных или форма была открыта до изменений и закэшировала старые данные. Закройте и заново откройте форму, при необходимости перезапустите сеанс. Также проверьте, что установлено СтандартнаяОбработка = Ложь — без этого платформа игнорирует ваш текст.

Как вывести в представлении реквизит, которого нет в параметре Данные?

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

Изменится ли представление в уже сформированных печатных формах и файлах?

Нет. В сформированных документах Excel, PDF и печатных формах текст зафиксирован на момент вывода. Новое представление появится только при повторном формировании. Сами данные в базе при смене представления не изменяются — меняется лишь отображение.

Что делать с представлением вида «Объект не найден»?

Это не проблема представления, а битая ссылка: объект удалён или база повреждена при обмене. Найдите записи с такими ссылками запросом или типовой обработкой поиска и удаления битых ссылок, затем замените их корректными значениями либо очистите. Маскировать надпись настройками представления не следует.

Влияет ли изменение представления на обмен данными и синхронизацию?

Нет, если обмен идёт по ссылкам и уникальным идентификаторам — представление в синхронизации не участвует. Различия в отображении между базами возможны, если в них разные настройки представления, но на корректность обмена это не влияет. Осторожность нужна только при обмене текстовыми представлениями через файлы.

Итог

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

Представление ссылки в 1С меняется либо свойствами объекта в конфигураторе, либо обработчиком ОбработкаПолученияПредставления в модуле менеджера, либо точечно в коде и запросах. Перед запросами в обработчике настройте поля представления, а надпись «Объект не найден» устраняйте как битую ссылку, а не как проблему отображения.