zoukankan      html  css  js  c++  java
  • 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对象.

  • 相关阅读:
    PHP数据库备份文件分卷导入的实现思路
    用delphi如何实现启动停止windows服务
    【创意logo】第23个世界无烟日 让烟草远离女性
    修改“windows xp资源管理器”的默认打开路径
    PHP百行代码快速构建简易聊天室
    简单的方法实现判断Mysql内某个字段Fields是否存在
    Blackhand的插件管理部分
    PHP 与 ASP.NET 正面交锋
    C语言运算符
    功能齐全的发送邮件类
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/515223.html
Copyright © 2011-2022 走看看