首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >进口AIF产品

进口AIF产品
EN

Stack Overflow用户
提问于 2013-08-13 10:57:00
回答 1查看 1.8K关注 0票数 0

在使用AX 2012时,我试图通过AIF进口一些产品。如果我不设置默认的购买/销售/发明站点和位置,它可以正常工作,但是当我试图设置它们时,会引发以下异常:

代码语言:javascript
复制
Cannot create a record in Item purchase order settings (OST). 
The record already exists.
Error found when validating record.
Cannot edit a record in Item purchase order settings (InventItemPurchSetup). Item number: 
1472, 00000002_078.
The record already exists.

我试图上传的项目的ItemId是1472年,因此它是例外的。

下面是代码(我将展示购买设置,因为销售和发明几乎是一样的):

代码语言:javascript
复制
            inventTable[0].InventItemPurchSetup = new[] { 
                new AxdEntity_InventItemPurchSetup {  
                    ItemId = inventTable[0].ItemId,
                    InventDimPurchSetup = new[] {
                        new AxdEntity_InventDimPurchSetup
                        {
                            InventDimId = "AllBlank2"
                        }
                    },
                    DefaultInventDimPurchSetup = new[] {
                        new AxdEntity_DefaultInventDimPurchSetup
                        {
                            InventDimId = "AllBlank2",
                            InventSiteId = "OST"
                        }
                    }
                },
                 new AxdEntity_InventItemPurchSetup {  
                    ItemId = inventTable[0].ItemId,
                    InventDimPurchSetup = new[] {
                        new AxdEntity_InventDimPurchSetup
                        {
                            InventSiteId = "OST"
                        }
                    },
                    DefaultInventDimPurchSetup = new[] {
                        new AxdEntity_DefaultInventDimPurchSetup
                        {
                            InventLocationId = "PER"
                        }
                    }
                }
            };

你知道我做错了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2013-08-16 12:44:45

我没有使用过AIF,但奇怪的是,今天,我对数据导入导出框架(,DMF)做了完全相同的工作。

我的用例如下:

  • 运行DMFProductEntity以创建一个在所有公司中都可见的产品,然后在选定的公司中使用Inv/Purch/Sales设置配置“发布”产品创建您的项目(InventTable)。
  • 运行DMFInventTableEntity,然后为其他公司“发布”您的产品。但是,此过程的一部分是调用EcoResProductReleaseManager::release :发布产品功能,该功能自动为您创建Inv/Purch/Sales设置配置.现在,当DMF试图从它自己的数据源插入这些表时,它可以生成与上面相同的错误。

在您的情况下,可能已经创建了InventItemPurchSetup类型的实体,您需要在代码中注释掉那些可以默认创建的'AllBlank‘之类的实体。

--您要打破上面的索引,将“AllBlank2”InventDimId插入两次。InventItemInventSetup表的关键是ItemId和InventDimId字段。

InventLocationId = "PER“是使用已经存在的'00000002_078‘InventDimId值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18207279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档