![]() |
|
Избежать нежелат. передачи данных между клиентом и сервером ... | ☑ | ||
---|---|---|---|---|
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) Спасибо - может быть Вы и правы , но тут уже был просто интерес - "КАК сделать вот это , каким образом сохранить доступность к структуре в клиентских процедурах , без передачи на сервер". Спасибо еще раз за помощь |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |