Thursday, 10 December 2015

Assign ProductDimenssionGroup for the ProductMaster:
static void ProductVariant(Args _args)
{
    ecoResDistinctProductVariant        ecoResDistinctProductVariant;
    EcoResProductVariantDimensionValue  EcoResProductVariantDimensionValue;
    RefRecId                            ecoResDistinctProductVariantRecId;
    EcoResProductReleaseManagerBase     releaseManager;
    container productDimensions;
    InventTable     inventtable;
    EcoResProductMasterColor       ecoResProductMasterColor;
    EcoResProductDimensionGroupProduct  ecoResProductDimensionGroupProduct;


    inventtable = InventTable::find("AA0330LEN08");

    ecoResProductDimensionGroupProduct = EcoResProductDimensionGroupProduct::findByProduct(EcoResProduct::find(InventTable.Product).RecId);
    if(!ecoResProductDimensionGroupProduct)
    {
        ecoResProductDimensionGroupProduct.clear();
        ecoResProductDimensionGroupProduct.initValue();
        ecoResProductDimensionGroupProduct.initFromProduct(EcoResProduct::find(InventTable.Product));
        ecoResProductDimensionGroupProduct.ProductDimensionGroup =  EcoResProductDimensionGroup::findByDimensionGroupName("CLR").RecId;
        ecoResProductDimensionGroupProduct.validateWrite();
        ecoResProductDimensionGroupProduct.insert();
    }

    ecoResProductMasterColor.clear();
    ecoResProductMasterColor.initValue();
    ecoResProductMasterColor.Color = EcoResColor::findByName("RED").Recid;
    ecoResProductMasterColor.ColorProductDimensionAttribute = EcoResProductDimensionAttribute::inventDimFieldId2DimensionAttributeRecId(fieldNum(InventDim, InventColorId));
    ecoResProductMasterColor.ColorProductMaster = EcoResProduct::find(InventTable.Product).RecId;
    ecoResProductMasterColor.insert();
   
    productDimensions = EcoResProductVariantDimValue::getDimensionValuesContainer("","","RED","");
    ecoResDistinctProductVariant.DisplayProductNumber = EcoResProductNumberBuilderVariant::buildFromProductNumberAndDimensions(
                                                                   EcoResProduct::find(InventTable.Product).productNumber(),
                                                                    productDimensions);
    ecoResDistinctProductVariantRecId = EcoResProductVariantManager::createProductVariant(InventTable.Product,ecoResDistinctProductVariant.DisplayProductNumber,productDimensions);

    ecoResDistinctProductVariant = ecoResDistinctProductVariant::find(ecoResDistinctProductVariantRecId);
    releaseManager = EcoResProductReleaseManagerBase::newFromProduct(ecoResDistinctProductVariant);
    releaseManager.release();
}

No comments:

Post a Comment