powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / как правильно передать ссылку на com объект
3 сообщений из 3, страница 1 из 1
как правильно передать ссылку на com объект
    #38657973
Фотография garvy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Настраиваю работу старой обработки по переносу документов из SQL SERVER в 1С. Работала в бухгалтерии 2.0 Для того, чтобы работала в 3.0 по приведенному совету установил следующее: Конфигурация - режим - "управляемое приложение и обычное приложение", Флаг "Использовать обычные формы в управляемом приложении" - установлен,
Режим запуска - "Толстый клиент- управляемое приложение". Начинает работать все нормально. Спотыкается на участке кода, приведенном ниже (несущественные детали удалены). Из формы обработки в процедуре нажатия кнопки Процедура КнопкаВыполнитьНажатие(Кнопка)
....
// Создаем новый объект подключения
Соединение1 = Новый COMОбъект("ADODB.Connection");
Команда1 = Новый COMОбъект("ADODB.Command");
НаборЗаписей1 = Новый COMОбъект("ADODB.Recordset");
// Формируем строку подключения
СтрокаПодкл = Обмен_ИС.ВозвратДопИнформации ("Строка подключения");
Соединение1.ConnectionString = СтрокаПодкл ;
// Открываем канал в синхронном режиме
Попытка
Соединение1.Open();
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;

// получаем различные данные из SQl SERVER
Команда1.ActiveConnection = Соединение1 ;
Команда1.CommandText = "" ;
Команда1.CommandType = 1; // текст
Команда1.CommandTimeOut = 300 ;
НаборЗаписей1 = Команда1.Execute();

Пока НаборЗаписей1.EOF = 0 Цикл
ТипПроекта = НаборЗаписей1.Fields("Тип сделки").Value ;
НаборЗаписей1.MoveNext() ;
КонецЦикла;

///и.т.. - все работает
.....

// вызов функции вставки элемента из SQL в 1С
// Из общего модуля "Обмен_ИС" вызывается процедура, которой необходимо передать Объект подключение "CОЕДИНЕНИЕ1"
Обмен_ИС.ПереносКонтрагента(ШифрОрганизацииИС, Соединение1);
/// ОШИБКА
... Текст ошибки {Обработка.ИмпортДокументовИзИС.Форма.ВыборДокументовДляИмпорта.Форма(218)}: Ошибка при вызове метода контекста (ПереносКонтрагента)
Обмен_ИС_ВИГО_СМИТ.ПереносКонтрагента(ШифрОрганизацииИС, Соединение1);
по причине:
Ошибка при вызове серверного метода.
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param':
форма: Элемент
имя: { http://v8.1c.ru/8.2/managed-application/modules}param
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'COMОбъект' Подскажите как правильно вызвать серверный метод?
...
Рейтинг: 0 / 0
как правильно передать ссылку на com объект
    #38657990
Фотография garvy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может дело в том, что я не объявил переменную Соединение1. Сейчас вот попробовал объявить как Перем Соединение1 Экспорт;
в модуле формы обработки. Ошибка та же. Где ее правильно объявить?
...
Рейтинг: 0 / 0
как правильно передать ссылку на com объект
    #38658134
autsaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
garvy,

Нельзя передавать ссылку на COM Объект ADODB.Connection между клиентом и сервером.
Создавайте ADODB.Connection на сервере и работайте там.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / как правильно передать ссылку на com объект
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]