Продукты в Dynamics Ax 2012. Использование продуктов для компаний

Использование продуктов для компаний в Dynamics Ax 2012

Встречаются ситуации, когда в системе используется функционал внутрихолдинговых заказов. В связи с этим, в компаниях уже должна существовать номенклатура, которая участвует в заказе. Поэтому, если в одной из компаний уже существует номенклатура, чтобы программно выполнить выпуск продукта в другой компании, на основании существующей номенклатуры, можно взять за основу следующий код:

    EcoResProductReleaseSessionManager  productReleaseSessionManager;
    EcoResProductReleaseSessionBatch    sessionBatch;
    EcoResReleaseSessionRecId           releaseSessionRecId;
    EcoResProductRecId                  ecoResProductMasterRecId;
    EcoResDistinctProductVariant        distinctProductVariant;
    Args                                args;
    EcoResProduct                       ecoResProduct    = EcoResProduct::find(_productRecId); //Выпускаемый продукт 
    RefRecId                            legalEntityRecId = _legalEntityRecId; //Компания, для которой выпускается продукт

    productReleaseSessionManager    = EcoResProductReleaseSessionManager::newReleaseSession();
    releaseSessionRecId             = productReleaseSessionManager.parmReleaseSessionRecId();
    ecoResProductMasterRecId        = ecoResProduct.RecId;

    if (ecoResProduct.isDistinctProductVariant())
    {
        distinctProductVariant   = ecoResProduct as EcoResDistinctProductVariant;
        ecoResProductMasterRecId = distinctProductVariant.ProductMaster;
    }

    productReleaseSessionManager.addProductMasterWithVariants(ecoResProductMasterRecId);
    productReleaseSessionManager.addLegalEntityForAllProducts(_legalEntityRecId);

    args = new Args();
    args.record(EcoResReleaseSession::find(releaseSessionRecId));

    sessionBatch = EcoResProductReleaseSessionBatch::newFromArgs(args);
    sessionBatch.run();

 

Comments

So empty here ... leave a comment!

Добавить комментарий

Sidebar