[Практика программирования 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)

Назад

 
 

Здесь можно
приобрести лицензии

1С 8
​ и типовые решения

ural-rosaudit.ru - Аудит в сфере ЖКХ, www.ural-rosaudit.ru
azhur-blog.ru - мошенничество в интернете, www.azhur-blog.ru
info-compas.ru - каталог, инфокурсы, видеокурсы, видео курсы, обучение он-лайн, www.info-compas.ru
https://vk.com/effective_ideas - Группа вКонтакте Методы заработка и работы при помощи Интернет

 

Проверить аттестат
Cистема приема платежей, касса для сайта
Cистема управления контентом Santafox&trade. Санкт-Петербург, Ленинский проспект, д. 23 (812) 545-47-48
Яндекс.Метрика