|
Избежать нежелат. передачи данных между клиентом и сервером ... |
☑ |
0
Ион
29.10.14
✎
13:50
|
Ситуация следующая. Делаю обработку с управляемой формой для импорта данных из Excel и создания нескольких документов в БП.
СOM-объект Excel хранится у меня в структуре
СтруктПараметры.Док=ПолучитьCOMОбъект(СтруктПараметры.ПолноеИмяФайла);
инициализирую я его в одной клиентской процедуре (в событии НачалоВыбора элемента) , а использовать нужно далее в другой - сама загрузка собственно, соответственно создал реквизит формы "СтруктПараметры" произвольного типа (для видимости СтруктПараметры в разных клиентских процедурах). На клиенте весь код нормально отрабатывает до момента исполнения процедуры создания документов, которая , понятно, исполняется на сервере (контекстная).
Выдает :
========================================================
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
....
Ошибка отображения типов:
Отсутствует отображение для типа 'COMОбъект'
=======================================================
Т.е. платформа пытается передать на сервер контекст , и соотв. не может передать этот реквизит формы произвольного типа "СтруктПараметры" , где хранится COMОбъект (я его , собственно передавать туда на сервер и не хотел).
Вопрос : Где в этой ситуации правильно хранить данную структуру "СтруктПараметры"(она мне нужна только на клиенте), чтобы она была доступна в различных клиентских процедурах , но на сервер не передавалась ? Спасибо.
|
|
1
18_plus
29.10.14
✎
14:10
|
можно вызывать &насерверебезконтекста
только зачем где-то хранить COM-объект? прочитал эксельку-выбросил.
|
|
2
DmitrO
29.10.14
✎
14:14
|
хранить в переменной модуля формы с директивой компиляции НаКлиенте. В начале модуля:
&НаКлиенте
Перем СтруктПараметры;
|
|
3
Ион
29.10.14
✎
14:17
|
(1) Сначала при выборе файла нужно проанализировать файл, взять из него некоторую инф. , которая нужна для пользователя для проставления опций загрузки
(2)Вот это сейчас попробую
|
|
4
18_plus
29.10.14
✎
14:20
|
(3) а зачем при этом держать открытым файл?
а если пользователь передумал и закрыл обработку? нужно закрывать эксель, иначе в процессах висеть останется.
|
|
5
18_plus
29.10.14
✎
14:22
|
и плюс захваченный файл
|
|
6
Ион
29.10.14
✎
14:29
|
(2) Спасибо большое - именно так получилось! Я пробовал переменную модуля формы создать , да не догадался директиву компиляции к ней добавить , соотв. кучу ошибок показывал.
(4,5) Спасибо - может быть Вы и правы , но тут уже был просто интерес - "КАК сделать вот это , каким образом сохранить доступность к структуре в клиентских процедурах , без передачи на сервер". Спасибо еще раз за помощь
|
|