zoukankan      html  css  js  c++  java
  • 新建物料组!

    关于库存物料这一块:
    在新建物料的时候会有5个必输字段:物料编号,物料组,物料类型,库存模型组,维度组。
    下面研究一下新建物料组时相关问题:必须得创建一个物料组,这就是创建物料的前提条件。
    在新建物料组的时候,看上去蛮简单,一般我们需要填写的就两个,物料组和名称字段。
    物料组的主表是inventItemGroup但是会发现在窗体上很多字段都没在表字段里面,都是在表edit方法中得到的,在AX系统中会有两个比较特殊的方法,display方法和edit方法,一般是用来得到不能直接从数据源字段中得到的数据。
    在一般窗体数据源中都会出现creat,insert这样方法,但奇怪的是这个窗体中没得。更奇怪的是在把断点放在表方法中的setLedgerAccount中,在点击新建按钮时候不会触发,但是在切换tabpage时候就会跳到这里面断点中来。
    这里面给各种科目赋值涉及到的表和方法:
    在表inventItemGroup中有一个公用的方法setLedgerAccount,给不同的会计科目类型赋值(InventAccountType)
    他在这个方法里面直接调用表inventPosting(库存,分类账日记账表)里面的方法item,不知道为什么直接跳到这个表来了。两个表有如下关系:InventPosting.ItemCode == 1 && InventPosting.ItemRelation == InventItemGroup.ItemGroupId .......InventPosting表中的ItemCode扩展子自枚举类型

    TableGroupAll,TableGroupAll::GroupId == 1,也就是ItemCode为组!
    InventItemGroup.ItemGroupId也就是该表的名称字段。

    在item方法中又涉及一个表InventPostingParameters(库存交易记录组合表)!这个表只有一条记录,分别判断里面的“表,组,所有”的物料关系是否启动。再做相应的判断!

    在item方法里面三个参数(InventAccountType,ItemId,ItemGroupId)第一个科目类型,第二个物料编号此时调用物料编号都是空的,第三个编号组也就是当前的物料名称)
    在setLedgerAccount里面调用也就是把当前科目类型,物料编号为空,当前物料组名称传进去。
    在item方法里面,往inventPosting中循环找到相应的科目编号!
    一般第一次创建的时候tableGroup为All,然后找到相应的科目编号。
    新建物料组后还没有在表inventPosting里面创建记录。待考察。。。。

  • 相关阅读:
    bzoj2004(矩阵快速幂,状压DP)
    bzoj1242(弦图判定)
    uva1659(最大费用循环流)
    bzoj1009
    bzoj2893(费用流)
    bzoj4873(最大权闭合子图)
    bzoj2879(动态加边费用流)
    51nod 1239 欧拉筛模板
    poj2774 sa模版
    洛谷3391文艺平衡树
  • 原文地址:https://www.cnblogs.com/boydg123/p/2133912.html
Copyright © 2011-2022 走看看