Передача структуры через COM соединение #662540


#0 by Romich1981
Добрый день, коллеги. Помогите старому глупому программисту решить проблему. Устанавливаю СОМ-соединение, вызываю функцию из общего модуля, передаю в нее параметр. Параметр имеет тип "Структура" и неважно, есть в нем значения или нет, выдается ошибка "Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода .." То же самое и при передаче таблицы значений. В обратную сторону таблица значений - как результат выполнения функции - прилетает без проблем.
#1 by Галахад
Может в коде ошибка?
#2 by Romich1981
Кода нет еще. Просто функция с параметром. Если параметр имеет простейший тип (число, строка, дата), функция отрабатывает без проблем.
#3 by бомболюк
Структуру то надо создавать на стороне соединения:
#4 by Romich1981
а таблицу, которая возвращается функцией, я должен создавать на какой стороне?
#5 by Галахад
Смотря где будешь использовать.
#6 by бомболюк
ошибся, пардон. тут не то немного. надо структуру в строку сериализовать и передавать между клиентом и сервером.
#7 by Romich1981
В описании структуры указано: "Возможен обмен с сервером" Неужели она автоматом не сериализуется?
#8 by бомболюк
а внутри структуры чего у нас лежит?
#9 by Romich1981
может и ничего не лежать. Вообще должны лежать даты и строка
#10 by Romich1981
При работе в 8.2 с тонким клиентом передача таблиц и структур возможна. Механизмы передачи сильно отличаются от СОМ-соединения?
#11 by Defender aka LINN
При чем тут COM? Текст ошибки глазами прочитать - не, не вариант?
#12 by hhhh
тогда всё-таки Соединение.NewObject("Структура"); ??
#13 by Defender aka LINN
Та хоть Соединение.NewObject("УникальныйИдентификатор")
#14 by fisher
Ну, можно из пушки по воробьям попробовать. Я для передачи табличных документов такое делал:
#15 by Defender aka LINN
рукалицо...
#16 by fisher
Блин, точно. Тут же COM вообще не причем... Есть способ проще получить табличный документ сформированный на той стороне?
#17 by Romich1981
Я вот зайду на форму спецов по Ораклу, в котором я не понимаю ничего, и буду там писать "рукалицо", "читайте глазами" и пр. Интересно, я буду от этого казаться в их глазах гуру оракла или нет? прочитал три ваших сообщения. Ни одно из них неинформативно. Вопрос: для чего пишем?
#18 by Romich1981
На той стороне формируется Таблица значений, и она прекрасно передается на вызывающую сторону. Проблема запихнуть на ту сторону структуру, созданную на вызывающей стороне, без конструкций типа Соединение.NewObject("Структура"). Я так понимаю, вердикт отрицательный?
#19 by Рэйв
А чем принципиально создание именно на этой стороне?.Методы одинаковые.
#20 by Рэйв
+Да и родная структура для функции будет более съедобна.
#21 by Romich1981
да вообщем то непринципиально... просто структура есть, возможен обмен с сервером, а он не идет. Стало интересно...
#22 by Romich1981
Невозможность передать структуру через СОМ объект буду считать догмой и обходить стороной. Спасибо всем за участие.
#23 by Рэйв
Скорее всего потьому что функция получает в параметр не структуру, а COMObject и не может точно определить что за хрень она получила,т.к.  он то может быть чем угодно, то есть мутабельней некуда
#24 by Romich1981
Да, наверное так и есть...
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С