检查产品采购类别层次结构

时间:2014-09-14 21:21:37

标签: axapta microsoft-dynamics x++ dynamics-ax-2012 ax

我正在与dynamics ax 2012合作,我正在寻找一个可以验证procurement category hierarchy中是否存在产品的功能 此监听Product Information Management -> Common -> Products -> Released Product显示已发布的产品列表 在actionpane product中,我们有按钮验证;当我在grid control中选择一条记录并点击按钮验证

我应该验证如果采购类别附加到此产品,则没有错误;如果此产品没有附加采购类别,则必须显示错误消息

显然,采购类别是一个类别层次结构,如果附加了此类别的产品,我会去寻找, 如何创建在类别层次结构中搜索的功能

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

您需要两个表来进行验证:

  1. EcoResProductCategory告诉我们产品的类别和类别层次结构。
  2. EcoResCategoryHierarchyRole告诉您类别层次结构具有什么角色。角色本身就是枚举EcoResCategorynamedHierarchyRole,您可以在其中找到元素Procurement
  3. 现在,您可以在查询中组合这两个表,以检查产品是否在具有采购角色的类别层次结构中具有类别。

答案 1 :(得分:0)

在班级EcoResProductValidatonService中,此类通过按钮验证来调用此收听页面产品信息管理 - >常见 - >产品 - >发布产品:我正在研究这段代码,你怎么看?还有另外一个原因吗?

EcoResProductCategory               resProductCateg;
         if (TableParm::find().ProcRescatgProduct){

                InventTable = InventTable::find( 'Item id' ); // pass the item id
                resProductCateg = EcoResProductCategory::findByProductIdCategoryHierarchyRole(inventTable.Product,EcoResCategoryNamedHierarchyRole::Procurement);
                if(resProductCateg){
                   info(strFmt(" %1   procurement category is attached to this product ",InventTable.ItemId));

                }else{
                     info(strFmt(" %1 No procurement category is attached to this product ",InventTable.ItemId));
                  }
            }

问题是resProductCateg的价值是0,知道我有生产类别的产品