Имя: Пароль:
1C
 
Печать в WORD
0 0level
 
26.11.18
04:21
Создал ВПФ, макет активдокумент, заполнение на сервере, сохранение двоичных данных во временное хранилище и передача на клиент. Печатная форма к документе кадровый перевод списком, когда в кадровом переводе мало сотрудников, например два, форма печатает ОК. Но при большем количестве сотрудников вываливается ошибка передачи POST запроса. В файловом варианте ошибки нет, ошибка в клиент серверном.

Как исправить ошибку? Ошибка происходит в момент получения макета.

Обработка=РеквизитФормыВЗначение("Объект");
        
        Макет=Обработка.ПолучитьМакет(МакетИмя);
        ИмяВременногоФайла = ПолучитьИмяВременногоФайла("doc");
        Макет.Записать(ИмяВременногоФайла);
        Макет = Неопределено;        
        Попытка
            MSWord = Новый COMОбъект("Word.Application");
            MSWord.Application.Displayalerts = Ложь;
        Исключение
            ВызватьИсключение "Не получается запустить MS Word!";
        КонецПопытки;
        
        MSWord.Application.Displayalerts = Ложь;
        MSWord.Application.Visible = Ложь;
        ДокументWord = MSWord.Documents.Open(ИмяВременногоФайла);
        
        Для каждого Параметр из  ПараметрыМакета Цикл
            ЗаполнитьПараметр(ДокументWord, Параметр.Ключ, Параметр.Значение);
        КонецЦикла;
        ДокументWord.Save();
        ДокументWord.Close();
        MSWord.Application.Quit();
        ДокументWord = Неопределено;
        MSWord = Неопределено;
        ДвоичныеДанныеФайла = Новый ДвоичныеДанные(ИмяВременногоФайла);
        
        АдресФайлаВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанныеФайла);
        ИмяФайла="Доп.соглашение "+ПараметрыМакета.Сотрудник.Наименование+" "+Строка(ПараметрыМакета.Ссылка);
        ПолучаемыйФайл = Новый ОписаниеПередаваемогоФайла(ИмяФайла, АдресФайлаВоВременномХранилище);
        
        ПомещенныеФайлы.Добавить(ПолучаемыйФайл);
        УдалитьФайлы(ИмяВременногоФайла);
Закон Брукера: Даже маленькая практика стоит большой теории.