Синтаксис и применение ИмяПредопределенныхДанных в платформе 1С:Предприятие. Описание и примеры кода.
Полное описание, параметры и ограничения
ИмяПредопределенныхДанных (PredefinedDataName)
ИмяПредопределенныхДанных (PredefinedDataName)
Тип: Строка.
Содержит имя предопределенных данных, связанных с элементом справочника.
Внимание! Данное поле имеет особенности сортировки. При использовании в отборе допустимо указывать только корректное имя предопределенных данных, используемое в конфигурации, или пустую строку. Данное поле не может быть использовано в соединении таблиц.
Если имя предопределенных данных указано некорректно, будет вызвано исключение.
Методическая информация
Практические примеры
Прочитать иерархический справочник и его владельца
На собственном подчинённом справочнике видны ссылка, код, родитель, группа, владелец и созданные реквизиты.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте справочник УчебныеВладельцы и иерархический справочник УчебныйКаталог: иерархия групп и элементов, владелец УчебныеВладельцы, использование подчинения Для групп и элементов.
В УчебныйКаталог добавьте Цена (Число 15.2), использование реквизита Для групп и элементов. Код — Строка 10 с автонумерацией, Наименование — Строка 100.
В отдельной учебной конфигурации создайте общий реквизит УчебныйИсточник типа Строка 20. Разделение данных — Не использовать. В составе явно включите только учебный объект этого урока; использование — Использовать.
Если общий реквизит не выведен на форму, его пустое строковое значение допустимо. Запрос всё равно покажет именованную колонку УчебныйИсточник. Это не разделитель данных и не механизм ограничения доступа.
Обновите учебную базу. Создайте владельца Учебный магазин, под ним группу Книги и элемент Справочник 1С: родитель Книги, цена 450. Предопределённых элементов не создавайте.
Запрос выполняйте в серверной процедуре учебной обработки. Результат содержит группу и элемент; порядок строк здесь не задан.
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Данные.Ссылка, Данные.Код, Данные.Наименование,
| Данные.Родитель, Данные.ЭтоГруппа, Данные.Владелец,
| Данные.ПометкаУдаления, Данные.Предопределенный, Данные.ИмяПредопределенныхДанных,
| Данные.Представление, Данные.ВерсияДанных, Данные.Цена,
| Данные.УчебныйИсточник
|ИЗ Справочник.УчебныйКаталог КАК Данные";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Для Каждого Колонка Из Результат.Колонки Цикл
Сообщить(Колонка.Имя + ": " + Строка(Выборка[Колонка.Имя]));
КонецЦикла;
КонецЦикла;Разбор по шагам
Поля Владелец и Родитель существуют благодаря включённым подчинению и иерархии.
Цена — собственный реквизит, УчебныйИсточник — явно включённый общий реквизит.
Обход колонок показывает каждое выбранное значение, а не только наименование.
Как проверить результат
У элемента Справочник 1С: Цена 450, ЭтоГруппа Ложь, родитель Книги, владелец Учебный магазин.
У группы ЭтоГруппа Истина; у обоих объектов Предопределенный Ложь и пустое ИмяПредопределенныхДанных.
Ожидаемый результат
Прочитаны реальные строки подготовленного справочника, включая динамические поля.
На что обратить внимание
Без подчинения поле Владелец недоступно; без иерархии недоступен Родитель.
ИмяПредопределенныхДанных нельзя использовать для произвольных соединений; здесь оно только выбирается.
ВерсияДанных относится к записи объекта, а не к релизу программы.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.