zoukankan      html  css  js  c++  java
  • 直接打印

    最近遇到一个需求,POS机打印的时候,如果每次都出现一个对话框,让选择打印机,无疑是很煞风景的事情,AX可以通过PrintJobSettings类来设置默认的打印机,不需要每次都让用户设定。步骤如下:
    1.阻止打印对话框的出现
    在Report的Methods下添加方法showDialog

    Boolean showDialog()
    {
        
    return false;
    }
    2.给用户一个设定打印机的窗口,写一个窗体,在Button的Clicked方法下添加如下代码:
    void clicked()
    {
        PrintJobSettings        printJobSettings;
        ReportPrinterSetting    rps;
        ;
        super();

        printJobSettings 
    = new PrintJobSettings();
        printJobSettings.printerSettings(
    'SysPrintForm');

        select firstonly forupdate rps;

        ttsbegin;
        rps.PrinterSetting 
    = printJobSettings.packPrintJobSettings();
        rps.write();
        ttscommit;

    }

    其中表ReportPrinterSetting包含一个Container类型的字段PrinterSetting,用来存放用户设定的打印机设定信息。
    3.在报表的Init方法或则fetch方法中,设定
    PrintJobSettings类
    public void init()
    {
        ReportPrinterSetting    rps;
        Container               c;
        ;
        select firstonly rps;

        super();

         c 
    = rps.PrinterSetting;

        
    if(!c)
            
    throw error("@GCN956");
        element.unpackPrintJobSettings(c);

    }
    @GCN956为提示信息,提示用户设置打印机。
  • 相关阅读:
    CVS使用经验谈(zz from chinaunix.net)
    登黄山
    登黄山之二
    Dennis Ritchie 去世
    观迎客松
    从程序员角度看ELF
    再次回到这里
    异步时钟下跨时钟域信号处理
    Fedora14下的Novas和Synopsys
    Oralce导入\导出
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/868586.html
Copyright © 2011-2022 走看看