Тип: Строка. Содержит наименование элемента справочника.
Полное описание, параметры и ограничения
СправочникСсылка.<Имя справочника>.Наименование (CatalogRef.<Catalog name>.Description)
СправочникСсылка.<Имя справочника> (CatalogRef.<Catalog name>)
Наименование (Description)
Доступен, начиная с версии 8.0.
Использование:
Только чтение.
Описание:
Тип: Строка.
Содержит наименование элемента справочника.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Скопировать по настоящей ссылке и изменить только незаписанную копию
Ссылка.Скопировать возвращает объект, а не новую сохранённую ссылку. На собственной табличной части проверяем независимость копии и источника.
Где и как запускать
Полный серверный модуль своей новой пустой конфигурации Учебная85, платформа 8.5.1.1343. Собственные ссылки/объекты, временная запись только с откатом; здесь не запускался.
Подготовка
Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.
Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.
Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.
Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.
Для этого блока УчебныеТовары не подчинён владельцу, не имеет предопределённых элементов и дополнительных обработчиков. Модули объекта/менеджера пусты, подписок и расширений нет. Иерархия групп и элементов допускает два уровня ниже корня.
Точную платформу 8.5.1.1343 проверяет код. Ссылки и объекты создаются самим уроком; UUID не подменяется знакомым кодом из УТ/КА2/УНФ/БП.
Свойства ссылки readonly, свойства полученного объекта могут быть записываемыми. Ссылка.Скопировать возвращает новый объект, но сам метод не записывает его в базу.
Непустой UUID/ссылка не подтверждает наличие записи. Для плановой ссылки проверяется ПолучитьОбъект=Неопределено, а данные отсутствующей записи не читаются.
ВерсияДанных — непрозрачная строка платформы, не число, дата, версия конфигурации или номер обновления. Урок не декодирует и не назначает её вручную.
Здесь в 1С примеры не запускались. Проверены исходники и установленная справка; записи/формы в ваших базах этим заполнением не создавались.
Весь модуль вставьте в серверный общий модуль УчебныеСсылки. Его серверная экспортная процедура ВыполнитьПример вызывается из своей процедуры формы с &НаСервереБезКонтекста. Не вставляйте готовую процедуру внутрь другого обработчика.
В транзакционных опытах временно записываются только собственные новые товар/группы, затем выполняется ОтменитьТранзакцию и при успехе, и при ошибке. Не заменяйте откат фиксацией и не вызывайте этот модуль внутри чужой транзакции.
Запускайте строго в новой пустой базе Учебная85, с пустыми модулями объектов и без подписок. Здесь временно записываются только созданные самим примером объекты.
Отмена транзакции выполняется и при успехе, и при ошибке. Не заменяйте её фиксацией и не запускайте внутри транзакции вызывающего кода.
Откат базы не отменяет письма, HTTP-запросы и другие внешние действия обработчиков. Поэтому копия рабочей конфигурации с неизвестными обработчиками не заменяет эту подготовку.
Процедура ВыполнитьПример() Экспорт
Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
КонецЕсли;
Если ТранзакцияАктивна() Тогда
ВызватьИсключение "Запустите учебную задачу вне чужой транзакции";
КонецЕсли;
Ссылка = Справочники.УчебныеТовары.ПолучитьСсылку(Новый УникальныйИдентификатор);
НачатьТранзакцию();
Попытка
Товар = Справочники.УчебныеТовары.СоздатьЭлемент();
Товар.УстановитьСсылкуНового(Ссылка);
Товар.Наименование = "Источник копии ссылки";
Товар.Артикул = "REF-ORIGINAL";
Товар.Цена = 250;
Штрихкод = Товар.Штрихкоды.Добавить();
Штрихкод.Штрихкод = "REF-OWN-01";
Штрихкод.Основной = Истина;
Товар.УстановитьНовыйКод("У");
Товар.Записать();
СсылкаИсточника = Товар.Ссылка;
Копия = СсылкаИсточника.Скопировать();
Копия.Наименование = "Независимая копия в памяти";
Копия.Артикул = "REF-COPY";
Копия.Штрихкоды.Получить(0).Штрихкод = "REF-COPY-01";
Сообщить(ТипЗнч(Копия) = Тип("СправочникОбъект.УчебныеТовары"));
Сообщить(Копия.ЭтоНовый());
Сообщить(Копия.Ссылка.Пустая());
Сообщить(Копия.Штрихкоды.Количество() = 1);
Сообщить(СсылкаИсточника.Наименование = "Источник копии ссылки");
Исходный = СсылкаИсточника.ПолучитьОбъект();
Если Исходный = Неопределено Тогда
ВызватьИсключение "Собственный источник внутри транзакции не найден";
КонецЕсли;
Сообщить(Исходный.Артикул = "REF-ORIGINAL");
Сообщить(Исходный.Штрихкоды.Получить(0).Штрихкод = "REF-OWN-01");
Сообщить("Скопировать по ссылке вернул новый незаписанный объект; копия не записывалась");
ОтменитьТранзакцию();
Исключение
Если ТранзакцияАктивна() Тогда
ОтменитьТранзакцию();
КонецЕсли;
ВызватьИсключение;
КонецПопытки;
Сообщить(Не ТранзакцияАктивна());
Сообщить(Ссылка.ПолучитьОбъект() = Неопределено);
КонецПроцедурыРазбор по шагам
В собственной отменяемой транзакции записать один новый источник с одним учебным штрихкодом.
Вызвать Скопировать именно на СсылкаИсточника.
Изменить наименование, артикул и строку штрихкода только у возвращённого нового объекта.
Проверить тип объекта, ЭтоНовый и пустую ссылку копии. Копию не записывать.
Получить исходный сохранённый объект по реальной ссылке и проверить неизменность его артикула/строки.
Откатить запись собственного источника и подтвердить отсутствие.
Как проверить результат
Семь сравнений Истина: новая копия не подменила источник.
Не сравнивается код копии с кодом источника: правила нумерации отдельно не выдумываются.
Копия не записана, источник отменён, чужие товары не затронуты.
Ожидаемый результат
Реально разобрана граница между копированием по ссылке и записью возвращённого объекта.
На что обратить внимание
Объект и ссылка не взаимозаменяемы: только объект используется для изменения данных, ссылка идентифицирует запись.
Ссылки на отсутствующий или отменённый объект не следует читать как существующий товар.
Никакие чужие объекты не ищутся по первому совпадению/первой строке и не удаляются по названию.
Свойства ссылки не присваиваются, а непрозрачная ВерсияДанных не декодируется.
Откат базы не отменяет внешние действия обработчиков, поэтому допускается только подготовленная своя пустая конфигурация без таких обработчиков.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Получить обычную форму только своего заранее подготовленного товара
ПолучитьФорму ссылки доступен толстому клиенту и возвращает обычную Форма либо Неопределено. Здесь отделён от серверных транзакционных упражнений и управляемого ОткрытьФорму.
Где и как запускать
Полный модуль собственной ОБЫЧНОЙ формы обработки, толстый клиент с обычным приложением 8.5.1.1343. Только свой вручную подготовленный FORM-85 и именованная обычная форма; здесь не запускался.
Подготовка
Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.
Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.
Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.
Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.
Для этого блока УчебныеТовары не подчинён владельцу, не имеет предопределённых элементов и дополнительных обработчиков. Модули объекта/менеджера пусты, подписок и расширений нет. Иерархия групп и элементов допускает два уровня ниже корня.
Точную платформу 8.5.1.1343 проверяет код. Ссылки и объекты создаются самим уроком; UUID не подменяется знакомым кодом из УТ/КА2/УНФ/БП.
Свойства ссылки readonly, свойства полученного объекта могут быть записываемыми. Ссылка.Скопировать возвращает новый объект, но сам метод не записывает его в базу.
Непустой UUID/ссылка не подтверждает наличие записи. Для плановой ссылки проверяется ПолучитьОбъект=Неопределено, а данные отсутствующей записи не читаются.
ВерсияДанных — непрозрачная строка платформы, не число, дата, версия конфигурации или номер обновления. Урок не декодирует и не назначает её вручную.
Здесь в 1С примеры не запускались. Проверены исходники и установленная справка; записи/формы в ваших базах этим заполнением не создавались.
Этот отдельный урок выполняется в толстом клиенте с обычным приложением. В своём УчебныеТовары создайте ОБЫЧНУЮ форму элемента УчебныйРедакторСсылки с обычными полями кода/наименования. Её модуль пустой; не выбирайте управляемую форму.
В своём справочнике вручную создайте один элемент, не группу: Код=FORM-85, Наименование=Учебная книга формы. Ничего из рабочих справочников не используйте. Этот урок его только находит и открывает, не создаёт/удаляет.
У отдельной собственной обработки создайте обычную форму с командой ПоказатьУчебнуюФорму и вставьте весь модуль этого урока в модуль этой формы. Это не серверный общий модуль; ЭтаФорма — реальный владелец окна.
В режиме обычного приложения запускайте именно толстый клиент. В тонкий/веб-клиент и управляемые формы этот контракт не переносится.
Новый UUID окна обеспечивает новый ключ уникальности. Закрывайте открытое окно вручную без записи изменений; не сочетайте открытие интерактивной формы с удержанием транзакции предыдущих упражнений.
Процедура ПоказатьУчебнуюФорму(Команда)
Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
КонецЕсли;
СсылкаТовара = Справочники.УчебныеТовары.НайтиПоКоду("FORM-85");
Если СсылкаТовара.Пустая() Тогда
ВызватьИсключение "Сначала вручную создайте свой FORM-85 по подготовке обычной формы";
КонецЕсли;
Если СсылкаТовара.Наименование <> "Учебная книга формы"
Или СсылкаТовара.ЭтоГруппа
Или СсылкаТовара.ПометкаУдаления Тогда
ВызватьИсключение "Найденный объект не совпал с собственным подготовленным товаром";
КонецЕсли;
КлючОкна = Новый УникальныйИдентификатор;
ПолученнаяФорма = СсылкаТовара.ПолучитьФорму("УчебныйРедакторСсылки", ЭтаФорма, КлючОкна);
Если ПолученнаяФорма = Неопределено Тогда
Сообщить("Форма не создана: отказ не является успешным открытием");
Возврат;
КонецЕсли;
ПолученнаяФорма.Открыть();
Сообщить("Открыта обычная форма только своего подготовленного товара. Код сам ничего не записал.");
КонецПроцедурыРазбор по шагам
Проверить точную платформу и собственный учебный справочник в модуле обычной формы.
Найти только заранее вручную подготовленный FORM-85, затем проверить имя, отсутствие группы и пометки удаления.
Получить именно именованную обычную форму с реальным владельцем ЭтаФорма и новым ключом уникальности.
При Неопределено обработать отказ создания отдельно, не обращаться к методам несуществующей формы.
Открыть только полученную форму; код не записывает и не удаляет справочник и не удерживает транзакцию.
Как проверить результат
Открыта обычная УчебныйРедакторСсылки собственного элемента FORM-85.
Отсутствующий/неподходящий товар останавливает открытие; Неопределено не объявляется готовой формой.
Не вызываются Записать/Удалить и не открывается форма случайной первой записи.
Ожидаемый результат
Контракт обычной формы ссылки использован на подготовленном собственном товаре с правильным клиентским контекстом.
На что обратить внимание
Это отдельный толстоклиентский контракт обычной формы, не управляемый ОткрытьФорму.
ПолучитьФорму сам по себе ещё не Открыть; сначала проверяется результат.
Именованная форма и реальный товар подготовлены заранее; код не выдумывает отсутствующие метаданные.
Интерактивное окно не включено в отменяемую серверную транзакцию; возможная ручная запись оператором здесь не выполняется и не проверялась.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.