直接打印

最近遇到一个需求,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为提示信息,提示用户设置打印机。

转载于:https://www.cnblogs.com/Farseer1215/archive/2007/08/24/868586.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值