16.08.2011, 17:26 | #1 |
Участник
|
Дуплексная печать из Аксапты
Привет всем.
Кто-нибудь делал дуплексную печать из Аксапты ? Класс printJobSettings не имеет интерфейса для управления дуплексной печатью. А очень нужно. Попробовал сделать что-то вроде X++: void GRD_Test2() { System.Drawing.Printing.PrinterSettings clrPrinterSettings; boolean b2; boolean b3; str locName; str locPrinterName; ; locName = this.name(); locPrinterName = this.printJobSettings().printerPrinterName(); clrPrinterSettings = New System.Drawing.Printing.PrinterSettings(); clrPrinterSettings.set_PrinterName(locPrinterName); b2 = clrPrinterSettings.get_IsValid(); if (b2) { b3 = clrPrinterSettings.get_CanDuplex(); if (b3) { clrPrinterSettings.set_Duplex(System.Drawing.Printing.Duplex::Horizontal); // clrPrinterSettings.set_Duplex(System.Drawing.Printing.Duplex::Vertical); } } } Не помогло. |
|
16.08.2011, 17:39 | #2 |
Участник
|
Имелся в виду Super() метода sysReportRun.print
|
|
16.08.2011, 20:31 | #3 |
Ищущий знания...
|
такой вопросик:
а на этом принтере только определенный отчет надо печатать на двух сторонах листа, а остальные документы на одной стороне?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
16.08.2011, 21:20 | #4 |
Участник
|
Все.
Вопрос скорее можно поставить так - как рулить переплетом дуплексной печати. Т.е. для альбомных отчетов лучше по короткой стороне. А для портретных - по длинной. |
|
16.08.2011, 21:21 | #5 |
Участник
|
Как легко видеть, параметры по умолчанию не спасают.
Так как мы печатаем пакет документов для клиента и в нем часть отчетов альбомные а часть портретные. И для каждого надо ставить свой вид дуплекса - с разным положением переплета. |
|
16.08.2011, 23:42 | #6 |
Ищущий знания...
|
Цитата:
тогда мой наводящий вопрос про простановку по умолчанию дуплексной печати в винде снимается.... если честно с трудом представляю как это можно из ахи порешать... видимо нужно искать код из другого языка, с помощью которого выполняется управлением параметрами принтера, и переносить его в аксапту...
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
17.08.2011, 00:21 | #7 |
Участник
|
Не оставляю надежд сделать это через .Net
Возможно я не все правильно делал. |
|
17.08.2011, 11:01 | #8 |
Участник
|
У нас стояла задача печати из внешней компоненты с помощью класса PrintDocument. Собственно из АХ (до 2012) его нельзя было использовать, так как он требует установки события OnPrint или что то вроде того.
Вот вспомнил и набрел на слудующий код: X++: this.PageSettings.Collate = DataDynamics.ActiveReports.PageSettings.PrinterCollate.Collate; this.PageSettings.DefaultPaperSize = true; this.PageSettings.DefaultPaperSource = true; this.PageSettings.Duplex = System.Drawing.Printing.Duplex.Default; this.PageSettings.Gutter = 1.0f; this.PageSettings.Margins.Bottom = 1.0f; this.PageSettings.Margins.Left = 1.0f; this.PageSettings.Margins.Right = 1.0f; this.PageSettings.Margins.Top = 1.0f; this.PageSettings.MirrorMargins = false; this.PageSettings.Orientation = PageOrientation.Default; this.PageSettings.PaperHeight = 11.0f; this.PageSettings.PaperKind = System.Drawing.Printing.PaperKind.Custom; this.PageSettings.PaperSource = System.Drawing.Printing.PaperSourceKind.Manual; this.PageSettings.PaperWidth = 8.5f;
__________________
http://www.axdevposts.blogspot.com Пришел, уведел.... отойди, дай другому увидеть! |
|
|
За это сообщение автора поблагодарили: Logger (5). |
17.08.2011, 12:03 | #9 |
Участник
|
Спасибо.
Если я вас правильно понимаю этот код для другого приложения. Из под Аксапты не получилось этим рулить ? |
|
17.08.2011, 12:24 | #10 |
Участник
|
Это прост вырезка с одной страницы. Просто обратил внимание, что у PageSettings тоже есть параметр Duplex.
Как вариант, можете печатать в PDF или еще куда-то, а потом в батче эти страницы с помощью внешней компоненты отправлять на принтер... Не очень красиво, но... У меня сложилось впечатление, что в super() все равно применяются старые printJobSettings()
__________________
http://www.axdevposts.blogspot.com Пришел, уведел.... отойди, дай другому увидеть! |
|
10.04.2012, 12:15 | #11 |
Участник
|
Logger, получилось ли в итоге реализовать управление дуплексной печатью? Я шел тем же путем, и также обломался Неужели это невозможно сделать из Аксапты...
|
|
11.04.2012, 09:43 | #12 |
Злыдни
|
А если в страницу отчета, которую нужно печатать, в заголовок добавить esc-последовательности для установки свойств печати? Насколько я помню, эта установка действует только на одно задание на печать, потом все должно возвратиться к установкам по умолчанию
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании. |
|
|
За это сообщение автора поблагодарили: madm (1). |
11.04.2012, 09:51 | #13 |
Участник
|
Цитата:
Остановились на таком : Для одного железного принтера в системе заводим 2 логических, на одном преднастроен дуплекс, на другом нет. А дальше рулим из Аксапты выбором логического принтера. |
|
|
За это сообщение автора поблагодарили: leva (1), madm (1). |
11.04.2012, 10:17 | #14 |
Участник
|
Спасибо!
|
|
Теги |
duplex, дуплекс, печать, печать дуплекс, принтер |
|
|