Имя: Пароль:
1C
 
Как в COM-соединении выполнить код с ГУИДом?
0 Гений 1С
 
гуру
23.06.06
14:55
Как в COM-соединении выполнить код с ГУИДом?

УИД=Ссылка.УникальныйИдентификатор();
МенеджерОЛЕ=ComСоединение.Справочники.Номенклатура;
СсылкаОЛЕ=МенеджерОЛЕ.ПолучитьСсылку(УИД);

В последней строчке ругается на несоответствие типов (параметр 1)
1 Билли Г
 
23.06.06
14:58
Без экспортной функции в OLE базе никак...
2 Гений 1С
 
гуру
23.06.06
15:01
(1) Я фигею дорогая редакция, а методы Выполнить и Вычислить у Com-соединения нету... :(
3 Гений 1С
 
гуру
23.06.06
15:01
А можно в ком соединении вызвать конструктор УникальныйИдентификатор("ХХХ-ХХХ")?
4 vde69
 
23.06.06
15:01
УИД=Строка(Ссылка.УникальныйИдентификатор()); //
5 Билли Г
 
23.06.06
15:02
(3) см. (1)
6 vde69
 
23.06.06
15:02
ComСоединение.УникальныйИдентификатор("ХХХ-ХХХ")?
7 Гений 1С
 
гуру
23.06.06
15:02
(4) ты это к чему?
А запросом можно вытащить ссылку по ГУИДУ в соединенной базе?
8 vde69
 
23.06.06
15:03
о том, что передать можно только строку
9 Гений 1С
 
гуру
23.06.06
15:05
(6) нет такого метода тоже у ком-соединения.
Можно ли запросом получить ссылку по ее представлению в виде ГУИД?
10 Гений 1С
 
гуру
23.06.06
15:06
мне нельзя менять конфу.
Можно по идее построить индекс всех гуидов справочника базы получателя
11 Херрес
 
23.06.06
15:12
Мне бы зайти в свою ветку
v8: Есть ли шанс через COMСоединение с базой v8 сказать Execute()
и почитать что там наотвечали, да не могу. Почему-то во все ветки попадаю а в эту - сервер перегружен.

А как зайду, расскажу какая идея появилась :)
12 vde69
 
23.06.06
15:15
так я не понял у тебя 2 базы и ты по гуиду из 1 базы хочешь найти обьект во второй? они, что братья по разуму :)
13 Гений 1С
 
гуру
23.06.06
16:19
(12) Чувак, я делаю копию базы... для отладки, секешь???
14 Гений 1С
 
гуру
23.06.06
16:22
они не братья, они КЛОуНЫ!
15 vde69
 
23.06.06
16:36
тогда XML серелизация
16 IronDemon
 
23.06.06
16:45
УИД=Сеть.String(Выборка.Номенклатура.Ссылка.UUID());
СтрокаGUID = Сеть.String(УИД);
НовыйGUID = Сеть.NewObject("UUID",СтрокаGUID);
Имя = Тов8.GetRef(НовыйGUID).Наименование;
17 Гений 1С
 
гуру
23.06.06
17:40
(16) йоу, ты настоящий демон! Взлетело! А что это за метод NewObject???
18 IronDemon
 
23.06.06
17:50
Система 1С:Предприятие в качестве Automation сервера предоставляет полный доступ к своему глобальному контексту (см. «Контекст выполнения программного модуля»). Поэтому Automation-сервер 1С:Предприятие в качестве своих методов может иметь: системные процедуры и функции, а также процедуры и функции модуля приложения и общих модулей, объявленные с ключевым словом Экспорт. Кроме того, Automation-сервер 1С:Предприятие имеет два дополнительных метода Connect и NewObject.


NewObject
Синтаксис: NewObject(<Имя>)
Параметры:
<Имя> Строковое выражение, значение которого содержит имя объекта, объявленного в конфигураторе.
Возвращаемое значение:
Ссылка на созданный объект.
Описание:
Метод NewObject создает объект, для которого предусмотрен конструктор, и возвращает ссылку на него.
Пример:
  V8 = Новый COMObject("V8.Application");
  V8.Connect("File=c:\InfoBases\Trade;Usr=Director;")
  ТДокумент = V8.NewObject("ТекстовыйДокумент");
  ТДокумент.ВставитьСтроку(1, "Новая строка");
  Сообщить(ТДокумент. КоличествоСтрок());
Ошибка? Это не ошибка, это системная функция.