Пустая и плановая ссылки имеют реальный прикладной Тип. Новый UUID передаётся в массиве параметров; тип ссылки не является значением характеристики.
Где и как запускать
Полный серверный модуль своей НОВОЙ пустой учебной конфигурации по подготовке; платформа 8.5.1.1343. При записи всегда откат, рабочие данные не используются. Здесь не запускался.
Подготовка
Создайте НОВУЮ пустую файловую базу и назовите корень конфигурации Учебная85. Не добавляйте учебные объекты в УТ/КА2/УНФ/БП и не подключайте расширения.
Конфигуратор → Планы видов характеристик → Добавить: имя УчебныеСвойства, синоним Учебные свойства. Укажите длину кода 10, длину наименования 100, автонумерацию и контроль уникальности включите.
Включите иерархию плана. В свойстве Тип выберите только Число (12 цифр, 2 дробных, неотрицательное) и Строка (30 символов, переменная длина). Дополнительные значения характеристик не назначайте.
В собственной иерархии разрешите группы и элементы с двумя уровнями ниже корня. Реквизитов, табличных частей и предопределённых элементов не создавайте; история выключена.
Модули собственных объектов/менеджеров пустые, подписок, расширений и внешних действий нет. Не используйте рабочую базу или её копию с действующими обработчиками.
Код здесь в 1С не запускался. HTML показывает урок: проверены исходники и установленная справка именно 8.5.1.1343, но запись/открытие формы в ваших базах не выполнялись.
Ссылка идентифицирует запись, объект служит для её изменения. Свойства ссылки readonly, ВерсияДанных — непрозрачная строка, не номер версии конфигурации.
Непустая плановая ссылка не подтверждает существование записи; перед чтением данных отсутствующая запись исключается отдельно.
В собственной базе создайте серверный общий модуль УчебныеСсылкиПланов, вставьте ВЕСЬ модуль одного урока. ВыполнитьПример() Экспорт вызывайте из собственной процедуры формы с &НаСервереБезКонтекста. Обновите конфигурацию БД.
Опыт записи допускается только вне чужой транзакции. Внутри своей транзакции создаются исключительно новые собственные записи; при успехе и ошибке выполняется откат. Не заменяйте его фиксацией.
Записанные собственные ссылки запоминаются сразу после записи. После отмены каждая проверяется на ПолучитьОбъект=Неопределено. Никакого удаления по имени, первой строке или всей коллекции нет.
Процедура ВыполнитьПример() Экспорт
Если Метаданные.ПланыВидовХарактеристик.Найти("УчебныеСвойства") = Неопределено Тогда
ВызватьИсключение "Создайте собственный план УчебныеСвойства по подготовке";
КонецЕсли;
ТипСсылки = Тип("ПланВидовХарактеристикСсылка.УчебныеСвойства");
Пустая = Новый(Тип("ПланВидовХарактеристикСсылка.УчебныеСвойства"));
Идентификатор = Новый УникальныйИдентификатор;
Параметры = Новый Массив;
Параметры.Добавить(Идентификатор);
Плановая = Новый(Тип("ПланВидовХарактеристикСсылка.УчебныеСвойства"), Параметры);
Сообщить(ТипЗнч(Пустая) = ТипСсылки);
Сообщить(Пустая.Пустая());
Сообщить(Пустая = ПланыВидовХарактеристик.УчебныеСвойства.ПустаяСсылка());
Сообщить(Не Плановая.Пустая());
Сообщить(Плановая.УникальныйИдентификатор() = Идентификатор);
Сообщить(Плановая = ПланыВидовХарактеристик.УчебныеСвойства.ПолучитьСсылку(Идентификатор));
Сообщить(Плановая.ПолучитьОбъект() = Неопределено);
Сообщить("Конструктор создал ссылку, но не запись в базе");
КонецПроцедурыРазбор по шагам
Подготовить свой план УчебныеСвойства в новой пустой Учебная85.
Создать пустую ссылку функциональным Новый и сравнить с ПустаяСсылка менеджера.
Создать новый собственный UUID и добавить его в Массив одним элементом.
Создать плановую ссылку из Тип и массива, затем сравнить её UUID и ПолучитьСсылку.
Проверить отсутствие объекта; не читать его данные и не вызывать Записать.
Как проверить результат
Семь сравнений Истина.
Непустая плановая ссылка не создала вид характеристики.
UUID в массиве, не непосредственным вторым аргументом Новый.
Ожидаемый результат
Конструктор прикладной ссылки использован по назначению на новом UUID.
На что обратить внимание
Прикладной Тип существует только после создания указанных собственных метаданных. В функциональный Новый массив передаёт аргументы конструктора.
Свойства ссылки не присваиваются. Для изменения копии используется именно новый объект, который возвращает Скопировать.
Уровень пустой ссылки вызывает исключение; иерархические методы используются только у записанных собственных объектов внутри транзакции.
Откат БД не отменяет внешние действия обработчиков. Поэтому конфигурация пустая, модули/подписки без сети, печати, файлов и почты.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.