Hello I have a problem. I like to create a Product by sourcecode.
When I try to release these Products I get the following error:
Field 'ItemId' must be filled in.
Here my code for the creation of a product:
EcoResDistinctProduct distinctProductTbl;
EcoResProductTranslation productTranslationTbl;
EcoResStorageDimensionGroup storageDimensionTbl;
EcoResStorageDimensionGroupProduct storageDimGroupProduct;
EcoResStorageDimensionGroupItem storageDimGroupItem;
EcoResTrackingDimensionGroup trackingDimensionTbl;
EcoResTrackingDimensionGroupProduct trackingDimGroupProduct;
EcoResTrackingDimensionGroupItem trackingDimGroupItem;
InventTable inventTbl;
InventItem inventItemClass;
str 254
txt1,txt2,txt3;
#file
str
storageDim, storageDimGroupName;
;
distinctProductTbl.initValue();
distinctProductTbl.DisplayProductNumber = _itemId;
distinctProductTbl.ProductType = EcoResProductType::Item;
distinctProductTbl.SearchName = (
conpeek
(importBuffer,this.importBufferPos(#StockTable_ItemName)));
distinctProductTbl.doInsert();
switch(conpeek
(importBuffer,this.importBufferPos(#StockTable_ItemType)))
{
case '0'
:
{
storageDimensionTbl = EcoResStorageDimensionGroup::findByDimensionGroupName(
"01"
);
}
break
;
case '1'
:
{
storageDimensionTbl = EcoResStorageDimensionGroup::findByDimensionGroupName(
"02"
);
}
break
;
case '2'
:
{
storageDimensionTbl = EcoResStorageDimensionGroup::findByDimensionGroupName(
"03"
);
}
break
;
}
productTranslationTbl.initValue();
productTranslationTbl.LanguageId = #StdLanguageId;
productTranslationTbl.Description =
conpeek
(importBuffer, this.importBufferPos(#StockTable_ItemName2UK));
productTranslationTbl.Name = (
conpeek
(importBuffer,this.importBufferPos(#StockTable_ItemName)));
productTranslationTbl.Product = distinctProductTbl.RecId;
productTranslationTbl.insert();
if
(storageDimensionTbl.RecId)
{
if
(distinctProductTbl.RecId)
{
if
(! EcoResStorageDimensionGroupProduct::findByProduct(distinctProductTbl.RecId))
{
storageDimGroupProduct.initValue();
storageDimGroupProduct.Product = distinctProductTbl.RecId;
storageDimGroupProduct.StorageDimensionGroup = storageDimensionTbl.RecId;
storageDimGroupProduct.insert();
}
}
if (! EcoResStorageDimensionGroupItem::findByItem(curext
(), _itemId))
{
storageDimGroupItem.initValue();
storageDimGroupItem.ItemId = _itemId;
storageDimGroupItem.StorageDimensionGroup = storageDimensionTbl.RecId;
storageDimGroupItem.ItemDataAreaId =
curext
();
storageDimGroupItem.insert();
}
}
trackingDimensionTbl = EcoResTrackingDimensionGroup::findByDimensionGroupName(
"TD_00"
);
if
(trackingDimensionTbl.RecId)
{
if
(distinctProductTbl.RecId)
{
if
(! EcoResTrackingDimensionGroupProduct::findByProduct(distinctProductTbl.RecId))
{
trackingDimGroupProduct.initValue();
trackingDimGroupProduct.Product = distinctProductTbl.RecId;
trackingDimGroupProduct.TrackingDimensionGroup = trackingDimensionTbl.RecId;
trackingDimGroupProduct.insert();
}
}
if (! EcoResTrackingDimensionGroupItem::findByItem(curext
(), _itemId))
{
trackingDimGroupItem.initValue();
trackingDimGroupItem.ItemId = _itemId;
trackingDimGroupItem.TrackingDimensionGroup = trackingDimensionTbl.RecId;
trackingDimGroupItem.ItemDataAreaId =
curext
();
trackingDimGroupItem.insert();
}
}
this.releaseProductToCurrentLegalEntity(_itemId);
return
distinctProductTbl;