Имя: Пароль:
1C
1С v8
Как распечатать присоединенный файл в 1с
,
0 Niveus
 
22.09.15
14:18
Если ДанныеФайла.Расширение = "pdf" Тогда
        ЗапуститьПриложение("C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe /p /t "+""""+ДанныеФайла.ПолноеИмяФайлаВРабочемКаталоге+"""");
    Иначе
        Если ДанныеФайла.Расширение = "jpg" Тогда
                        ЗапуститьПриложение(????);
             КонецЕсли;

Печатает файлы в PDF формате, но не могу никак разобраться как распечатать JPG файл. Никак не могу разобраться. В интернете не смог найти ничего путного
1 Апош
 
22.09.15
14:19
что планируешь делать?
2 Niveus
 
22.09.15
14:21
Так же распечатывать  на принтер по умолчанию
                ЗапуститьПриложение("cmd /c """"%systemroot%\system32\rundll32.exe""""%systemroot%\system32\shimgvw.dll"",ImageView_PrintTo /pt """+ДанныеФайла.ПолноеИмяФайлаВРабочемКаталоге+"""""""""""");

Пробовал этот вариант, но он печатал. командная открывалась и все
3 Апош
 
22.09.15
14:24
пять кавычек кряду. неплохой результат
4 Fedor-1971
 
22.09.15
14:31
Для начала попробуй из системы (командная строка)
copy ТвойФайл prn: - по идее, должен распечатать файл на принтере по умолчанию
Если получится, переложи в 1С.
(2) опять же сначала попробуй в системе, а потом будешь влаживать в 1С
5 Niveus
 
22.09.15
14:31
(4) Ща проверим
6 Апош
 
22.09.15
14:32
>copy ТвойФайл prn
надеюсь, в виде картинки
7 Fedor-1971
 
22.09.15
14:33
(6) не факт, потому и попросил проверить
8 Апош
 
22.09.15
14:34
(7) это сейчас был сарказм
9 Fedor-1971
 
22.09.15
14:41
(2) Если я правильно помню, то строка должна быть примерно такой:
cmd /c "%systemroot%\system32\rundll32.exe  %systemroot%\system32\shimgvw.dll,ImageView_PrintTo /pt ТвойФайл"
10 Niveus
 
22.09.15
14:56
(9) Получилось, но пришлось создавать функцию выбора принтера ИмяПринтера.

                   ЗапуститьПриложение("cmd /c """"%systemroot%\system32\rundll32.exe"" ""%systemroot%\system32\shimgvw.dll"",ImageView_PrintTo /pt """+ДанныеФайла.ПолноеИмяФайлаВРабочемКаталоге+""" """+ИмяПринтера+"""""");


А нельзя использовать принтер который стоит по умолчанию?
11 Fedor-1971
 
22.09.15
14:59
(10) ImageView_PrintTo /pt - это печать, поищи все флаги, возможно что-то типа /pd
12 Niveus
 
22.09.15
15:23
(11) Спасибо за помощь, по умолчанию к сожалению нашел лишь такой способ, Хотя он тоже работает довольно шустро, просто буху нет желания сидеть и выбирать каждый раз принтер и т.д, т.к. печатается с разных компов и принтеров соответсвенно


                   ЗапуститьПриложение("mspaint /pt "+""""+ДанныеФайла.ПолноеИмяФайлаВРабочемКаталоге+"""");
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший