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里面创建记录。待考察。。。。

  • 相关阅读:
    如何把自己的百度网盘的内容分享给别人
    postman 中post方式提交数据
    在ThinkPHP中,if标签和比较标签对于变量的比较。
    Linux SVN搭建模式 规格严格
    Redmine安装201209 规格严格
    GBK 规格严格
    MySQL分区优化 规格严格
    Null 规格严格
    Compiler 规格严格
    UDP VS TCP 规格严格
  • 原文地址:https://www.cnblogs.com/boydg123/p/2133912.html
Copyright © 2011-2022 走看看