Имя: Пароль:
1C
1С v8
Как правильно сохранить "переменную" БАЗА при Com-соединении? УФ, Такси.
,
0 mortal
 
15.01.15
12:22
Приветствую всех!
Объясните плз, как тут поступить правльно!
База приемник серверная, источник тоже. Подключились по КОМ на сервере, на сервере организовалась переменная БазаБП.
Далее на клиент вылезла инфа, по которой пользователь принимает решение, что дальше.
Так вот: каким образом на это время можно (и правильно) сохранить полученный на сервере объект БазаБП, чтобы повторно не подключаться для получения из базы-источника данных?

с подключением все просто

&НаСервере
Процедура ОткрытьПоГруппамНаСервере()
    
    БазаБП = Неопределено;
    ПодключитьБазуИсточник(БазаБП);
    
    ТекстЗапроса =
    "***";    
    Запрос = БАзаБП.NewObject("Запрос");          
    Запрос.Текст = ТекстЗапроса;
    Выгрузка = Запрос.Выполнить().Выгрузить();

КонецПроцедуры

/////***и ушли на клиент***

&НаСервере
Процедура ПодключитьБазуИсточник(БазаБП)
                                                        
    СтрокаСоединения ="Srvr=""FileServer"";Ref=""sclad""; Usr = ***; Pwd=***;";        
    Соединитель = Новый COMObject("V83.COMConnector");                          
    Попытка
        БазаБП = Соединитель.Connect(СтрокаСоединения);
        СтрокаСообщения = НСтр("ru = 'Соединение установлено!'");
        ОбщегоНазначенияКлиентСервер.СообщитьПользователю(СтрокаСообщения);
    Исключение
        ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ОписаниеОшибки());
        БазаБП = Неопределено;    
    КонецПопытки;

КонецПроцедуры
1 sergeyshimkov
 
15.01.15
12:27
Подключение запихнуть общий модуль с повторным использованием возвращаемых значений
2 Cube
 
15.01.15
12:27
3 vicof
 
15.01.15
12:28
Сначала заставь пользователя принять все решения, а потом подключайся
4 sergeyshimkov
 
15.01.15
12:28
(2) Не будет работать на 8.3
5 Cube
 
15.01.15
12:30
(4) Обоснуешь?
6 mortal
 
15.01.15
12:30
(3) не вариант. данные тянутся из источника последовательно
(4) пруф
7 mortal
 
15.01.15
12:31
(2) изучаю...
8 Остап Сулейманович
 
15.01.15
12:33
(6) пруф будет предоставлен после выполнения на сервере вот этого вот :
ПоместитьВоВременноеХранилище(Обработчик,Новый УникальныйИдентификатор());
9 sergeyshimkov
 
15.01.15
12:39
(5) (6) В "1С:Предприятии 8.3" при помещении во временное хранилище значений, сериализация которых не поддерживается (например, ДокументОбъект.<Имя документа>, СправочникОбъект.<Имя справочника> и пр.), возникает ошибка "Переданное значение не может быть помещено во временное хранилище".
http://its.1c.ru/db/metod8dev#content:5293
10 mortal
 
15.01.15
12:47
(9) спасибо
(2) увы, не работает. проверил (платф.8.3.5.1248) :(

т.е. сабж не имеет решения?
11 Cube
 
15.01.15
12:48
(10) Поиск по форуму говорит, либо (1), либо COM+
12 Провинциальный 1сник
 
15.01.15
12:50
(11) Вот только в платформе 8.3 с повторным использованием на время сеанса намудрили.. там какая-то хитрая эвристика по сбросу этого кэша, может 20 минут держать, а может через 10 секунд забывать значение и соответственно будет вызываться функция..
13 Гёдза
 
15.01.15
12:52
(12) сколько серверов в кластере?
14 Провинциальный 1сник
 
15.01.15
12:52
(13) Я столкнулся с этой проблемой на файловой базе, подключаемой через веб-сервер... не на клиент-сервере.