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