Имя: Пароль:
 
1C
1C 7.7
v7: Печать PDF файлов
0 Dimon_75
 
25.11.11
15:57
Добрый день.Столкнулся с такой проблемой.Нужно распечатать PDF Файлы из 1С 7.7 ТИС .Вот код:
                   
ТЧдокументы.ВыбратьСтроки();

Пока ТЧдокументы.ПолучитьСтроку()=1 Цикл

Если ТЧдокументы.Пометка=МеткиНет тогда
   Продолжить;
КонецЕсли;

Если ФС.СуществуетФайл(СокрЛП(ТЧдокументы.Архив.Файл))=0 тогда
       Сообщить("Документ :"+ТЧдокументы.СчетФактура+РазделительСтрок+
        "           Не найден файл архива или путь к файлу не существует.Документ не будет распечатан.","!");

   Продолжить;
КонецЕсли;    

Акробат = СоздатьОбъект("shell.application");
Акробат.ShellExecute(СокрЛП(ТЧдокументы.Архив.Файл), "", "", "print", 1);


КонецЦикла;

Печатает как надо, но после печати остается окно Акробата.Как его убрать программно после окончания печати.Может подскажет кто?Пол дня сегодня бьюсь с этим окошком.
1 Dimon_75
 
25.11.11
15:59
Акробат = СоздатьОбъект("shell.application");
Акробат.ShellExecute(СокрЛП(ТЧдокументы.Архив.Файл), "", "", "print", 0)
так тоже пробовал
2 filh
 
25.11.11
16:01
TASKKILL /?
3 Dimon_75
 
25.11.11
16:12
(2)А как применить "taskkill /?"
4 andrewks
 
25.11.11
16:15
(3) пуск-выполнить-cmd.exe - там забить этот текст
5 Dimon_75
 
25.11.11
16:17
(4)да это я понимаю.Какой мне процесс прибить...как его идентифицировать
6 andrewks
 
25.11.11
16:18
(5) по названию исполняемого файла
7 Dimon_75
 
25.11.11
16:18
(4)я понимаю что аробата мне нужно прибить, а если пользователь не акробатом печатает
8 filh
 
25.11.11
16:19
(7) а чем он печатает?
>>Акробат.ShellExecute(СокрЛП(ТЧдокументы.Архив.Файл), "", "", "print", 1);
9 andrewks
 
25.11.11
16:19
пример:

КомандаСистемы("taskkill /IM ""1cv7.exe"""); //посылает задачам сигнал завершения, совместимость - XP и выше
10 FN
 
25.11.11
16:23
он печатает не акробатом, а ассоциированным (ну и слово) приложением
11 filh
 
25.11.11
16:24
(10) да я понял
12 filh
 
25.11.11
16:24
(10) >>но после печати остается окно Акробата
13 andrewks
 
25.11.11
16:24
(10) ну тогда пусть печатает акробатом!
14 Dimon_75
 
25.11.11
16:28
Но окно то остается....
15 Dimon_75
 
25.11.11
16:30
не taskkill  не подойдет
16 Dimon_75
 
25.11.11
16:33
Пробовал так

КомОбъект = СоздатьОбъект("AcroExch.AVDoc");
КомОбъект.Open(СокрЛП(ТЧдокументы.Архив.Файл));
КомОбъект.PrintPages(0, КомОбъект.GetPDDoc().GetNumPages()-1, 3, 1,0);
КомОбъект.Close(1);

Но так открывает окно потом печатает потом закрывает.Как-то не очень красиво
17 Dimon_75
 
25.11.11
16:34
пользователи печатают из терминала поэтому не хотелось бы что бы окна открывались
18 FN
 
25.11.11
16:35
PDFPrint Command Line 2.0
VeryPDF PDFPrint Command Line can be used to print existing PDF documents to any windows printer devices ...

...подобного софта наверное полно - подбери подходящий.