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

1С:Предприятие ::

Метки: 

Внешняя печатная форма на Activate УФ

Я
   Sayan_mi
 
01.12.17 - 14:11
День добрый.
Не подскажите ли как обойти ситуацию.
Макет хранится в обработке.
Получить его:
ткОбъект = РеквизитФормыВЗначение("Объект");
Макет = ткОбъект.ПолучитьМакет("Макет");
Могу только на сервере.
А получить вордовский документ 
MsWord =  Макет.Получить(); 
Только на клиенте. Причем передать Макет с сервера на клиент не получается. Как обходится эта ситуация?
 
 
   1c-bs
 
1 - 01.12.17 - 14:20
(0) Через ТабличныйДокумент например.
   nordbox
 
2 - 01.12.17 - 14:26
ИМХО
а функцию написать которая бы выполнялась на сервере и  возвращала макет, а на клиенте ее вызвать пробовала?
   nordbox
 
3 - 01.12.17 - 14:29
&НаСервере
Функция ВернутьМакет()
ткОбъект = РеквизитФормыВЗначение("Объект");
Макет = ткОбъект.ПолучитьМакет("Макет"); 
КонецФункции

&НаКлиенте
Процедура ЧтоТоСделать()
МакетНаКлиенте=ВернутьМакет()
КонецПроцедуры
   Sayan_mi
 
4 - 01.12.17 - 14:42
(3) я так и сделал, так оно не работает выдаёт ошибку: Ошибка отображения типов: Отсутствует отображение для типа "ОблочкаActiveDocement".
   Sayan_mi
 
5 - 01.12.17 - 14:44
(4) имеется в виду выдаёт при передаче макета.
   Сергиус
 
6 - 01.12.17 - 14:51
(0)А какая цель итоговая? Отобразить на клиенте файл? Зачем тогда тащить туда макет(на клиент) - сделай все на сервере, сохрани там получившийся файл в ДвоичныеДанные, их и верни на клиента. А там уж обработно в файл ворд отобрази.
   nordbox
 
7 - 01.12.17 - 14:57
   Sayan_mi
 
8 - 01.12.17 - 15:12
(6) А как на сервере подправить макет? MsWord =  Макет.Получить(); На сервере не работает.
   Сергиус
 
9 - 01.12.17 - 16:20
(8)В смысле подправить? На сервере может быть не доступно отображение, а работа с макетом там 100% возможна.
   Сергиус
 
10 - 01.12.17 - 16:21
+(9)Повторю вопрос - какая итоговая цель, что нужно сделать/получить?
 
  Рекламное место пустует
   Sayan_mi
 
11 - 04.12.17 - 08:19
(10) Нужно вывести внешний отчет в котором макет ActiveDocument. С обычным макетом проблем нет Прекрасно на сервере заполняется и передаётся в коллекцию печатных форм.
при ActiveDocument на сервере не срабатывает Макет.Получить(), на клиент не могу передать макет.
   LordCMEPTb
 
12 - 04.12.17 - 12:16
А если макет сделать двоичными данными, на сервере их получить, на клиента вернуть, а уже на клиенте открыть и редактировать в com-приложении?
   Сергиус
 
13 - 04.12.17 - 13:17
(11)Скорее всего на сервере не установлен Word.
   Flover
 
14 - 04.12.17 - 13:25
1. Макет хранится в двоичных данных
2. На сервере получаешь двоичные данные и передаешь их клиенту
3. на клиенте сохраняешь эти двоичные данные и открываешь их через комобъект ворда. ворд должен быть на компе установлен.
4. работаешь на клиенте с комобъектом ворда.

П.С. при работе на сервере с вордом - у пользователя, под которым запкускается сервер 1С, обычно это USER1C должны быть права на ззапуск комобъектов + должны быть права на апись файлов.
По умолчанию таких прав у данного пользователя нет и попытка поработать с вордом или экселем, хоть они установлены на сервере приводет к ошибке.
   4serg
 
15 - 04.12.17 - 13:50
Поддерживаю 14. ActiveDocument заменяем на двоичные данные и работаем.


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