![]() |
![]() |
![]() |
|
Передача двоичных данных на веб-клиент 8.3 Инвентаризация и управление имуществом 2.0 | ☑ | ||
---|---|---|---|---|
0
Uliana0_0
31.07.21
✎
22:12
|
Пытаюсь передать файл PDF с сервера на веб-клиент. Ошибка такая "На сервере 1С:Предприятия произошла неисправимая ошибка. Приложение будет закрыто", но не думаю, что проблема на сервере. Пробовала и на других серверах запускать та же ошибка. Вот код сервера\клиента.
&НаКлиенте Процедура Печать(ИдентификаторКоманды, МассивОбъектов) Экспорт АдресВременногоХранилища=""; ПечатьНаСервере(ИдентификаторКоманды,МассивОбъектов,АдресВременногоХранилища); НачатьПолучениеФайлаССервера(АдресВременногоХранилища); КонецПроцедуры &НаСервере Процедура ПечатьНаСервере(ИдентификаторКоманды,МассивОбъектов,АдресВременногоХранилища) Для Каждого ДокОбъект Из МассивОбъектов Цикл Данные = ПолучитьДанные(ДокОбъект); Если данные <> Неопределено Тогда Word = Новый COMОбъект("Word.Application"); Макет = ПолучитьМакетСервер(ИдентификаторКоманды); временныйПуть = КаталогВременныхФайлов(); имяВременногоФайла = временныйПуть + "gph.docx"; имяВременногоФайлаPDF = временныйПуть + "gph.pdf"; Макет.Записать(имяВременногоФайла); ТекДок = Word.Documents.ADD(имяВременногоФайла); ЗначениеВЗакладку(ТекДок,"НомерДоговора", Данные.НомерДоговора); ЗначениеВЗакладку(ТекДок,"НомерДоговора2", Данные.НомерДоговора); ЗначениеВЗакладку(ТекДок,"НомерДоговора3", Данные.НомерДоговора); ЗначениеВЗакладку(ТекДок,"ДатаДокумента", Формат(Данные.Дата, "ДЛФ=ДД")); ЗначениеВЗакладку(ТекДок,"ДатаДокумента2", Формат(Данные.Дата, "ДЛФ=ДД")); ЗначениеВЗакладку(ТекДок,"ДатаДокумента3 ", Формат(Данные.Дата, "ДЛФ=ДД")); ЗначениеВЗакладку(ТекДок,"ДатаДокумента4", Формат(Данные.Дата, "ДЛФ=ДД")); ЗначениеВЗакладку(ТекДок,"ПолноеНаименованиеОрганизации", Данные.НаименованиеПолное); ЗначениеВЗакладку(ТекДок,"ПолноеНаименованиеОрганизации2", Данные.НаименованиеПолное); ЗначениеВЗакладку(ТекДок,"КраткоеНаименованиеОрганизации", Данные.НаименованиеСокращенное); КраткоеФИОФизЛица = ФамилияИнициалы(Строка(Данные.ФизическоеЛицо)); ЗначениеВЗакладку(ТекДок,"КраткоеФИОФизЛица", КраткоеФИОФизЛица); ЗначениеВЗакладку(ТекДок,"КраткоеНаименованиеОрганизации2", Данные.НаименованиеСокращенное); ЗначениеВЗакладку(ТекДок,"АдресОрганизации", Данные.ЮрАдрес); ЗначениеВЗакладку(ТекДок,"ИНН", Данные.ИНН); ЗначениеВЗакладку(ТекДок,"КПП", Данные.КПП); ЗначениеВЗакладку(ТекДок,"КраткоеФИОФизЛица2", КраткоеФИОФизЛица); ЗначениеВЗакладку(ТекДок,"КратФИОФизЛица", КраткоеФИОФизЛица); ЗначениеВЗакладку(ТекДок,"ФИОФизЛица", Данные.ФизическоеЛицо); ЗначениеВЗакладку(ТекДок,"АдресФизЛица", Данные.АдресФизЛица); ЗначениеВЗакладку(ТекДок,"ИННФЛ", Данные.ИННФЛ); ЗначениеВЗакладку(ТекДок,"ДанныеПаспортаФизЛица", Данные.Паспорт); ТекДок.Tables(2).Select(); СписокПодарков = СтруктураПодарки(ДокОбъект); I = 1; Для Каждого Подарок Из СписокПодарков Цикл word.selection.InsertRowsBelow(1); word.selection.rows(1).cells(1).Range.Text = I; word.selection.rows(1).cells(2).Range.Text = Строка(Подарок.Значение.Название); word.selection.rows(1).cells(3).Range.Text = Строка(Подарок.Значение.Количество); word.selection.rows(1).cells(4).Range.Text = Строка(Подарок.Значение.ИмуществоЦенаПоступления); word.selection.rows(1).cells(5).Range.Text = Строка(Подарок.Значение.Сумма); I = I + 1; КонецЦикла; Range = ТекДок.Range(); Table = Range.Tables(5); СтрокаОбразец = Table.Rows(1); Для Каждого Подарок из СписокПодарков Цикл НоваяСтрока = Table.Rows.Add(СтрокаОбразец); НоваяСтрока.Cells(1).Range.Text = Строка(Подарок.Значение.Название); КонецЦикла; СтрокаОбразец.Delete(); ТекДок.Fields.Update(); //ТекДок.ExportAsFixedFormat(имяВременногоФайлаPDF , 17); //Word.ActiveWindow.View.ShowFieldCodes = False; //Word.Visible=Истина; ТекДок.SaveAs2(имяВременногоФайлаPDF,17); ТекДок.Close(Ложь); Word.Application.Quit(0); ДвоичныеДанные = Новый ДвоичныеДанные(имяВременногоФайлаPDF); АдресВременногоХранилища = ПоместитьВоВременноеХранилище(ДвоичныеДанные,КаталогВременныхФайлов()+"gph.pdf"); КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
1
Uliana0_0
31.07.21
✎
22:22
|
Ошибка при выполнении файловой операции 'e1cib/tempstorage/4144dbb3-925f-4d6e-b883-5d31701b5594?seanceId=8c967155-1ee0-494c-90f0-1d011d73d206&seanceId=8c967155-1ee0-494c-90f0-1d011d73d206'. Значение данного типа невозможно преобразовать для передачи как файл. (Неопределено)
Новая ошибка. Похоже двоичные данные нельза передать на веб, да? |
|||
2
acht
31.07.21
✎
23:21
|
(0) > ПоместитьВоВременноеХранилище(ДвоичныеДанные,КаталогВременныхФайлов()+"gph.pdf");
Это что? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |