在使用AX 2012时,我试图通过AIF进口一些产品。如果我不设置默认的购买/销售/发明站点和位置,它可以正常工作,但是当我试图设置它们时,会引发以下异常:
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年,因此它是例外的。
下面是代码(我将展示购买设置,因为销售和发明几乎是一样的):
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"
}
}
}
};你知道我做错了什么吗?
发布于 2013-08-16 12:44:45
我没有使用过AIF,但奇怪的是,今天,我对数据导入导出框架(,DMF)做了完全相同的工作。
我的用例如下:
在您的情况下,可能已经创建了InventItemPurchSetup类型的实体,您需要在代码中注释掉那些可以默认创建的'AllBlank‘之类的实体。
或--您要打破上面的索引,将“AllBlank2”InventDimId插入两次。InventItemInventSetup表的关键是ItemId和InventDimId字段。
或 InventLocationId = "PER“是使用已经存在的'00000002_078‘InventDimId值。
https://stackoverflow.com/questions/18207279
复制相似问题