Получить гуид через com объект 1с
В любой конфигурации 1С 8 у каждого объекта(документа, элемента справочника, элемента плана видов характеристик и т.п.) есть уникальный идентификатор(УИН). При помощи него можно переносить объекты между базами РИБ не боясь задвоения данных, быстро находить элемент справочника или документ и т.п.
Как получить уникальный идентификатор из ссылки? При помощи свойства ссылки УникальныйИдентификатор(). Пример 1:
Уникальный идентификатор в 1С 8 имеет тип УникальныйИдентификатор, но его можно преобразовать и в строковое значение(получится строка вот такого вида: 9712e912-d0b9-11e1-b37b-0050568458ce).
Как получить ссылку имея уникальный идентификатор? При помощи метода ПолучитьСсылку( ) менеджера справочника, документа и т.п.
Пример 4 (Здесь УИН — значение типа УникальныйИдентификатор):
Пример 5(Здесь СтрокаУИН — переменная со строковым значением уникального идентификатора):
В примере 5 уникальный идентификатор получается из строкового значения при помощи конструктора Новый УникальныйИдентификатор( )
Для получения уникального идентификатора объекта, используйте код вида:
Код 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С 8 у каждого объекта(документа, элемента справочника, элемента плана видов характеристик и т.п.) есть уникальный идентификатор(УИН). При помощи него можно переносить объекты между базами РИБ не боясь задвоения данных, быстро находить элемент справочника или документ и т.п.
Как получить уникальный идентификатор из ссылки? При помощи свойства ссылки УникальныйИдентификатор().
Пример 1:
Уникальный идентификатор в 1С 8 имеет тип УникальныйИдентификатор, но его можно преобразовать и в строковое значение(получится строка вот такого вида: 9712e912-d0b9-11e1-b37b-0050568458ce).
Как получить ссылку имея уникальный идентификатор? При помощи метода ПолучитьСсылку( ) менеджера справочника, документа и т.п.
Номенклатура = Справочники . Номенклатура . ПолучитьСсылку ( УИН ) ;
Номенклатура = Справочники . Номенклатура . ПолучитьСсылку ( Новый УникальныйИдентификатор ( СтрокаУИН ) ) ;
В примере 5 уникальный идентификатор получается из строкового значения при помощи конструктора Новый УникальныйИдентификатор( )
Ну, собственно вопрос в теме..
Как получить УникальныйИдентификатор документа через COM соединение?
It-developer; cargobird; awp234; selmorn; lemilk; Slypower; user1188623; ivanek; cwant; Legavaz; байт; + 11 – Ответить
(12) посмотреть, какой тип у ВнешнийДОк и понять, что это не ДокументОбъект.
(12) Во-первых, метод УникальныйИдентификатор() есть у типа "ДокументСсылка" и отсутствует у типа "ДокументОбъект".
Во-вторых, при работе через COM строковые представления объектов базы-корреспондента и получать нужно на стороне базы-корреспондента.
It-developer; cargobird; awp234; selmorn; lemilk; Slypower; user1188623; ivanek; cwant; Legavaz; байт; + 11 – Ответить
(3) В данном случае - без разницы. XMLСтрока для УникальногоИдентификатора возвращает строковое представление уникального идентификатора. То же самое, вид сбоку.
(1) посмотрите мою обработку - там все эти функции есть.
(6) Давайте сравнивать одинаковые вещи, как у меня на картинке. Согласен, что сериализация XMLСтрока(КомСтр.Регистратор) происходит намного быстрее, чем XMLСтрока(КомСтр.Регистратор.УникальныйИдентификатор()) или String(КомСтр.Регистратор.УникальныйИдентификатор()) . Очевидно, значительное время тратится на выполнение метода УникальныйИдентификатор().
Плюс XMLСтрока - это сериализация по установленным правилам, а Строка() - просто строковое представление. Хоть на практике этот момент и не играет роли, но завязывать алгоритмы на представления - непрофессионально. Прецеденты их изменений между версиями 1С уже были.
Сейчас проверил - XMLСтрока(КомСтр.Регистратор) будет правильным ответом, ибо возвращается то же строковое представление уникального идентификатора.
Не работает, ничего не понимаю((
Делаю так:
ВнешнийДОк= ВНешБаза.Документы.МойДокумент.НайтиПоНомеру().ПолучитьОбъект();
УИ = Строка(ВнешнийДОк.УникальныйИдентификатор());//по итогу болт..ничего нет
(12) посмотреть, какой тип у ВнешнийДОк и понять, что это не ДокументОбъект.
(12) Во-первых, метод УникальныйИдентификатор() есть у типа "ДокументСсылка" и отсутствует у типа "ДокументОбъект".
Во-вторых, при работе через COM строковые представления объектов базы-корреспондента и получать нужно на стороне базы-корреспондента.
Читайте также: