Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

УФ. передать объект с клиента на сервер

УФ. передать объект с клиента на сервер
Я
   Slon747
 
21.09.16 - 13:08
При открытии формы создаю объект внешней компоненты:

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    
    ProgID = "AddIn.oc1c";
    ПодключитьВнешнююКомпоненту(ProgID);
    ВК = Новый(ProgID);
    
КонецПроцедуры

Можно ли сделать так, чтобы в серверных процедурах модуля объекта объект ВК был доступен?
 
 
   DrShad
 
1 - 21.09.16 - 13:10
на серванте и создавай
   Slon747
 
2 - 21.09.16 - 13:11
(1) Не получается создать на сервере.
ПодключитьВнешнююКомпоненту() недоступно на сервере.
   Cyberhawk
 
3 - 21.09.16 - 13:12
Пихай ее во ВХ
   Cyberhawk
 
4 - 21.09.16 - 13:12
(в структуру)
   DrShad
 
5 - 21.09.16 - 13:12
Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Примечание:
   ovrfox
 
6 - 21.09.16 - 13:13
(2) Кто сказал? Это не так
   ovrfox
 
7 - 21.09.16 - 13:14
(2) Но сама компонента должна быть инсталирована на сервере, чтобы сервер мог ее подключить.
   Slon747
 
8 - 21.09.16 - 13:16
(5) Да, действительно ПодключитьВнешнююКомпоненту() доступна на сервере.

Но при попытке "oc1c = Новый(ProgID)" пишет:
Тип не определен (AddIn.oc1c)

База файловая.
   Slon747
 
9 - 21.09.16 - 13:16
(3) Подскажи пож. как запихнуть и передать на сервер.
   DrShad
 
10 - 21.09.16 - 13:17
файловая по сети?
 
 Рекламное место пустует
   Slon747
 
11 - 21.09.16 - 13:18
(10) На моем пк
   DrShad
 
12 - 21.09.16 - 13:19
и ты хочешь сказать на локальной машине клиент видит компонент, а сервант нет?
   Slon747
 
13 - 21.09.16 - 13:29
(12) Я не знаю, как передать созданный объект из клиента формы на сервер.
Или как создать на сервере.
   Cyberhawk
 
14 - 21.09.16 - 13:39
(9) Глобальный контекст.ПоместитьВоВременноеХранилище (Global context.PutToTempStorage)
Глобальный контекст (Global context)
ПоместитьВоВременноеХранилище (PutToTempStorage)
Синтаксис:

ПоместитьВоВременноеХранилище(<Данные>, <Адрес>)
Параметры:

<Данные> (обязательный)

Тип: Произвольный.
Данные, которые необходимо поместить во временное хранилище. 
<Адрес> (необязательный)

Тип: УникальныйИдентификатор; Строка.
Уникальный идентификатор формы, во временное хранилище которой надо поместить данные и вернуть новый адрес. Или адрес во временном хранилище, по которому надо поместить данные. Адрес должен быть получен ранее с помощью данного метода.
В случае, если передается УникальныйИдентификатор формы или адрес в хранилище, то значение будет автоматически удалено после закрытия этой формы.
Если передан УникальныйИдентификатор, не являющийся уникальным идентификатором формы, то значение будет удалено после завершения сеанса пользователя.
Если параметр не указан, помещенное значение будет удалено после очередного запроса сервера из общего модуля, при контекстном и неконтекстном серверном вызове из формы, при серверном вызове из модуля команды или при получении формы.
Возвращаемое значение:

Тип: Строка.
Адрес во временном хранилище.
Описание:

Сохраняет сериализуемое значение во временное хранилище.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Вызов метода выполняет обращение к серверу.

Примечание:

Временное хранилище, сформированное в одном сеансе, недоступно из другого сеанса.
Исключением является возможность передачи данных из фонового задания в сеанс, инициировавший фоновое задание, с помощью временного хранилища. Для такой передачи следует в родительском сеансе поместить во временное хранилище пустое значение, передав идентификатор формы. Затем полученный адрес передать в фоновое задание через параметры фонового задания. Далее, если этот адрес использовать в параметре <Адрес>, то результат будет скопирован в сеанс, из которого было запущено фоновое задание.
Данные, помещенные во временное хранилище в фоновом задании, не будут доступны из родительского сеанса до момента завершения фонового задания.
--------------------------------------------------------------------------------

     Методическая информация
   Slon747
 
15 - 21.09.16 - 14:05
(14) Спасибо.
Вот так пробую передать:

&НаКлиенте

АдресВремХран = ПоместитьВоВременноеХранилище(ВК);

Пишет:

Ошибка помещения значения во временное хранилище
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'request':
    форма: Элемент
    имя: {http://v8.1c.ru/8.2/mngsrv/ws}request
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'AddIn.oc1c'
   Slon747
 
16 - 21.09.16 - 14:14
Я так понял, никак не передать ВК с клиента на сервер?
   Cyberhawk
 
17 - 21.09.16 - 14:15
(16) Перечитай все мои сообщения в этой ветке
   Slon747
 
18 - 21.09.16 - 14:19
(17) В структуру?
   Cyberhawk
 
19 - 21.09.16 - 14:27
(18) Уже давно мог попробовать
   Slon747
 
20 - 21.09.16 - 14:27
(17) В каком сообщении разгадка?
   Slon747
 
21 - 21.09.16 - 14:28
(19)
АдресВремХран = ПоместитьВоВременноеХранилище(Новый Структура("oc1c", oc1c));

То же самое
   DmitrO
 
22 - 21.09.16 - 14:35
Объект ВК нельзя передать на сервер. Забудь про это.
   Slon747
 
23 - 21.09.16 - 14:37
(22) Я уже догадался. Но как его создать на сервере?
   DmitrO
 
24 - 21.09.16 - 14:54
(23)точно так же, если этот объект допустимо создавать на сервере.

Детали описаны в документации.
   Slon747
 
25 - 21.09.16 - 14:57
(24) Если на клиенте ПодключитьВнешнююКомпоненту(ProgID) возвращает Истина, то на сервере - Ложь.
   DmitrO
 
26 - 21.09.16 - 14:58
Вариант подключения по ProgID на сервере использовать нельзя, об этом написано в документации.
   Slon747
 
27 - 21.09.16 - 15:22
(26)
По полному пути подключил библиотеку.
А как теперь создать объект ВК?
На клиенте это было так:
oc1c = Новый(ProgID)
   Slon747
 
28 - 21.09.16 - 15:27
Возможно, что библиотека не на Com или NativeApi.
Поэтому, на сервере никак.
   Cyberhawk
 
29 - 21.09.16 - 16:29
(20) В (4), но с учетом (21) попробуй указать еще и второй параметр (создай новый УИД и укажи его)


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует