Имя: Пароль:
1C
1С v8
Макет Word двоичные данные
,
0 seraf
 
27.12.19
15:21
Подскажите, что не так в коде, путь в темп папку формируется, но я его не вижу
Произошла исключительная ситуация (Microsoft Word): Файл не найден.

&НаСервере
Функция ПолучитьМакет(Договор)
    
    Об = Договор.ПолучитьОбъект();
    ДвоичныеДанныеМакета = Об.ПолучитьМакет("ШаблонПечати");
    ИмяФайла = ПолучитьИмяВременногоФайла("docx");
        ДвоичныеДанныеМакета.Записать(ИмяФайла);

    Возврат ИмяФайла;

КонецФункции

&НаКлиенте
Процедура ЗаполнитьШаблонВорд(Договор)

    ИмяФайла = ПолучитьМакет(Договор);

    Попытка
        ОбъектВорд = Новый COMОбъект("Word.Application");
    Исключение
        Сообщить("Ошибка при запуске MS Word" + ОписаниеОшибки());
    КонецПопытки;    

    ОбъектВорд.Documents.Add(ИмяФайла);
       ...
КонецПроцедуры
1 yzimin
 
27.12.19
15:24
Клиент и сервер в разных местах?
2 seraf
 
27.12.19
15:25
(1) да, а как правильно делать в таком случае "на лету"
3 yzimin
 
27.12.19
15:28
(2) ПолучитьИмяВременногоФайла и записать() делать на клиенте
4 seraf
 
27.12.19
15:30
логично, не подумал, спасибо
5 GROOVY
 
27.12.19
15:30
Макет в ХЗ, адрес ХЗ клиенту и там получать имя файла и делать запись ХЗ в файл.
6 seraf
 
27.12.19
15:35
(5) та вроде и так двоичные данные передались, открылось, есть разница помещать в ХЗ или нет?
7 ИС-2
 
naïve
27.12.19
15:39
(0) вообще-то есть типовой функционал для печатных форм в ворде.
Делаем макет с префиксом ПФ_DOC_. Заполняем параметры в макете тегами {V8: имяпараметра}. Дальше все как в стандарной печатной форме
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.