Разработка и Конфигурация · 9 мин
Как изменить представление объекта в 1С
Способы изменить представление объекта в 1С: настройка полей синонима, длины кода и наименования, обработчик ПолучитьПредставление, переопределение в коде.
Представление объекта — это текст, который пользователь видит в списках, полях ввода, отчётах и ссылках: наименование товара, ФИО сотрудника, номер и дата документа. В 1С оно формируется автоматически из стандартных реквизитов, но часто этого недостаточно: бухгалтер хочет видеть контрагента с ИНН, склад — номенклатуру с артикулом, а руководитель — документ с суммой. Изменить представление можно несколькими способами — от простой настройки синонимов до программной обработки через обработчики событий.
Выбор способа зависит от того, что именно нужно изменить: подпись объекта в интерфейсе, состав полей, из которых строится строка-ссылка, или логику формирования представления для конкретного объекта. Ниже разобраны все рабочие варианты для управляемых форм (1С:Предприятие 8.3) с примерами кода и ограничениями каждого подхода.
Что именно формирует представление объекта
По умолчанию платформа строит представление из стандартных реквизитов. Для справочника это наименование (или код, если задана длина наименования равная нулю), для документа — номер и дата в формате «Поступление товаров 0001 от 12.05.2026». Для планов счетов — код и наименование, для перечислений — синоним значения.
Важно различать два понятия: синоним — это подпись объекта метаданных в интерфейсе (например, «Товары» вместо «Номенклатура»), а представление ссылки — строка, идентифицирующая конкретный элемент. Путать их — частая причина того, что разработчик меняет не то свойство и не видит результата.
Изменение синонима и настроек в конфигураторе
Самый простой уровень — свойства объекта метаданных. Откройте конфигуратор, найдите нужный справочник или документ и в палитре свойств измените Синоним — именно эта подпись появится в меню, заголовках форм и командном интерфейсе. Поле Представление объекта задаёт, как называется один элемент («Товар»), а Расширенное представление объекта и Представление списка управляют заголовками форм элемента и списка.
Для документов также доступны Представление списка и настройка нумерации. Если нужно, чтобы в списке документ выглядел иначе, чем стандартная связка «номер от даты», без кода это не сделать — потребуется обработчик, описанный ниже.
Помните: изменение синонима в типовой конфигурации на поддержке затруднит обновление. В таких случаях правильнее использовать расширение конфигурации — синонимы и обработчики можно переопределить там.
Переопределение представления через модуль менеджера
Основной программный способ — обработчик ОбработкаПолученияПредставления в модуле менеджера объекта. Он вызывается каждый раз, когда платформе нужна строка представления ссылки: в полях ввода, списках, отчётах СКД. Чтобы обработчик сработал, в палитре свойств объекта должно быть снято (или установлено — в зависимости от версии платформы) соответствующее разрешение; в современных версиях достаточно просто объявить процедуру.
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Представление = Строка(Данные.Артикул) + " | " + Данные.Наименование;
КонецПроцедуры
Установка СтандартнаяОбработка = Ложь обязательна — иначе платформа проигнорирует вашу строку и построит представление сама. Параметр Данные содержит структуру с полями объекта, поэтому обращайтесь только к тем полям, которые реально есть в выборке: обращение к несуществующему полю вызовет ошибку в каждом списке.
ОбработкаПолученияПолейПредставления: зачем нужен второй обработчик
Если в представлении вы используете нестандартные реквизиты (артикул, ИНН, сумму), платформа должна заранее включить их в запрос к базе. Для этого служит обработчик ОбработкаПолученияПолейПредставления в том же модуле менеджера:
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Поля.Добавить("Наименование");
Поля.Добавить("Артикул");
КонецПроцедуры
Без этого обработчика в параметре Данные первого обработчика окажутся только стандартные поля, и попытка прочитать Данные.Артикул даст пустое значение или ошибку. Оба обработчика работают в паре: сначала объявляете нужные поля, затем собираете из них строку.
- 1Откройте конфигуратор и найдите нужный объект метаданных
- 2Откройте модуль менеджера объекта
- 3Добавьте ОбработкаПолученияПолейПредставления со списком нужных полей
- 4Добавьте ОбработкаПолученияПредставления со сборкой строки
- 5Обновите конфигурацию базы данных (F7)
- 6Откройте список объекта в режиме Предприятие и проверьте строки, поле ввода и отчёт
Изменение представления в форме и в коде
Если переопределять представление глобально не нужно, а требуется изменить его только в одном месте, есть локальные варианты. В форме списка динамического списка можно изменить запрос: добавить вычисляемое поле и вывести его в таблицу вместо стандартного представления. Это не влияет на остальную систему.
Для разового получения строки в коде используйте функцию Строка(Ссылка) — она вернёт представление с учётом переопределённых обработчиков. Если нужно собрать представление вручную, просто склейте нужные реквизиты через оператор «+» или СтрШаблон. Для поля ввода на форме доступно событие ФормированиеПредставления (в расширенных сценариях через переопределение обработчиков поля).
Расширение конфигурации для типовых решений
В типовых конфигурациях (Бухгалтерия, Управление торговлей, ERP) прямое изменение модулей снимает объекты с поддержки и усложняет обновления. Правильный путь — создать расширение конфигурации, заимствовать нужный объект и добавить обработчики ОбработкаПолученияПредставления с аннотацией &После или &Вместо.
Учтите ограничение: обработчики получения представления в расширениях поддерживаются не во всех версиях платформы и режимах совместимости. Перед разработкой проверьте на тестовой копии, что обработчик из расширения реально вызывается — это видно по изменившимся строкам в списке.
Сравнение вариантов
Подходит для смены подписей в интерфейсе. Не меняет строку ссылки конкретного элемента.
Полный контроль над представлением ссылки во всей системе. Требует доступа к конфигуратору и осторожности с производительностью.
Локальное решение для одного списка. Не влияет на поля ввода и отчёты.
Единственный безопасный путь для типовых на поддержке. Имеет ограничения по версиям платформы.
Проверка результата и типичные ошибки
После изменений проверьте представление во всех местах, где оно видно: динамический список, поле ввода с выбором из списка, отчёт СКД, печатная форма, строка сообщения об ошибке. Представление кэшируется в тонком клиенте — иногда требуется перезапуск сеанса, чтобы увидеть новую строку.
Ограничения и границы безопасной работы
Представление не должно быть слишком длинным: в полях ввода и колонках списков длинные строки обрезаются, и смысл теряется. Не включайте в представление часто меняющиеся данные (остатки, цены) — они будут показываться на момент чтения и вводить пользователя в заблуждение.
Перед изменением рабочей базы сделайте выгрузку (dt) или работайте на копии. Изменение представления не трогает данные, но ошибка в обработчике может сделать нечитаемыми списки по всей системе, пока вы не откатите конфигурацию.
Что важно запомнить
Подпись объекта меняется синонимом, строка ссылки — обработчиками ОбработкаПолученияПредставления и ОбработкаПолученияПолейПредставления в модуле менеджера. Для типовых конфигураций используйте расширение, избегайте запросов внутри обработчика и проверяйте результат во всех местах отображения.
Частые вопросы
Изменил синоним, но в списке ничего не поменялось. Почему?
Синоним меняет только подписи в меню и заголовках форм. Строка, которой представлен конкретный элемент списка, формируется из стандартных реквизитов или обработчиком ОбработкаПолученияПредставления — его и нужно переопределять.
Обработчик написан, но поле Артикул в Данных пустое. Что не так?
Платформа включает в выборку только стандартные поля и те, что перечислены в ОбработкаПолученияПолейПредставления. Добавьте туда строку Поля.Добавить("Артикул") и обновите конфигурацию базы данных.
Можно ли изменить представление без конфигуратора?
Нет. В режиме Предприятия пользователь может изменить лишь наименование конкретного элемента. Любая смена правил формирования представления требует доработки конфигурации или расширения.
Почему после доработки списки стали открываться медленно?
Скорее всего, внутри обработчика есть обращение к базе: запрос или чтение реквизита через ссылку. Обработчик вызывается для каждой строки, поэтому любое обращение к СУБД умножается на число строк. Оставьте только работу с полями параметра Данные.
Сработает ли обработчик в отчётах на СКД?
Да, если в отчёте выводится поле ссылки — СКД запрашивает представление через тот же механизм. Если отчёт показывает старую строку, проверьте, что переопределены оба обработчика и сеанс перезапущен.
Как изменить представление в типовой конфигурации, не снимая её с поддержки?
Создайте расширение конфигурации, заимствуйте объект и добавьте обработчики с аннотацией &Вместо. Предварительно проверьте на копии базы, что ваша версия платформы поддерживает эти обработчики в расширениях.