1с получить гуид в запросе

Для получения уникального идентификатора объекта, используйте код вида:
Код 1C v 8.х

Как с помощью запроса получить уникальный идентификатор:
Код 1C v 8.х

В 1С 7.7 можно получить так

Через v7plus.dll
Код 1C v 7.x

Через WScript
Код 1C v 7.x

при OLE доступе:
Код 1C v 7.x

Еще посмотрите метод:
ЗначениеВСтрокуВнутр( );
Синтаксис:
ЗначениеВСтрокуВнутр( )
Назначение:
Преобразование значения объекта агрегатного типа в строковое системное представление.
Возвращает: представление значения объекта в строковом системном виде.
Параметры:
— значение объекта агрегатного типа данных которое нужно преобразовать.

Если при работе в 1С вам встречалось сообщение «Объект не найден», то пришло время ознакомиться с понятием «Уникальный идентификатор объекта». Рассмотрим это понятие и то, как получить уникальный идентификатор объекта в 1С.

Что это такое

Прежде всего, глобальный уникальный идентификатор (ГУИД) — это набор символов. В тексте он представляется записью из шестнадцатеричных цифр. Эта группа заключена в фигурные скобки, между собой они разделяются дефисами и всего их — тридцать две. Алгоритм, с помощью которого генерируется значение такого кода, был создан фирмой Microsoft (Майкрософт, англ.).

Применяется эта фишка, прежде всего, во избежание конфликтов при программировании (в этой публикации нас интересует именно этот момент). Самим алгоритмом кодирования неповторимость ключа не гарантируется. Однако общее количество возможных ключей слишком велико (3,4028×10 38 ) — соответственно вероятность совпадения ничтожно мала.

Выглядит это примерно так:

Таким образом, применение такой системы призвано различать по GUID (Globally Unique Identifier — Глобальный Уникальный Идентификатор) две (возможно, несовместимые) версии одного компонента (элемента).

ГУИД в 1С

Каждый объект (object, англ.) системы в 1С характеризуется ссылкой, которая является типом данных. Как и все элементы общей системы — хранится в справочнике. Логически она состоит из его имени и GUID. Уникальность имени контролируется системой — нельзя создать второй справочник с уже имеющимся именем. Таким образом, object является неповторимой сущностью в системе за счёт исключительности его обеих составляющих.

Операции с ключами

Уникальный идентификатор в 1С назначается в момент первичной записи элемента. Уже в процессе самой регистрации можно видеть ключ, который будет привязан к нему. Можно в этот процесс вмешаться и вручную до момента регистрации изменить его по своему желанию. Узнать нужный ГУИД можно через созданный запрос в «Конструкторе запроса» (это стандартный метод для любого элемента):

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

Для преобразования к строке нужно употребить: «Строка(Параметр)».

Получить новый ГУИД можно с помощью такого запроса:

Преобразование в код ссылки элемента можно методом УникальныйИдентификатор():

Ошибки

Чаще всего ошибки, сопряжённые с ключами компонент, возникают когда элемент из базы был удалён, а ключ его в системе остался. При удалении нужно проверять целостность базы.

Теперь вы знаете как в программе 1С происходит присвоение ключей для исключения ошибок в программировании, как узнать или присвоить код элемента, откуда возникают ошибки, связанные с этой темой. Оставляйте свои комментарии.

Как известно, с помощью языка запросов 1С получить уникальный идентификатор объекта ссылочного типа на данный момент нельзя. Но используя возможность СКД обращаться к внешним функциям можно получить строковое представление уникального идентификатора ссылки. Для этого необходимо использовать глобальную функцию XMLСтрока в вычисляемых полях в макете схемы компоновки.

Далее проведем эксперимент по быстродействию получения результата через запрос с последующей обработкой выборки и вариантов с использованием СКД.

Рассмотрим два случая — вывод в табличный документ и формирование текстового документа.
Так же в случае с СКД мы можем создать схему компоновки программно или использовать готовую. Результат работы СКД так же можно обойти в цикле, либо вывести в таблицу значений с последующей обработкой. Для экспериментов будет использоваться платформа 8.3, конфигурация УТ11 (файловая), справочник «КлассификаторБанковРФ», более 4000 элементов.

Схему компоновки и макет можно посмотреть, скачав обработку (ссылка в конце).

По результатам замера производительности видно, что вывод результата в табличный документ происходит быстрее при использовании СКД, причем вариант с программным созданием схемы отрабатывает несколько быстрее.

В тоже время вывод результатов в текстовый документ отрабатывает быстрее для запроса.

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

Оцените статью
Добавить комментарий