Имя: Пароль:
1C
1С v8
Как сохранить отчет в pdf
0 sergey198
 
19.08.11
18:58
Привет.
Может у кого есть рабочий код или примерчик. Нужно на 8.2 на сервере сохранять печ. форму.
Спасибо.
1 Нуф-Нуф
 
19.08.11
19:04
Отправляй на пдф принтер
2 SmallDog
 
19.08.11
19:05
подключиться к библиотекам адобе
3 sergey198
 
19.08.11
19:07
(1) пытался. установил но при отправке открывается сам принтер.
(2) Почитал в инете подключился , все работает, но при печати на сервере виснет платформа..
4 SmallDog
 
19.08.11
19:10
(3) разбираться не буду, отправляй на pdf-принтер
5 shuhard
 
19.08.11
19:12
(3) попробуй PDFCreator
6 sergey198
 
19.08.11
19:12
а есть пример кода?
7 shuhard
 
19.08.11
19:14
(6) v8: Вопрос
vjgtl yt vjq
8 sergey198
 
19.08.11
19:22
спасибо
9 sergey198
 
22.08.11
09:10
Результат = ИСТИНА;
   ИмяФайлаПечати = ФайлПечати;
   Если ПроверитьПутьКФайлу(ИмяФайлаПечати) тогда
       Каталог = "D:\test\";
       Если Прав(Каталог,1)= "\" тогда Иначе
           Каталог = Каталог+"\";
       КонецЕсли;    
       ФайлПечати = СтрЗаменить(ИмяФайлаПечати, Каталог, "");
       Попытка
           ОбъектПринтер = Новый COMObject("PDFCreator.clsPDFCreator");
           PDFПринтеры = ОбъектПринтер.cGetPDFCreatorPrinters();
           
           НаборОпций=ОбъектПринтер.cReadOptions();
           НаборОпций.UseAutosaveDirectory = 1; // сохранять в
           НаборОпций.AutosaveDirectory = Каталог;  // путь автосохранеия
           НаборОпций.AutosaveFilename = ФайлПечати; // имя файла
           НаборОпций.AutosaveFormat = 0;    // формат - PDF
           НаборОпций.PDFColorsColorModel = 2; // цвет - серый
           НаборОпций.PDFUseSecurity = 1; // защита PDF
           НаборОпций.PDFDisallowCopy = 1; // защита PDF
           НаборОпций.PDFDisallowModifyContents = 1; // защита PDF
                   
           НаборОпций.UseAutosave=1; // автосохранение
           
           ОбъектПринтер.cOptions=НаборОпций;

           ОбъектПринтер.cStart();
       Исключение
           //Не смогли подключить Принтер.
           Возврат Ложь;
       КонецПопытки;    
       
       Попытка
           ТабДокумент.ИмяПринтера = PDFПринтеры.Item(1);
           ТабДокумент.Напечатать(ИСТИНА);
           
           // Нужно дождаться окончания формирования PDF файла
           PDFФайл = Новый Файл(ИмяФайлаПечати);
           ДатаОкончания = ТекущаяДата() + ТаймаутОжиданияПечати;
           Пока НЕ (PDFФайл.Существует()ИЛИ(ТекущаяДата() >= ДатаОкончания)) Цикл
               // Ждем пока файл не станет доступным
           КонецЦикла;
           Результат = PDFФайл.Существует();
           
       Исключение
           Сообщить(ОбъектПринтер.cErrorDetail("Description"));
           Результат = ЛОЖЬ;  //Какая то ошибка при формировании файла PDF
       КонецПопытки;
       
   Иначе
       Результат = ЛОЖЬ; //не смогли работать с каталогом или файлом.
   КонецЕсли;    
   
   объектПринтер.cClose();
   объектПринтер = неопределено;    
   Возврат Результат;
10 sergey198
 
22.08.11
09:11
При попытки сохранить на строчке
НаборОпций=ОбъектПринтер.cReadOptions();
НаборОпций - неопределено, а если вычислить руками то все ок. Почему так?
11 lxs
 
22.08.11
09:13
BULLZIP наше все
12 sergey198
 
22.08.11
09:23
Спасибо.