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;