zoukankan      html  css  js  c++  java
  • Inside Dynamics Axapta源代码赏析(一)

    看不到书,就读代码解解馋吧,呵呵.感谢Ivan Gao提供源代码.
    4.:MorphX Development Tools
    代码修改了SysBPCheckMemberFunction这个类,增加了checkUseOfNames()方法,并在check()方法中调用,搞不清楚这个类是干什么用的.增加的这方法的作用是检查scanner中的每一行是否包含devNames中定义的姓名,为了说明宏的定义和使用?Container的使用或者字符串函数的使用?搞不清楚.
    protected void checkUseOfNames()
    {
        #Define.MyErrorCode(
    50000)
        container devNames 
    = ["Arthur""Lars""Michael"];
        
    int i;
        
    int j;
        
    int pos;
        str line;
        
    int lineLen;

        
    for (i=scanner.lines(); i; i--)
        
    {
            line 
    = scanner.sourceLine(i);
            lineLen 
    = strlen(line);
            
    for (j=conlen(devNames); j; j--)
            
    {
                pos 
    = strscan(line, conpeek(devNames, j), 1, lineLen);
                
    if (pos)
                
    {
                    sysBPCheck.addError(#MyErrorCode, i, pos, 
    "Don't use your name!");
                }

            }

        }

    }
    6 Customizing Dynamics Ax
    A.FormImageJoinedDataSources和FormImageTabActivated
    这两个工程是为了说明一个问题的,如何让通过文档管理增加的图片显示在Form上.本示例以SalesTable这Form为例进行说明.
    FormImageJoinedDataSources:用Active的方式关联DocuRef和DocuValue两个表.通过DocuValue的Active方法给picture控件赋值,代码如下:
    public int active()
    {
        Image           image;
        
    int ret;

        ret 
    = super();

        
    if (docuValue.File)
        
    {
            image 
    = new Image();
            image.setData(docuValue.File);
            bikeImage.image(image);
        }

        
    else
        
    {
            bikeImage.imageResource(
    0);
        }


        
    return ret;
    }
    FormImageTabActivated:不关联任何数据源,而是在Table SalesLine上增加一个display方法,picutre控件用这个方法填充.
    server public DocuValueFile bikeImage()
    {
        DocuRef     docuref;
        DocuValue   docuValue;
        ;
        select forceplaceholders firstonly tableid from docuRef
            where docuRef.RefCompanyId  
    == this.DataAreaId  &&
                  docuRef.RefTableId    
    == this.TableId     &&
                  docuRef.RefRecId      
    == this.RecId       &&
                  docuRef.TypeId        
    == 'Image'
        join file from docuValue
            where docuValue.RecId   
    == docuRef.ValueRecId;

        
    return docuValue.File;
    }
    我一般采用第二种方法,不知道哪个更好一些.
    B.InventoryDimensions
    这个工程可以看做是增加物料维组的一个例子,这个示例增加了两个物料维组BikeWheelSize和BikeFrameSize,步骤如下:
    1.增加扩展数据类型BikeFrameSize和BikeWheelSize
    2.增加表BikeFrameSizeTable和BikeWheelSizeTable,这两个表的字段跟InventColor以及InvetSize等类似包含Itemid等字段.
    3.修改Table InventDim,包括以下内容:
       1).Fields,增加BikeFrameSize和BikeWheelSize这两个字段.
       2).Indexs->DimIdx中增加BikeFrameSize和BikeWheelSize这两个字段.
       3).Field Groups  在AutoReport,InventoryDimensions,ItemDimensions中分别增加上述两个字段.
       4).Methods中需要修改的方法列表如下:
           initFromInventDimCombination,dim2dimCombination,dim2dimParm,dimParm2dim,findDim,findOrCreate,formQueryAddDynalink,isFieldIdItemDim,
           isFieldIdTransferReceiptMergeable,isFieldIdTransferTransitReceiptMergeable,
    4.修改Table InventDimCombination,包括以下内容.
      1).Fields.增加BikeFrameSize和BikeWheelSize这两个字段.
      2).Field Groups  在Identification,InventoryDimensions,ItemDimensions中分别增加上述两个字段.
      3).Indexs->ItemIdx中增加BikeFrameSize和BikeWheelSize这两个字段.
    5.修改Table InventDimParm,包括以下内容:
      1)Fields,增加BikeFrameSize和BikeWheelSize这两个字段.
      2)Field Groups  在FixedView,View中分别增加上述两个字段.
      3)Methods中需要修改的方法列表如下:
         initFromInventDimCombination,findAllDimIdCombinations
    6.修改如下宏文件:
       InventDimExistsJoin,InventDimGroupAllFields,InventDimJoin,InventDimSelect
    7.增加类似于InventColor,InventSize的Form,用于设定新建的两个纬度的值以及组合.
  • 相关阅读:
    基于CSS 和JS的网页SELECT下拉框美化,JQUERY 插件
    ini文件读写
    Hibernate 表关系描述之OneToMany
    Hibernate 表关系描述之ManyToMany
    Hibernate 初识
    Hibernate 表关系描述之OneToOne
    Struts配置文件初解
    Hibernate 初识(补充)
    struts 学习之04 "模型"
    (Struts)Action类及其相关类
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/514624.html
Copyright © 2011-2022 走看看