|
Еще раз - про возврат ActiveDocument с сервера на клиент | ☑ | ||
---|---|---|---|---|
0
Pro100
17.05.18
✎
12:43
|
Здравствуйте.
У меня вопрос, перепробовал кучу вариантов уже, даже казалось бы такой простой вариант как : &НаСервере Функция ПоместитьМакетВХранилище(ИмяМакета) ОтчетОбъект = РеквизитФормыВЗначение("Объект"); Макет = ОтчетОбъект.ПолучитьМакет("Макет1"); ИмяВрем = ПолучитьИмяВременногоФайла(".xls"); Макет.Записать(ИмяВрем); АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ИмяВрем)); Возврат АдресВоВременномХранилище; КонецФункции &НаКлиенте Процедура Тест(Команда) Попытка МакетФайл = ПоместитьМакетВХранилище("Макет"); ДвоичныеДанные = ПолучитьИзВременногоХранилища(МакетФайл); ИмяФ = ПолучитьИмяВременногоФайла("xls"); ДвоичныеДанные.Записать(ИмяФ); Макет = ПолучитьCOMОбъект(ИмяФ);//инициализируем COM-объект Сообщить("Ура"); Исключение Сообщить("Не удалось получить макет"); Сообщить(ОписаниеОшибки()); КонецПопытки; КонецПроцедуры Вот при попытке инициализовать COM-объект 1С выдает ошибку: {ВнешняяОбработка.ВыгрузкаВБанк.Форма.Форма.Форма(307)}: Ошибка при вызове метода контекста (ПолучитьCOMОбъект): Ошибка получения объекта COM: -2146959355(0x80080005): Ошибка при выполнении приложения-сервера 1С:Предприятие 8.3 (8.3.10.2699) |
|||
1
PR
17.05.18
✎
12:44
|
Так так
|
|||
2
hhhh
17.05.18
✎
12:54
|
(0) зачем тут вообще com-объект?
|
|||
3
Pro100
17.05.18
✎
13:00
|
(2)
мне в дальнейшем надо будет заполнить файл эксель |
|||
4
3achem
17.05.18
✎
13:04
|
(3) А зачем создавать эксель на сервере? Создай на клиенте
|
|||
5
Pro100
17.05.18
✎
13:05
|
(4)
Мне надо заполнить файл экселя, который сидит в макете обработки и тип макета ActiveDocument, на клиенте он не работает... |
|||
6
3achem
17.05.18
✎
13:07
|
(5)
ПолученныйОбъект = Новый COMОбъект("EXCEL.Application"); Объект.ПолученныйCOMОбъект = ПоместитьВоВременноеХранилище(ПолученныйОбъект); Дальше на сервере получаешь из хранилища |
|||
7
Базис
naïve
17.05.18
✎
13:07
|
Работать с эксельными файлами надо на клиенте - и проще, и нет необходимости покупки больших лицензий на Excel.
|
|||
8
3achem
17.05.18
✎
13:15
|
(6) Извините, я дичь написал и не правильно понял задачу
|
|||
9
Pro100
17.05.18
✎
13:27
|
(7)
Ок, я готов работать на клиенте, подскажите как это сделать? У меня не получается... Как с макетом у которого тип ActiveDocument работать на клиенте? если клиент и сервер это разные компьютеры... Может конечно руки не оттуда растут ))))) |
|||
10
Вафель
17.05.18
✎
13:31
|
(6) так давно уже нельзя
|
|||
11
AlvlSpb
17.05.18
✎
13:49
|
(9) Как вариант (не пробовал, но вроде должно работать)
Получаешь файл из макета на сервере, сохраняешь на диск. Получаешь файл сом объектом, делаешь все что надо, сохраняешь и загружаешь назад в макет |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |