Коллеги подскажите пожалуйста как через com соединение передать в запрос на стороне приемника типы документов. Делаю так
Для Каждого ЭлементМассива Из ТипыДокументов Цикл
Если ЭлементМассива = Тип("ДокументСсылка.ВозвратТоваровОтКлиента") Тогда
Тип = ОбъектИБ.NewObject("ОписаниеТипов","ДокументСсылка.ВозвратТоваровОтПокупателя").Типы().Получить(0);
ИначеЕсли ЭлементМассива = Тип("ДокументСсылка.ВозвратТоваровПоставщику") Тогда
Тип = ОбъектИБ.NewObject("ОписаниеТипов","ДокументСсылка.ВозвратТоваровПоставщику").Типы().Получить(0);
КонецЕсли;
Все не примитивные типы в 1С за COM прослойкой всегда видны как COMОбъект, т.е. являются чужими и непонятными другой стороне от COM прослойки. Чтобы на другой стороне построить значения таких типов из своих, нужно разобрать их до примитивных (сериализовать) и на другой стороне собрать из заново (десериализовать). Во многих случаях хватит штатных методов сериализации.
(1) Даже с примитивными типами бывает засада. Например, в случае нецелых чисел они в COM преобразуются в плавающую точку, что может привести (и приводит) к потерям точности. Так что сериализация - лучший костыль для этой кривой технологии.