![]() |
|
УФ. передать объект с клиента на сервер | ☑ | ||
---|---|---|---|---|
0
Slon747
21.09.16
✎
13:08
|
При открытии формы создаю объект внешней компоненты:
&НаКлиенте Процедура ПриОткрытии(Отказ) ProgID = "AddIn.oc1c"; ПодключитьВнешнююКомпоненту(ProgID); ВК = Новый(ProgID); КонецПроцедуры Можно ли сделать так, чтобы в серверных процедурах модуля объекта объект ВК был доступен? |
|||
1
DrShad
21.09.16
✎
13:10
|
на серванте и создавай
|
|||
2
Slon747
21.09.16
✎
13:11
|
(1) Не получается создать на сервере.
ПодключитьВнешнююКомпоненту() недоступно на сервере. |
|||
3
Cyberhawk
21.09.16
✎
13:12
|
Пихай ее во ВХ
|
|||
4
Cyberhawk
21.09.16
✎
13:12
|
(в структуру)
|
|||
5
DrShad
21.09.16
✎
13:12
|
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. Примечание: |
|||
6
ovrfox
21.09.16
✎
13:13
|
(2) Кто сказал? Это не так
|
|||
7
ovrfox
21.09.16
✎
13:14
|
(2) Но сама компонента должна быть инсталирована на сервере, чтобы сервер мог ее подключить.
|
|||
8
Slon747
21.09.16
✎
13:16
|
(5) Да, действительно ПодключитьВнешнююКомпоненту() доступна на сервере.
Но при попытке "oc1c = Новый(ProgID)" пишет: Тип не определен (AddIn.oc1c) База файловая. |
|||
9
Slon747
21.09.16
✎
13:16
|
(3) Подскажи пож. как запихнуть и передать на сервер.
|
|||
10
DrShad
21.09.16
✎
13:17
|
файловая по сети?
|
|||
11
Slon747
21.09.16
✎
13:18
|
(10) На моем пк
|
|||
12
DrShad
21.09.16
✎
13:19
|
и ты хочешь сказать на локальной машине клиент видит компонент, а сервант нет?
|
|||
13
Slon747
21.09.16
✎
13:29
|
(12) Я не знаю, как передать созданный объект из клиента формы на сервер.
Или как создать на сервере. |
|||
14
Cyberhawk
21.09.16
✎
13:39
|
(9) Глобальный контекст.ПоместитьВоВременноеХранилище (Global context.PutToTempStorage)
Глобальный контекст (Global context) ПоместитьВоВременноеХранилище (PutToTempStorage) Синтаксис: ПоместитьВоВременноеХранилище(<Данные>, <Адрес>) Параметры: <Данные> (обязательный) Тип: Произвольный. Данные, которые необходимо поместить во временное хранилище. <Адрес> (необязательный) Тип: УникальныйИдентификатор; Строка. Уникальный идентификатор формы, во временное хранилище которой надо поместить данные и вернуть новый адрес. Или адрес во временном хранилище, по которому надо поместить данные. Адрес должен быть получен ранее с помощью данного метода. В случае, если передается УникальныйИдентификатор формы или адрес в хранилище, то значение будет автоматически удалено после закрытия этой формы. Если передан УникальныйИдентификатор, не являющийся уникальным идентификатором формы, то значение будет удалено после завершения сеанса пользователя. Если параметр не указан, помещенное значение будет удалено после очередного запроса сервера из общего модуля, при контекстном и неконтекстном серверном вызове из формы, при серверном вызове из модуля команды или при получении формы. Возвращаемое значение: Тип: Строка. Адрес во временном хранилище. Описание: Сохраняет сериализуемое значение во временное хранилище. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер). Вызов метода выполняет обращение к серверу. Примечание: Временное хранилище, сформированное в одном сеансе, недоступно из другого сеанса. Исключением является возможность передачи данных из фонового задания в сеанс, инициировавший фоновое задание, с помощью временного хранилища. Для такой передачи следует в родительском сеансе поместить во временное хранилище пустое значение, передав идентификатор формы. Затем полученный адрес передать в фоновое задание через параметры фонового задания. Далее, если этот адрес использовать в параметре <Адрес>, то результат будет скопирован в сеанс, из которого было запущено фоновое задание. Данные, помещенные во временное хранилище в фоновом задании, не будут доступны из родительского сеанса до момента завершения фонового задания. -------------------------------------------------------------------------------- Методическая информация |
|||
15
Slon747
21.09.16
✎
14:05
|
(14) Спасибо.
Вот так пробую передать: &НаКлиенте АдресВремХран = ПоместитьВоВременноеХранилище(ВК); Пишет: Ошибка помещения значения во временное хранилище по причине: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа. по причине: Ошибка преобразования данных XDTO: Запись значения свойства 'request': форма: Элемент имя: {http://v8.1c.ru/8.2/mngsrv/ws}request по причине: Ошибка отображения типов: Отсутствует отображение для типа 'AddIn.oc1c' |
|||
16
Slon747
21.09.16
✎
14:14
|
Я так понял, никак не передать ВК с клиента на сервер?
|
|||
17
Cyberhawk
21.09.16
✎
14:15
|
(16) Перечитай все мои сообщения в этой ветке
|
|||
18
Slon747
21.09.16
✎
14:19
|
(17) В структуру?
|
|||
19
Cyberhawk
21.09.16
✎
14:27
|
(18) Уже давно мог попробовать
|
|||
20
Slon747
21.09.16
✎
14:27
|
(17) В каком сообщении разгадка?
|
|||
21
Slon747
21.09.16
✎
14:28
|
(19)
АдресВремХран = ПоместитьВоВременноеХранилище(Новый Структура("oc1c", oc1c)); То же самое |
|||
22
DmitrO
21.09.16
✎
14:35
|
Объект ВК нельзя передать на сервер. Забудь про это.
|
|||
23
Slon747
21.09.16
✎
14:37
|
(22) Я уже догадался. Но как его создать на сервере?
|
|||
24
DmitrO
21.09.16
✎
14:54
|
(23)точно так же, если этот объект допустимо создавать на сервере.
Детали описаны в документации. |
|||
25
Slon747
21.09.16
✎
14:57
|
(24) Если на клиенте ПодключитьВнешнююКомпоненту(ProgID) возвращает Истина, то на сервере - Ложь.
|
|||
26
DmitrO
21.09.16
✎
14:58
|
Вариант подключения по ProgID на сервере использовать нельзя, об этом написано в документации.
|
|||
27
Slon747
21.09.16
✎
15:22
|
(26)
По полному пути подключил библиотеку. А как теперь создать объект ВК? На клиенте это было так: oc1c = Новый(ProgID) |
|||
28
Slon747
21.09.16
✎
15:27
|
Возможно, что библиотека не на Com или NativeApi.
Поэтому, на сервере никак. |
|||
29
Cyberhawk
21.09.16
✎
16:29
|
(20) В (4), но с учетом (21) попробуй указать еще и второй параметр (создай новый УИД и укажи его)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |