v8: 8.2 как работать с COMObject #490740


#0 by Sali_64
Добрый день! Пишу обработку для тонкого или вэб клиента, в которой нужно получать данные из нескольких баз. Для подключения к базам использую COMObject. Чтобы не создавать новое подключение при каждой попытке обновления данных необходимо где-то сохранить созданное уже однажды подключение к базе. Пытался создать реквизит СписокЗначений или ТЗ но вылетает с ошибкой Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Запись значения свойства 'v':    форма: Элемент    имя: { по причине: Ошибка преобразования данных XDTO: Запись значения свойства 'value':    форма: Элемент    имя: { по причине: Ошибка отображения типов: Отсутствует отображение для типа 'COMОбъект'
#1 by almar
Глобальная переменная?
#2 by Defender aka LINN
Временное Хранилище юзай
#3 by johnbay
Сделай общий модуль, в свойствах: в модуле функцию: Обращение к СОМОбъекту:
#4 by Defender aka LINN
Мне казалось, конкурс бредовых идей закончился.
#5 by johnbay
в каком месте она бредовая?
#6 by Defender aka LINN
Сделай общий модуль, в свойствах: в модуле функцию: Потом вызови ее.
#7 by johnbay
"Потом вызови ее." Гениально. Пиши еще!
#8 by Defender aka LINN
Если кто не понял - это копипаста. Которая призвана намекнуть, что не мешает иногда жевать, а не писать всякое. А если уж написал - то перед этим проверить.
#9 by johnbay
Проверить что? У меня это работает уже полгода. Ваши намеки мне не понятны.
#10 by Sali_64
Хорошо, если работает. Но мне нужно как минимум 3 подключения к разным базам...
#11 by Sali_64
а -ля
#12 by johnbay
три функции написать сложно?
#13 by Sali_64
нет... но коряво, тем более что кол-во баз может изменятся
#14 by 5 Элемент
#15 by Sali_64
а скорость работы через модуль или Временное Хранилище? Где быстрее?
#16 by 5 Элемент
>> Чтобы не создавать новое подключение при каждой попытке _обновления_ данных необходимо где-то сохранить созданное уже однажды подключение к базе. ты наверное имел ввиду не "обновления данных", а "получения данных"?
#17 by 5 Элемент
При использовании модуля, периодически у тебя будет повторно создаваться COMObject.
#18 by Sali_64
можно и так сказать
#19 by acsent
Именно так 1С рекомедует кэшировать данные
#20 by acsent
Добавь второй параметр
#21 by johnbay
сделай у функции Коннект параметры для подключения разных баз. Проверил, для нескольких баз работает без проблем. Ждать нужно только 1е подключение, повторные вызовы отрабатывают мгновенно.
#22 by 5 Элемент
+ возвращаемое значение "кэшируется" в разрезе значений параметров.
#23 by Sali_64
Написал так: На файловой версии действительно тормозит только при первом сооединении, а вот на серверной чем дольше между нажатием кнопки "Обновить" тем дольше обработка...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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