Получает код элемента справочника с учетом кодов всех вышестоящих элементов.
Синтаксис
ПолныйКод()Примеры платформы
Сообщить("Полный код данного элемента: " +
СсылкаНаЭлемент.ПолныйКод());Полное описание, параметры и ограничения
СправочникСсылка.<Имя справочника>.ПолныйКод (CatalogRef.<Catalog name>.FullCode)
СправочникСсылка.<Имя справочника> (CatalogRef.<Catalog name>)
ПолныйКод (FullCode)
Доступен, начиная с версии 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-запросы и другие внешние действия обработчиков. Поэтому копия рабочей конфигурации с неизвестными обработчиками не заменяет эту подготовку.
Процедура ВыполнитьПример() Экспорт
Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
КонецЕсли;
Если ТранзакцияАктивна() Тогда
ВызватьИсключение "Запустите учебную задачу вне чужой транзакции";
КонецЕсли;
Ссылка = Справочники.УчебныеТовары.ПолучитьСсылку(Новый УникальныйИдентификатор);
НачатьТранзакцию();
Попытка
Товар = Справочники.УчебныеТовары.СоздатьЭлемент();
Товар.УстановитьСсылкуНового(Ссылка);
Корень = Справочники.УчебныеТовары.СоздатьГруппу();
Корень.Наименование = "Бумага";
Корень.УстановитьНовыйКод("У");
Корень.Записать();
Вложенная = Справочники.УчебныеТовары.СоздатьГруппу();
Вложенная.Наименование = "Книги";
Вложенная.Родитель = Корень.Ссылка;
Вложенная.УстановитьНовыйКод("У");
Вложенная.Записать();
Товар.Наименование = "Учебная книга";
Товар.Родитель = Вложенная.Ссылка;
Товар.УстановитьНовыйКод("У");
Товар.Записать();
СсылкаТовара = Товар.Ссылка;
СсылкаКорня = Корень.Ссылка;
СсылкаВложенной = Вложенная.Ссылка;
Сообщить(СсылкаТовара.ПолноеНаименование() = "Бумага/Книги/Учебная книга");
Сообщить(СсылкаТовара.ПолныйКод() = Корень.Код + "/" + Вложенная.Код + "/" + Товар.Код);
Сообщить(СсылкаКорня.Уровень() = 0);
Сообщить(СсылкаВложенной.Уровень() = 1);
Сообщить(СсылкаТовара.Уровень() = 2);
Сообщить(СсылкаТовара.ПринадлежитЭлементу(СсылкаКорня));
Сообщить(СсылкаТовара.ПринадлежитЭлементу(СсылкаВложенной));
Сообщить(Не СсылкаТовара.ПринадлежитЭлементу(СсылкаТовара));
Сообщить(СсылкаТовара.Родитель = СсылкаВложенной);
Сообщить(СсылкаКорня.ЭтоГруппа И СсылкаВложенной.ЭтоГруппа И Не СсылкаТовара.ЭтоГруппа);
ОтменитьТранзакцию();
Исключение
Если ТранзакцияАктивна() Тогда
ОтменитьТранзакцию();
КонецЕсли;
ВызватьИсключение;
КонецПопытки;
Сообщить(Не ТранзакцияАктивна());
Сообщить(Ссылка.ПолучитьОбъект() = Неопределено);
КонецПроцедурыРазбор по шагам
Создать и временно записать две свои группы и один собственный товар.
Получить три настоящие ссылки после записи; родителя передавать ссылкой.
ПолноеНаименование и ПолныйКод включают родителей через /; коды берутся фактические, числовые суффиксы не угадываются.
Корень имеет уровень 0, вложенная группа 1, товар 2. Не вызывать Уровень у пустой ссылки.
Принадлежность учитывает все уровни; сам элемент не подчинён самому себе.
Проверить признаки групп и затем отменить все три собственные записи.
Как проверить результат
Десять проверок собственного дерева Истина, после чего товар отсутствует и транзакция закрыта.
Уровень читается только у существующих внутри транзакции записей.
Нет поиска/удаления существующих групп по совпадающему названию; откат относится только к собственным новым записям.
Ожидаемый результат
Получен осмысленный путь собственного товара с точными правилами методов ссылок.
На что обратить внимание
Объект и ссылка не взаимозаменяемы: только объект используется для изменения данных, ссылка идентифицирует запись.
Ссылки на отсутствующий или отменённый объект не следует читать как существующий товар.
Никакие чужие объекты не ищутся по первому совпадению/первой строке и не удаляются по названию.
Свойства ссылки не присваиваются, а непрозрачная ВерсияДанных не декодируется.
Откат базы не отменяет внешние действия обработчиков, поэтому допускается только подготовленная своя пустая конфигурация без таких обработчиков.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.