![]() |
|
Ошибка ПолучитьИзВременногоХранилища в управляемом приложении | ☑ | ||
---|---|---|---|---|
0
DomenER
14.05.19
✎
10:12
|
Всем привет.
Пытаюсь передать шаблон ActiveDocument с сервера на клиент, но появляется ошибка. Подскажите как можно исправить? Код общего модуля: &НаСервере Функция ПолучитьДанныеМакета(ИмяМакета) экспорт АдресХранилища = Новый УникальныйИдентификатор(); Макет = Справочники.гпаДоговора.ПолучитьМакет(ИмяМакета); //ОбработкаОбъект.ПолучитьМакет(ИмяМакета); Возврат ПоместитьВоВременноеХранилище(Макет, АдресХранилища); КонецФункции Код из формы: &НаКлиенте Процедура Тест(Команда) Индификатор = гпаОбщийМодуль.ПолучитьДанныеМакета("Макет"); МакетПисьма = ПолучитьИзВременногоХранилища(Индификатор); Индификатор заполняется и вижу ссылку в конфигураторе, а вот на 2-й строке вываливается ошибка: Ошибка при вызове метода контекста (ПолучитьИзВременногоХранилища) Office на серваке нету. |
|||
1
fisher
14.05.19
✎
10:17
|
Боюсь, у меня плохие новости...
|
|||
2
DomenER
14.05.19
✎
10:18
|
(1) Что не так делаю?
|
|||
3
palsergeich
14.05.19
✎
10:19
|
Наверное не надо передавать ActiveDocument в другой контекст. Логично же
|
|||
4
DomenER
14.05.19
✎
10:23
|
(3) Т.е. 1С-ка не может принять в контексте клиента шаблон ActiveDocument?
Здесь в комментах пишут пример с передачей через хранилище http://catalog.mista.ru/public/270277/ |
|||
5
Cyberhawk
14.05.19
✎
10:25
|
"Индификатор" лол
|
|||
6
DomenER
14.05.19
✎
10:26
|
(5) Взято из примера. И имена переменных пока не важна.
|
|||
7
Cyberhawk
14.05.19
✎
10:31
|
(6) Какого примера?
|
|||
8
DomenER
14.05.19
✎
10:34
|
||||
9
sqr4
14.05.19
✎
10:38
|
Так в статье из (4)
Таким образом наша предыдущая схема превращается вот во что: 1 – &НаСервере Получаем макет ActiveDocument 2 – &НаСервере Сохраняем полученный макет в файл и возвращаем на клиент полное имя файла (полный путь + наименование с расширением) 3 – &НаКлиенте Инициализируем COM-объект из файла 4 - &НаКлиенте заполняем и выводим этот COM-объект |
|||
10
DomenER
14.05.19
✎
10:39
|
(9) В комментах написан пример через временное хранилище.
|
|||
11
Cyberhawk
14.05.19
✎
10:40
|
ВХ надо к форме привязанный передавать, а не генерировать на сервере
|
|||
12
sqr4
14.05.19
✎
10:43
|
(10) Так там в качестве макета передаются двоичные данные, а у вас?
|
|||
13
DomenER
14.05.19
✎
10:44
|
(12) У меня ActiveDocument. Выходит двоичные данные передать можно, а ActiveDocument через ВХ уже нельзя.
|
|||
14
sqr4
14.05.19
✎
10:46
|
(13) Так там и весь прикол в этом
|
|||
15
DrZombi
гуру
14.05.19
✎
10:46
|
(0) Передать на клиент "Двоичный тип", т.е. файлик сохранить...
И открыть на клиенте :) |
|||
16
palsergeich
14.05.19
✎
10:47
|
(13) совершенно верно
|
|||
17
DrZombi
гуру
14.05.19
✎
10:47
|
(13) ActiveDocument - это ОЛЕ, карл, ОЛЕ :)
https://docs.microsoft.com/ru-ru/office/vba/api/word.application |
|||
18
DomenER
14.05.19
✎
10:49
|
(15) Похоже так и придётся. Хотелось проще - через ActiveDocument.
Или вариант сохранять файл на сервере во временный каталог и передавать его на клиент. Нет простых путей у 1С-ки... |
|||
19
sqr4
14.05.19
✎
11:02
|
(18) наверно на делфи, такое вообще офигеешь делать.
|
|||
20
palsergeich
14.05.19
✎
11:09
|
(18) А при чем тут одинэска, окружение меняется, на чем не делай - просто не выйдет
|
|||
21
DomenER
14.05.19
✎
11:36
|
(20) В обычных (не управляемых) формах как то проще всё получалось с шаблонами работать...
|
|||
22
palsergeich
14.05.19
✎
11:37
|
(21) а вот попробовал бы ты его передать в ОМ с директивой компиляции Сервер без Клиент обычное приложение
|
|||
23
palsergeich
14.05.19
✎
11:37
|
Результат был бы абсолютно тот же
|
|||
24
Franchiser
гуру
14.05.19
✎
12:04
|
АдресХранилища = Новый УникальныйИдентификатор();
Это адрес хранилища??? |
|||
25
DomenER
14.05.19
✎
15:44
|
(24) генерируется строка вида "d550ae44-43e2-4e0c-a3e7-9f655747015f"
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |