如何通过代码更改生产状态? (AX 2009)

时间:2011-10-18 12:36:05

标签: axapta dynamics-ax-2009 x++ ax

我必须通过代码更改生产状态,但不能从ProdTable表单更改。我遇到的问题是,ProdMultiRelease类希望从ProdTable表单运行。 (第10行:RunBaseMultiParm :: initFromForm(prodMultiRelease,args);)

更新 这是一些额外的信息。首先,我尝试了这样的事情:

static void Job1(Args _args)
{
    Args args;
    ProdTable prodTable;
    ;
    prodTable = ProdTable::find( 'PRD_00005166', true);
    args = new Args();
    args.record( prodTable );
    new MenuFunction( menuitemactionstr( ProdRelease ), MenuItemType::Action ).run( args );
}

但它不起作用。

现在我有这样的事情:

static void startprod(Args _args)
{
    ProdTable           prodTable;
    ProdMultiStartUp    ProdMultiStartUp;
    ;
    prodTable.selectForUpdate(true);
    select prodTable where prodTable.ProdId =='0267_074';
    prodTable.ProdStatus = prodStatus::StartedUp;
    prodTable.update();
    info('done');
}

这很好用,但我不知道只是设置状态是否有问题。

UPDATE2: 我想我会这样做:

prodTable.autoUpdate(prodStatus::Released);

2 个答案:

答案 0 :(得分:4)

我认为最好的方法是:

prodTable.autoUpdate(prodStatus::Released);

答案 1 :(得分:0)

我在执行此代码时遇到了问题。以下代码对我有用:

ConfigurationProperties

Check this blog