|
Асинхронный режим и обращение к внешней компоненте | ☑ | ||
---|---|---|---|---|
0
Грызлик
20.07.16
✎
07:50
|
Добрый день. Ситуация такая. Есть база. В ней настройка "Режим использования синхронных вызовов" стоит не использовать. И при обращение к компоненте выдется ошибка на запрет использования синхронных методов.
Далее. Пишу код. АдресКомпоненты = ПолучитьКомпонентуНаСервере(); //вытягиваю компоненту из макета с сервера на клиент Если ВКУспешноПодключена = Неопределено Тогда Оповещение = Новый ОписаниеОповещения("ПодключитьВКНаКлиентеВесы1", ЭтаФорма, АдресКомпоненты); т.е. стоит аинхронный режим, то использую не ПодключитьВнешнююКомпоненту, а НачатьПодключениеВнешнейКомпоненты НачатьПодключениеВнешнейКомпоненты(Оповещение, АдресКомпоненты, "ServerAuto", ТипВнешнейКомпоненты.Native); Иначе глВесы1 = Новый ("AddIn.ServerAuto.Add1CServerVesy"); глВесы1.ОткрытьСерверВесы(""); КонецЕсли; Код такой, сначала из макета с сервера вытаскиваю на клиент саму компоненту, потом я ее подключаю. т.к. стоит асинхронный режим, то использую метод не ПодключитьВнешнююКомпоненту, а НачатьПодключениеВнешнейКомпоненты. На этом этапе все отрабатывает. Далее, делаю следующую строку кода глВесы1 = Новый ("AddIn.ServerAuto.Add1CServerVesy"); И вот тут мне 1с говорит что глВесы1 использовать синхронный метод запрещено. Если я включаю в настройках конфигурации синхронный режим, то работает как нужно. Вопрос, а как теперь открыть саму компоненту после подключения в асинхронном режиме??? |
|||
1
hhhh
20.07.16
✎
08:07
|
а где процедура
ПодключитьВКНаКлиентеВесы1 ??? |
|||
2
Грызлик
20.07.16
✎
08:15
|
(1) Там просто ничего полезного нет. Поэтому не стал выкладывать. Ниже код этой процедуры
&НаКлиенте Процедура ПодключитьВКНаКлиентеВесы1(Результат, ДопПараметры) Экспорт Если Результат Тогда ВКУспешноПодключена = Истина; НачатьОперациюВзвешиванияВесов1(); Иначе Попытка АдресКомпоненты = ДопПараметры; НачатьУстановкуВнешнейКомпоненты(, АдресКомпоненты); //И далее возвращаемся в процедуру из топика в пункте (0) ВКУспешноПодключена = Истина; //глобальная переменная в модуле формы документа НачатьОперациюВзвешиванияВесов1(); Исключение ВКУспешноПодключена = Ложь; Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Не удалось подключить внешнюю компоненту. Обратитесь к администратору. Или запустите из под администратор"; Сообщение.Сообщить(); КонецПопытки; КонецЕсли; КонецПроцедуры // ПодключитьВКНаКлиенте() |
|||
3
DrZombi
гуру
20.07.16
✎
08:18
|
||||
4
Грызлик
20.07.16
✎
08:34
|
(3) Читал, там нет примера. Все рекомендации которые описаны я выполнил. Но вот само чтение компоненты...
Заметил в статье, что в БСП реализованы такие процедуры. Буду скачивать. Смотреть. |
|||
5
Грызлик
20.07.16
✎
10:36
|
Скачал БСП. У них процедуры написаны как у меня. Но включен синхронный режим
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |