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

  • 相关阅读:
    函数 free 的原型
    malloc 返回值的类型是 void *
    malloc 函数本身并不识别要申请的内存是什么类型
    用 free 或 delete 释放了内存之后,立即将指针设置为 NULL,防止产 生“野指针”
    动态内存的申请与释放必须配对,防止内存泄漏
    避免数组或指针的下标越界,特别要当心发生“多 1”或者“少 1” 操作
    不要忘记为数组和动态内存赋初值
    用 malloc 或 new 申请内存之后,应该立即检查指针值是否为 NULL
    释放了内存却继续使用它
    忘记了释放内存,造成内存泄露
  • 原文地址:https://www.cnblogs.com/boydg123/p/2133912.html
Copyright © 2011-2022 走看看