Имя: Пароль:
1C
1С v8
Глобальная переменная на клиенте в управляемом приложении
,
0 RalexR
 
14.03.12
08:30
Доброго времени суток уважаемые пользователи! Прошу совета! Конфигурация УПП 1.3 (платформа 8.2). Проблема вот в чём: в своём (дописанном функционале)в документе получаем вес с электронных весов. сейчас оборудование подключается при каждом получении веса, это занимает значительное количество времени. Для сокращении времени, хочу сделать чтобы подключение хранилось в течении всего сеанса пользователя. Предполагал сделать через глобальную переменную. Подскажите как обьявить глобальную переменную на клиенте в управляемом приложении! Либо как ещё можно хранить на клиенте подключение к устройству.
1 Джинн
 
14.03.12
08:31
Параметр сеанса не?
2 0xFFFFFF
 
14.03.12
08:31
А параметры сеанса уже не кошерно?
3 ilpar
 
14.03.12
08:33
(0)
что такое подключение ?
ComОбъект ?

Попробуй временное хранилище
4 ilpar
 
14.03.12
08:34
(3)
идея просто
5 ilpar
 
14.03.12
08:35
ну или общий модуль серверный с кэшируемыми данными
6 RalexR
 
14.03.12
08:38
Да ComОбъект! Была мысль сделать через параметр сеанса, но если я не ошибаюсь параметр сеанса хранится на сервере и доступен и на сервере и на клиенте. и при каждом обращении будет получаться с сервера. Весовые будут работать через веб-клиент. Получение веса полностью будет происходить на клиенте. не хотелось бы при каждом получение веса обращаться к серваку. да и не факт что сработает!
7 RalexR
 
14.03.12
08:48
Может объявить Экспортную переменную в модуле управляемого приложения с директивой &НаКлиенте. но вроде переменная всё равно не будет видна в модулях документа.
8 RalexR
 
14.03.12
09:26
Ну что идей больше нет?
9 cw014
 
14.03.12
09:27
(8) А вариант (2) тебе не подходит?
10 D_Pavel
 
14.03.12
09:29
(0) в модуле управляемого приложения объяви глобальную переменную. У меня так:

Перем глКомпонентаОбменаСМобильнымПриложением Экспорт;
Перем глТорговоеОборудование Экспорт;
11 RalexR
 
14.03.12
09:36
(9) Ну вариант 2 не подходит так как параметр сеанса хранятся на сервере
12 RalexR
 
14.03.12
09:38
(10) пробовал, но у меня почему то потом в модуле формы в процедуре с директивой &НаКлиенте переменная эту не видна(ругается что не определена). D_Pavel у тебя видит?
13 RalexR
 
14.03.12
09:39
(10)Или ты как то подругому обращаешься к этой переменной?
14 vmv
 
14.03.12
09:44
(0) да все правильно, в модуле приложения объявить переменную СомСоединениеВесы с директивой НаКлиенте и литералом Экспорт.

при попытке соединения проверять ее и использовать если соединение уже существует
15 RalexR
 
14.03.12
09:48
(14) Ну это всё понятно. у меня проблема в том что в модуле формы документа эта глобальная переменная не видна. не пойму. обьявил в модуле управляемого приложения НаКлиентте и с литералом Экспорт.
16 vmv
 
14.03.12
09:48
(12) все правильно, если соединение еще не установлено, то переменная будет содержать великое Неопределено, а неи ваще ущербное сомобъект или нулл)
17 vde69
 
14.03.12
09:49
модуль управляемого приложения

&НаКлиенте
Перем ВК Экспорт;
18 vmv
 
14.03.12
09:51
я делаю так

//
// Модуль управляемого приложения
//

&НаКлиенте      
Перем COMОбъектExcel Экспорт;

.....
.....
.....

в модуле формы чего-то там документа, справочника и т.д.

// COMОбъектExcel - проверить инициализацию, если неопредедено, то создаем COMОбъект
   Если COMОбъектExcel = Неопределено Тогда
       Попытка
           Состояние("Установка соединения с Excel...");
           COMОбъектExcel = Новый COMОбъект("Excel.Application");
       Исключение
           Предупреждение("Не удалось установить соединения с Excel.");
           Сообщить(ОписаниеОшибки());
           Возврат Ложь;
       КонецПопытки;  
   КонецЕсли;
19 RalexR
 
14.03.12
09:59
у меня всё примерно аналогично написано.
у меня проблема возникает уже при отладке вот в этом месте :

 Если COMОбъектExcel = Неопределено Тогда

пишет  "переменная COMОбъектExcel не определена".
вот в этом и проблема моя
20 RalexR
 
14.03.12
09:59
у тебя обращение к этой переменной на клиенте?
21 RalexR
 
14.03.12
10:15
Обьявил и в модуле управляемого и в обычном переменную с одинаковым названием и всё вроде заработало.
22 Omskdizel
 
14.03.12
10:22
(21) Не к добру это...
23 Omskdizel
 
14.03.12
10:22
Может ты просто ее из серверной процедуры вызвать пытаешься?
24 RalexR
 
14.03.12
10:25
Да нет, из клиентской! смотрю в УПП переменная Перем глТорговоеОборудование Экспорт;
тоже определена и в модуле обычного и в модуле управляемого приложения
25 RalexR
 
14.03.12
10:26
пардон глПодключаемоеОборудование
26 Omskdizel
 
14.03.12
10:34
А вот эта глПодключаемоеОборудование доступна тебе в твоей процедуре?
27 D_Pavel
 
14.03.12
10:35
28 RalexR
 
14.03.12
10:41
да, глПодключаемоеОборудование в моей процедуре!
29 RalexR
 
14.03.12
10:52
видит
30 RalexR
 
14.03.12
15:52
Всё получилось! Всем большое спасибо!