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