AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.08.2011, 17:26   #1  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,889 / 3165 (113) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Дуплексная печать из Аксапты
Привет всем.
Кто-нибудь делал дуплексную печать из Аксапты ?
Класс 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);
        }
    }

}
Метод дергаю перед super() в sysReportRun-e

Не помогло.
Старый 16.08.2011, 17:39   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,889 / 3165 (113) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Имелся в виду Super() метода sysReportRun.print
Старый 16.08.2011, 20:31   #3  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
такой вопросик:
а на этом принтере только определенный отчет надо печатать на двух сторонах листа, а остальные документы на одной стороне?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
За это сообщение автора поблагодарили: mazzy (2).
Старый 16.08.2011, 21:20   #4  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,889 / 3165 (113) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Все.
Вопрос скорее можно поставить так - как рулить переплетом дуплексной печати.
Т.е. для альбомных отчетов лучше по короткой стороне.
А для портретных - по длинной.
Старый 16.08.2011, 21:21   #5  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,889 / 3165 (113) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Как легко видеть, параметры по умолчанию не спасают.
Так как мы печатаем пакет документов для клиента и в нем часть отчетов альбомные а часть портретные. И для каждого надо ставить свой вид дуплекса - с разным положением переплета.
Старый 16.08.2011, 23:42   #6  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от Logger Посмотреть сообщение
Как легко видеть, параметры по умолчанию не спасают.
Так как мы печатаем пакет документов для клиента и в нем часть отчетов альбомные а часть портретные. И для каждого надо ставить свой вид дуплекса - с разным положением переплета.
вот это замут

тогда мой наводящий вопрос про простановку по умолчанию дуплексной печати в винде снимается....

если честно с трудом представляю как это можно из ахи порешать...

видимо нужно искать код из другого языка, с помощью которого выполняется управлением параметрами принтера, и переносить его в аксапту...
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 17.08.2011, 00:21   #7  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,889 / 3165 (113) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Не оставляю надежд сделать это через .Net
Возможно я не все правильно делал.
Старый 17.08.2011, 11:01   #8  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
У нас стояла задача печати из внешней компоненты с помощью класса 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  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,889 / 3165 (113) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Спасибо.
Если я вас правильно понимаю этот код для другого приложения. Из под Аксапты не получилось этим рулить ?
Старый 17.08.2011, 12:24   #10  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
Это прост вырезка с одной страницы. Просто обратил внимание, что у PageSettings тоже есть параметр Duplex.

Как вариант, можете печатать в PDF или еще куда-то, а потом в батче эти страницы с помощью внешней компоненты отправлять на принтер... Не очень красиво, но...

У меня сложилось впечатление, что в super() все равно применяются старые printJobSettings()
__________________
http://www.axdevposts.blogspot.com
Пришел, уведел.... отойди, дай другому увидеть!
Старый 10.04.2012, 12:15   #11  
madm is offline
madm
Участник
 
43 / 12 (1) ++
Регистрация: 21.11.2006
Logger, получилось ли в итоге реализовать управление дуплексной печатью? Я шел тем же путем, и также обломался Неужели это невозможно сделать из Аксапты...
Старый 11.04.2012, 09:43   #12  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
А если в страницу отчета, которую нужно печатать, в заголовок добавить esc-последовательности для установки свойств печати? Насколько я помню, эта установка действует только на одно задание на печать, потом все должно возвратиться к установкам по умолчанию
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
За это сообщение автора поблагодарили: madm (1).
Старый 11.04.2012, 09:51   #13  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,889 / 3165 (113) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от madm Посмотреть сообщение
Logger, получилось ли в итоге реализовать управление дуплексной печатью? Я шел тем же путем, и также обломался Неужели это невозможно сделать из Аксапты...
Не получилось. Хотя я не уверен, что мы перепробовали все варианты.
Остановились на таком :
Для одного железного принтера в системе заводим 2 логических, на одном преднастроен дуплекс, на другом нет. А дальше рулим из Аксапты выбором логического принтера.
За это сообщение автора поблагодарили: leva (1), madm (1).
Старый 11.04.2012, 10:17   #14  
madm is offline
madm
Участник
 
43 / 12 (1) ++
Регистрация: 21.11.2006
Спасибо!
Теги
duplex, дуплекс, печать, печать дуплекс, принтер

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Печать самих файлов PDF Владимир Максимов DAX: База знаний и проекты 9 17.08.2017 10:34
Как сильно модифицировано ваше приложение Аксапты? mazzy DAX: Прочие вопросы 30 14.04.2011 17:26
Вставка строк в таблицы Аксапты сторонними средствами Андре DAX: База знаний и проекты 1 07.05.2009 16:49
Печать рисунка на принтере из Аксапты wolfstein DAX: Программирование 4 17.03.2008 16:17
Экспорт / импорт Help topics и запуск второй сессии Аксапты из-под себя DmitrySt DAX: Программирование 0 25.11.2004 00:22

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 17:40.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.