Разработка и Конфигурация · 11 мин
Представление данных в 1С: что это и как работает
Что такое представление данных в 1С, как оно формируется, какие виды представлений существуют и как настроить отображение объектов, ссылок и полей.
Представление данных в 1С — это то, как информация из базы отображается пользователю в интерфейсе: в списках, формах документов, полях ввода и отчётах. Хранится в базе ссылка, уникальный идентификатор, число или дата, а на экране пользователь видит понятный текст: наименование контрагента, номер и дату документа, отформатированную сумму.
Понимание механизма представлений важно и пользователям, и разработчикам. От него зависит, какой текст подставится в поле при выборе элемента справочника, что отобразится в колонке динамического списка и как будет выглядеть ссылка на объект в отчёте. Неверно настроенное представление приводит к путанице: вместо «ООО Ромашка» пользователь видит пустую строку или непонятный набор символов.
Механизм представлений работает на нескольких уровнях: платформа формирует стандартное представление автоматически, а разработчик может переопределить его через свойства метаданных, обработчики событий и функции в коде. Ниже разберём все уровни по порядку — от автоматического поведения платформы до программной настройки.
Что такое представление объекта и ссылки
У любого объекта конфигурации — справочника, документа, плана счетов — есть данные, которые хранятся в базе, и есть представление, которое видит пользователь. Для ссылочных типов стандартное представление строится из ключевых реквизитов: у справочника это обычно наименование, у документа — вид документа, номер и дата, например «Поступление товаров 0000-000123 от 15.03.2026».
Представление ссылки формируется в момент обращения к ней: когда пользователь открывает список, выбирает значение в поле ввода или когда отчёт выводит ссылку на объект. Платформа при этом выполняет запрос к базе и получает нужные поля. Это важно понимать: представление — не хранимая строка, а результат вычисления, поэтому при переименовании элемента справочника его представление обновится везде автоматически.
Какие виды представлений существуют в платформе
В 1С различают несколько видов представлений, и их часто путают. Первый — представление объекта метаданных: синоним, который виден в интерфейсе (например, «Контрагенты» вместо имени «Контрагенты» в дереве конфигурации). Второй — представление ссылки на конкретный элемент данных. Третий — представление значения примитивного типа: даты, числа, булево, которые форматируются по правилам форматной строки.
Отдельно стоит представление в полях ввода и динамических списках. Поле ввода со ссылочным типом показывает представление выбранного значения, а динамический список — представления всех ссылок в колонках. В обоих случаях разработчик может вмешаться и изменить результат.
| Вид представления | Где отображается | Как формируется |
|---|---|---|
| Синоним метаданных | Заголовки форм, меню, панели разделов | Свойство «Синоним» в конфигураторе |
| Представление ссылки | Поля ввода, списки, отчёты | Автоматически или через обработчик |
| Представление примитивных типов | Таблицы, печатные формы, отчёты | Форматная строка, региональные настройки |
| Представление поля | Заголовки колонок и полей форм | Синоним реквизита или свойство «Заголовок» |
Как платформа формирует стандартное представление
Для каждого типа объектов у платформы есть правило по умолчанию. Справочники представляются наименованием, документы — строкой из вида, номера и даты, перечисления — синонимом значения, планы видов характеристик — наименованием. Это поведение зашито в платформу и работает без единой строки кода.
На формирование стандартного представления влияют свойства объекта метаданных. Например, у справочника можно изменить основное представление: в свойстве «Основное представление» выбрать «В виде кода» вместо «В виде наименования». Это полезно для справочников вроде валют или единиц измерения, где код информативнее. У документов представление всегда строится из номера и даты, но на отображение влияют настройки нумерации и длины номера.
Как переопределить представление через обработчики
Когда стандартного представления недостаточно, используют событие «ОбработкаПолученияПредставления» в модуле менеджера объекта. Оно вызывается каждый раз, когда платформе нужно показать ссылку. Внутри обработчика можно сформировать любой текст, например вывести наименование контрагента вместе с ИНН.
Обработчик получает параметры: данные объекта (поля, запрошенные платформой), само представление и флаг «СтандартнаяОбработка». Если установить «СтандартнаяОбработка = Ложь», платформа использует текст, который вы записали в параметр «Представление». Важно, чтобы в параметре «Данные» присутствовали нужные поля — их состав определяется настройкой «Поля представления», иначе придётся делать дополнительный запрос, что замедлит списки.
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Представление = Данные.Наименование + " (ИНН " + Данные.ИНН + ")";
КонецПроцедурыДополнительно существует событие «ОбработкаПолученияПолейПредставления» — оно определяет, какие поля платформа будет читать из базы для формирования представления. Если в представлении участвует ИНН, это поле нужно добавить в список полей именно здесь, иначе в «Данные.ИНН» окажется пустое значение.
- 1Откройте модуль менеджера справочника в конфигураторе
- 2Добавьте обработчик ОбработкаПолученияПолейПредставления и включите нужные поля в список
- 3Добавьте обработчик ОбработкаПолученияПредставления, установите СтандартнаяОбработка = Ложь
- 4Сформируйте текст представления из полей параметра Данные
- 5Обновите конфигурацию базы данных и проверьте список и поле ввода в режиме предприятия
Представление примитивных типов и форматные строки
Числа, даты и булевы значения форматируются иначе — через форматные строки. Функция «Формат()» и свойство «Формат» у полей формы принимают строку вида «ЧЦ=15; ЧДЦ=2» для чисел или «ДЛФ=D» для дат. Это позволяет показать сумму с разделителями разрядов, дату в длинном формате или пустую строку вместо нуля.
Форматная строка задаётся в нескольких местах: в свойствах элемента формы, в параметрах функции «Формат()» в коде, в настройках полей компоновки данных для отчётов. Приоритет у того формата, который задан ближе к отображению: настройка в схеме компоновки переопределит формат из запроса.
Частая задача — убрать ноль из пустых числовых полей в отчёте. Для этого в форматной строке достаточно указать параметр «ЧН=0» с пустым значением: Формат(Сумма, "ЧЦ=15; ЧДЦ=2; ЧН="). Ноль перестанет выводиться, а реальные суммы останутся отформатированными.
Представления в запросах и отчётах СКД
В запросах есть функция «ПРЕДСТАВЛЕНИЕ()», которая возвращает текстовое представление ссылки прямо на уровне запроса. Это удобно для выгрузок и отчётов, где нужна готовая строка. Однако функцию стоит применять осторожно: она порождает дополнительные обращения к таблицам и может замедлить выполнение на больших выборках. Если отчёт строится на СКД, лучше выводить ссылку как есть — платформа сама покажет представление в результате.
В схеме компоновки данных представление поля настраивается через оформление: можно задать формат, заголовок колонки и даже вычисляемое поле с собственным текстом. Для ссылочных полей СКД автоматически подставляет представления, поэтому в большинстве отчётов дополнительная настройка не требуется.
Типичные ошибки и ограничения механизма
Главная ошибка — выполнять запросы внутри обработчика получения представления. Обработчик вызывается для каждой строки списка, и лишний запрос на строку превращается в сотни обращений к базе. Правильный путь — добавить нужные поля через «ОбработкаПолученияПолейПредставления».
Вторая ошибка — путать представление и хранимое значение. Сохранять в реквизит строку-представление «чтобы потом искать по ней» — плохая практика: при переименовании элемента такая строка устареет. Хранить нужно ссылку, а представление получать при отображении.
Как проверить, что представление настроено правильно
После изменения обработчиков или форматных строк проверку делают в режиме предприятия. Откройте список объекта, поле ввода со ссылкой на него и отчёт, где объект выводится. Представление должно быть одинаково корректным во всех трёх местах. Проверьте также переименование: измените наименование элемента и убедитесь, что представление обновилось без перезахода.
Как проверить результат
Каждая строка показывает ожидаемый текст без пустых фрагментов
Пустые скобки, пропущенные поля, одинаковый текст у разных элементов
После выбора отображается полное представление выбранного элемента
В поле виден только код или пустая строка
Список открывается без заметной паузы
Список подвисает — вероятно, запрос внутри обработчика представления
Что важно запомнить
Представление данных в 1С — это вычисляемое отображение объектов и значений, а не хранимая строка. Стандартное представление платформа строит сама, своё — через обработчики модуля менеджера и форматные строки. Ключевые правила: не делать запросов в обработчике представления и хранить ссылки, а не их текст.
Частые вопросы о представлении данных в 1С
Чем представление отличается от синонима?
Синоним — это название объекта конфигурации или реквизита в интерфейсе (заголовок справочника, колонки). Представление — текст конкретного элемента данных: наименование контрагента, номер документа. Синоним один на объект метаданных, представлений — сколько элементов в базе.
Почему в поле ввода отображается пустая строка вместо наименования?
Чаще всего дело в обработчике «ОбработкаПолученияПредставления», который обращается к полю, не включённому в «ОбработкаПолученияПолейПредставления». Проверьте оба обработчика в модуле менеджера. Реже причина — битая ссылка, когда объект удалён, а ссылка на него осталась.
Можно ли изменить представление документа?
Да, тем же способом — через обработчики в модуле менеджера документа. Например, можно добавить к стандартному «вид, номер, дата» организацию или сумму. Учтите, что представление документа используется в нумерации связанных объектов и журналах, поэтому проверяйте результат во всех местах отображения.
Как вывести дату в нужном формате в отчёте?
Используйте форматную строку: в коде — Формат(Дата, "ДЛФ=DD"), в СКД — свойство «Формат» в настройках оформления поля. Доступны короткий, длинный и произвольный форматы, например «ДФ=dd.MM.yyyy».
Влияет ли переопределение представления на поиск?
Нет. Поиск по строке в поле ввода работает по полям, указанным в настройках поиска объекта (обычно код и наименование), а не по сформированному представлению. Если хотите, чтобы элемент находился по ИНН, добавьте ИНН в поля поиска в свойствах справочника.