[Практика программирования 1С8] Как работать с уникальным идентификатором в com-соединении
В короткой статье познакомимся с тем, как с помощью конструктора "Новый" создать объект вида "Уникальный идентифкатор" в базе, с которой работаем из другой базы через com-соединение, а так же как получить УИД объекта базы, к которой подключены.
Так же эта инструкция даст ответы на смежные вопросы о том, как создать, получить уникальный идентификатор при COM соединении? Итак, как создать объект вида "уникальный идентификатор" на стороне в базе, с которой работаем через созданное com-соединение. Далее в примерах com-соединение по коду уже создано и установлено и определено и содержится в переменной с именем "ComСоединение". Когда мы работаем в самой базе, то создаем уникальный идентификатор с помощью конструктора "Новый УникальныйИдентификатор("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX");" Здесь и далее обозначим "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" как "СтроковоеПредставление". Но при работе в com-соединении порядок работы с конструктором "Новый" изменяется. Необходимо использовать метод "NewObject", который создаст объект, если он предусмотрен конфигурацией и возвратит его в значении ComОбъект - т.е. как бы ссылки в той базе. Таким образом получается, что в коде это будет выглядеть следующим образом. И в задаче получения ссылки на объект в другой базе на примере получения ссылка на документ вида "Реализация товаров и услуг" при известном ИД будет так: ИД = Соединение.NewObject("УникальныйИдентификатор", СтроковоеПредставление); НайденныйДокумент = Соединение.Документы.РеализацияТоваровУслуг.ПолучитьСсылку(ИД); Другая часто возникающая практическая задача заключается в том, чтобы узнать значение уникального идентификатора объекта другой базы через com-соединение. Рассмотрим на примере получения идентификатора: НайденныйДокумент = Соединение.Документы.РеализацияТоваровУслуг.НайтиПоНомеру("00000000"); // Далее
ИД = Соединение.XMLСтрока(НайденныйДокумент.УникальныйИдентификатор());
// или
ИД = Соединение.String(НайденныйДокумент.УникальныйИдентификатор()); // вместо "String" можно "Строка"
, где функция XMLСтрока - функция глобального контекста вернет значение "строка" для полученного в другой базе уникального идентификатора. Или можно просто преобразовать к значению строка с помощью функции работы с текстом "Строка". Суть в том, что в "эту" базу, из которой инициировано мы не передадим "уникальные идентификатор" как объект. Будет передано его представление в виде строки. А далее уже в "этой" базе снова превращаем из строкового значения в уникальный идентификатор обычным способом, как привыкли это делать в коде с помощью конструктора "Новый". Оцените, оказалась ли эта публикация полезна для Вас?
© www.azhur-c.ru 2013-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу. 10-04-2023 Журавлев А.С. (Сайт azhur-c.ru) |
|
|||||||||||||
Copyright 2013-2020. Azhur-c.ru
ИП Журавлев Александр Сергеевич ИНН 667000271590 ОГРНИП 312667014300041 |