|   |   | 
| 
 | Глобальная переменная на клиенте в управляемом приложении | ☑ | ||
|---|---|---|---|---|
| 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 | 
        (12) Видит: http://pavel.cc/photo/globpere.png     | |||
| 28
    
        RalexR 14.03.12✎ 10:41 | 
        да, глПодключаемоеОборудование в моей процедуре!     | |||
| 29
    
        RalexR 14.03.12✎ 10:52 | 
        видит     | |||
| 30
    
        RalexR 14.03.12✎ 15:52 | 
        Всё получилось! Всем большое спасибо!     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |