ПланВидовХарактеристикСсылка.<Имя плана видов характеристик>.УникальныйИдентификатор

Методы · UUID

Получает уникальный идентификатор ссылки. Ссылка может быть получена из уникального идентификатора с помощью метода менеджера ПолучитьСсылку.

Синтаксис

УникальныйИдентификатор()
Полное описание, параметры и ограничения

ПланВидовХарактеристикСсылка.<Имя плана видов характеристик>.УникальныйИдентификатор (ChartOfCharacteristicTypesRef.<Chart of characteristic types name>.UUID)

ПланВидовХарактеристикСсылка.<Имя плана видов характеристик> (ChartOfCharacteristicTypesRef.<Chart of characteristic types name>)

УникальныйИдентификатор (UUID)

Доступен, начиная с версии 8.0.

Синтаксис:
УникальныйИдентификатор()
Возвращаемое значение:
Тип: УникальныйИдентификатор.

Описание:

Получает уникальный идентификатор ссылки.
Ссылка может быть получена из уникального идентификатора с помощью метода менеджера ПолучитьСсылку.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.

См. также:
ПланВидовХарактеристикМенеджер.<Имя плана видов характеристик>, метод ПолучитьСсылку

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Назначить будущую ссылку новому свойству без записи

ПолучитьСсылку создаёт значение ссылки по UUID, но не объект в базе. Для нового описания отдельно назначаем будущую ссылку и проверяем отсутствие записи.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Создайте НОВУЮ пустую файловую базу и назовите корень конфигурации Учебная85. Не добавляйте учебные объекты в УТ/КА2/УНФ/БП и не подключайте расширения.

  2. Конфигуратор → Планы видов характеристик → Добавить: имя УчебныеСвойства, синоним Учебные свойства. Укажите длину кода 10, длину наименования 100, автонумерацию и контроль уникальности включите.

  3. Включите иерархию плана. В свойстве Тип выберите только Число (12 цифр, 2 дробных, неотрицательное) и Строка (30 символов, переменная длина). Дополнительные значения характеристик не назначайте.

  4. Реквизиты, табличные части, предопределённые элементы, формы, команды, макеты, характеристики и дополнительные индексы не создавайте. Модуль объекта и модуль менеджера оставьте пустыми; историю данных выключите.

  5. Создайте серверный общий модуль УчебныеЗадачи с процедурой ВыполнитьПример() Экспорт и вызывайте её из серверного обработчика учебной обработки. Обновите конфигурацию базы данных перед первым запуском.

  6. Код этого блока не вызывает Записать, не устанавливает блокировки и не меняет настройки метаданных. Учебные виды характеристик существуют только в памяти.

Если Метаданные.ПланыВидовХарактеристик.Найти("УчебныеСвойства") = Неопределено Тогда
    ВызватьИсключение "Создайте собственный план УчебныеСвойства по подготовке";
КонецЕсли;
Описание = Метаданные.ПланыВидовХарактеристик.УчебныеСвойства;
Идентификатор = Новый УникальныйИдентификатор;
Плановая = ПланыВидовХарактеристик.УчебныеСвойства.ПолучитьСсылку(Идентификатор);
НовоеСвойство = ПланыВидовХарактеристик.УчебныеСвойства.СоздатьЭлемент();
НовоеСвойство.Наименование = "Учебный вес со ссылкой";
НовоеСвойство.ТипЗначения = Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(8, 2, ДопустимыйЗнак.Неотрицательный));
НовоеСвойство.УстановитьСсылкуНового(Плановая);
Сообщить(НовоеСвойство.ПолучитьСсылкуНового() = Плановая);
Сообщить(НовоеСвойство.ЭтоНовый());
Сообщить(Не Плановая.Пустая());
Сообщить(Плановая.УникальныйИдентификатор() = Идентификатор);
Сообщить(Плановая.Метаданные().Имя = "УчебныеСвойства");
Сообщить(Плановая.ПолучитьОбъект() = Неопределено);
Пустая = ПланыВидовХарактеристик.УчебныеСвойства.ПустаяСсылка();
Сообщить(Пустая.ТипЗначения = Неопределено);

Разбор по шагам

  1. Новый UUID и ПолучитьСсылку задают планируемую идентичность, не создавая записи.

  2. УстановитьСсылкуНового применяем к собственному новому объекту. ПолучитьСсылкуНового проверяет назначенное значение отдельно от обычной Ссылка.

  3. Плановая ссылка непустая и имеет собственные метаданные, но ПолучитьОбъект возвращает Неопределено в пустой учебной базе.

  4. У пустой ссылки ТипЗначения также Неопределено. Свойство типа конкретного вида характеристики нельзя читать как гарантированно существующее описание без проверки ссылки/объекта.

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

  1. Семь логических проверок дают Истина в пустой учебной базе.

  2. Новый объект не записан, плановая ссылка не означает, что учебный вес появился в списке.

  3. Вместо фиксированного UUID каждый запуск создаёт новый случайный идентификатор.

Ожидаемый результат

Различены назначение будущего UUID, непустое значение ссылки и наличие записи вида характеристики.

На что обратить внимание

  1. Нельзя назначать ссылку существующего вида характеристики новому объекту как способ обновления: уникальность проверяется при записи.

  2. UUID вида характеристики не является значением веса, кодом товара или артикулом.

  3. Не выполняйте такой тест в рабочем плане; проверки предназначены только для своего пустого УчебныеСвойства.

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

Построить ссылку на собственный вид характеристики без создания данных

Пустая и плановая ссылки имеют реальный прикладной Тип. Новый UUID передаётся в массиве параметров; тип ссылки не является значением характеристики.

Где и как запускать

Полный серверный модуль своей НОВОЙ пустой учебной конфигурации по подготовке; платформа 8.5.1.1343. При записи всегда откат, рабочие данные не используются. Здесь не запускался.

Подготовка

  1. Создайте НОВУЮ пустую файловую базу и назовите корень конфигурации Учебная85. Не добавляйте учебные объекты в УТ/КА2/УНФ/БП и не подключайте расширения.

  2. Конфигуратор → Планы видов характеристик → Добавить: имя УчебныеСвойства, синоним Учебные свойства. Укажите длину кода 10, длину наименования 100, автонумерацию и контроль уникальности включите.

  3. Включите иерархию плана. В свойстве Тип выберите только Число (12 цифр, 2 дробных, неотрицательное) и Строка (30 символов, переменная длина). Дополнительные значения характеристик не назначайте.

  4. В собственной иерархии разрешите группы и элементы с двумя уровнями ниже корня. Реквизитов, табличных частей и предопределённых элементов не создавайте; история выключена.

  5. Модули собственных объектов/менеджеров пустые, подписок, расширений и внешних действий нет. Не используйте рабочую базу или её копию с действующими обработчиками.

  6. Код здесь в 1С не запускался. HTML показывает урок: проверены исходники и установленная справка именно 8.5.1.1343, но запись/открытие формы в ваших базах не выполнялись.

  7. Ссылка идентифицирует запись, объект служит для её изменения. Свойства ссылки readonly, ВерсияДанных — непрозрачная строка, не номер версии конфигурации.

  8. Непустая плановая ссылка не подтверждает существование записи; перед чтением данных отсутствующая запись исключается отдельно.

  9. В собственной базе создайте серверный общий модуль УчебныеСсылкиПланов, вставьте ВЕСЬ модуль одного урока. ВыполнитьПример() Экспорт вызывайте из собственной процедуры формы с &НаСервереБезКонтекста. Обновите конфигурацию БД.

  10. Опыт записи допускается только вне чужой транзакции. Внутри своей транзакции создаются исключительно новые собственные записи; при успехе и ошибке выполняется откат. Не заменяйте его фиксацией.

  11. Записанные собственные ссылки запоминаются сразу после записи. После отмены каждая проверяется на ПолучитьОбъект=Неопределено. Никакого удаления по имени, первой строке или всей коллекции нет.

Процедура ВыполнитьПример() Экспорт
    Если Метаданные.ПланыВидовХарактеристик.Найти("УчебныеСвойства") = Неопределено Тогда
        ВызватьИсключение "Создайте собственный план УчебныеСвойства по подготовке";
    КонецЕсли;
    ТипСсылки = Тип("ПланВидовХарактеристикСсылка.УчебныеСвойства");
    Пустая = Новый(Тип("ПланВидовХарактеристикСсылка.УчебныеСвойства"));
    Идентификатор = Новый УникальныйИдентификатор;
    Параметры = Новый Массив;
    Параметры.Добавить(Идентификатор);
    Плановая = Новый(Тип("ПланВидовХарактеристикСсылка.УчебныеСвойства"), Параметры);
    Сообщить(ТипЗнч(Пустая) = ТипСсылки);
    Сообщить(Пустая.Пустая());
    Сообщить(Пустая = ПланыВидовХарактеристик.УчебныеСвойства.ПустаяСсылка());
    Сообщить(Не Плановая.Пустая());
    Сообщить(Плановая.УникальныйИдентификатор() = Идентификатор);
    Сообщить(Плановая = ПланыВидовХарактеристик.УчебныеСвойства.ПолучитьСсылку(Идентификатор));
    Сообщить(Плановая.ПолучитьОбъект() = Неопределено);
    Сообщить("Конструктор создал ссылку, но не запись в базе");
КонецПроцедуры

Разбор по шагам

  1. Подготовить свой план УчебныеСвойства в новой пустой Учебная85.

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

  3. Создать новый собственный UUID и добавить его в Массив одним элементом.

  4. Создать плановую ссылку из Тип и массива, затем сравнить её UUID и ПолучитьСсылку.

  5. Проверить отсутствие объекта; не читать его данные и не вызывать Записать.

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

  1. Семь сравнений Истина.

  2. Непустая плановая ссылка не создала вид характеристики.

  3. UUID в массиве, не непосредственным вторым аргументом Новый.

Ожидаемый результат

Конструктор прикладной ссылки использован по назначению на новом UUID.

На что обратить внимание

  1. Прикладной Тип существует только после создания указанных собственных метаданных. В функциональный Новый массив передаёт аргументы конструктора.

  2. Свойства ссылки не присваиваются. Для изменения копии используется именно новый объект, который возвращает Скопировать.

  3. Уровень пустой ссылки вызывает исключение; иерархические методы используются только у записанных собственных объектов внутри транзакции.

  4. Откат БД не отменяет внешние действия обработчиков. Поэтому конфигурация пустая, модули/подписки без сети, печати, файлов и почты.

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

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.