• Inside Dynamics Axapta源代码赏析(三)


    第七章:Extending Dynamics Ax
    使用该章的某些工程前需要在 系统管理->设置->电子邮件参数处  设置好相关的参数,当然如果不想用示例代码中的发邮件功能,可以将其注释掉,后面结合具体代码解释.
    A.InventItemCreateWizard
    功能:一个添加料品的向导,从技术面上来说的话,介绍了如果制作一个Wizard,步骤如下:
    1.实现一个继承自SysWizard的类,重载其中的一些方法,比如fromName(要调用的Form,也就是在步骤2中创建的窗体)
    2.创建一个Form,由若干个Table组成,SysWizard的prompt方法会分解这些Table成一个个的下一步对应的窗体.
    具体的代码就不介绍了.
    B.BikeTuningOffers_Basic
    功能:创建给客户调整自行车的服务单,当然可以选择给客户发送Mail,如果不想使用发送Mail功能,可以将BikeTuningOffers类sendOffers方法中发送Mail的代码注释掉.代码如下:

     ttsBegin;

        
    while select custTable
        
    {
            
    if (createServiceOrders)
            
    {
                bikeServiceOrderId  
    = NumberSeq::newGetNum(SalesParameters::numRefBikeServiceOrderId()).num();
                bikeServiceOrderTable.BikeServiceOrderId    
    = bikeServiceOrderId;
                bikeServiceOrderTable.CustAccount           
    = custTable.AccountNum;
                bikeServiceOrderTable.insert();
            }


            sysMailer.quickSend(CompanyInfo::find().Email,
                                custTable.Email,
                                
    "Tune your bike",
                                strFmt(
    "Hi %1,\n\nIt's time to tune your bike", custTable.name));
        }


        ttsCommit;

    这段代码有些问题,如果这个类运行在服务器端,在实际运行的时候会报 获取InteropPermission权限失败,因为Axapta4.0采用了CAS,在调用New SysMailer之前添加如下代码

    new InteropPermission(InteropKind::ComInterop).assert();

    或者让这个类运行在client端.
    这个方法用到了前面工程中创建的编码规则,在使用前需要在设置->参数设置处设置好.
    技术方面的话,BikeTuningOffers这个类继承自Runbase,然后在Runbase调用的基本的dialog上增加了一个Field,没什么新东西.
    C.BikeTuningOffers_PropertyMethods
    在B工程的基础上,增加了几个属性方法,用于给类变量赋值或取得类变量值.
    D.BikeTuningOffers_Constructors
    在C工程的基础上,增加了一个带参的构造函数,newCustTable,没什么很大的变动.
    E.BikeTuningOffers_Query
    在D工程的基础上增加了查询.需要改动的几个方法如下:
    1.pack,需要把queryRun对象打包
    2.unpack,把queryRun解包
    3.initParmDefault 在第一次运行时构造查询对象,再以后的调用过程中会使用unpack解包后的queryRun对象.

  • 相关阅读:
    虔诚的墓主人:组合数+数据结构
    DZY Loves Math II:多重背包dp+组合数学
    集合计数 :容斥原理
    「一本通 6.6 练习 8」礼物
    [bzoj3529][Sdoi2014]数表
    [专题总结]AC自动机
    6/14考试总结
    [无用]LNC李纳川的日常NC操作
    Linux下基本操作
    [ bzoj2820] YY的GCD
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/515223.html
Copyright © 2020-2023  润新知