Axapta Dynamics AX 2009:将字段添加到InventJournalTrans,传播到InventTrans

Axapta Dynamics AX 2009:将字段添加到InventJournalTrans,传播到InventTrans,axapta,x++,microsoft-dynamics,dynamics-ax-2009,Axapta,X++,Microsoft Dynamics,Dynamics Ax 2009,我需要在InventJournalTrans中添加一个附加字段,发布后该字段将显示在InventTrans表中。该字段是另一个表中记录的引用列。我需要修改什么方法来实现此行为 目前,我已经将字段添加到这两个表中,并修改了表单以允许用户输入和保存新字段。我似乎找不到兔子洞的底部,在那里实际的发布到InventTrans 理想情况下,它应该只是一个: inventTrans.ReasonRefRecId=inventJournalTrans.ReasonRefRecId 指定前的赋值语句 inven

我需要在InventJournalTrans中添加一个附加字段,发布后该字段将显示在InventTrans表中。该字段是另一个表中记录的引用列。我需要修改什么方法来实现此行为

目前,我已经将字段添加到这两个表中,并修改了表单以允许用户输入和保存新字段。我似乎找不到兔子洞的底部,在那里实际的发布到InventTrans

理想情况下,它应该只是一个:

inventTrans.ReasonRefRecId=inventJournalTrans.ReasonRefRecId

指定前的赋值语句

inventTrans.insert()


打电话。有人知道这是在哪里吗?

上面的链接确实包含解决方案——我已经包含了该页面的代码,以防该页面消失或不再可用。感谢gl00mie在该网站上回答并提供此答案

您应该创建一个新的InventMovement方法,如下所示:

public MyNewFieldType myNewField()
{
    return MyNewFieldType::DefaultValue; // suppose your new field is an enum
}
然后修改\Classes\InventMovement\initInventTransFromBuffer

void initInventTransFromBuffer(InventTrans _inventTrans, InventMovement _movement_orig)
{
    // ... append this line to the end of whatever else is already in this method
    _inventTrans.MyNewField            = this.myNewField();
}
最后在InventMov_Journal类中重载新方法:

public MyNewFieldType myNewField()
{
    return inventJournalTrans.MyNewField;
}

上面的链接确实包含了解决方案——我已经包含了该页面的代码,以防该页面消失或不再可用。感谢gl00mie在该网站上回答并提供此答案

您应该创建一个新的InventMovement方法,如下所示:

public MyNewFieldType myNewField()
{
    return MyNewFieldType::DefaultValue; // suppose your new field is an enum
}
然后修改\Classes\InventMovement\initInventTransFromBuffer

void initInventTransFromBuffer(InventTrans _inventTrans, InventMovement _movement_orig)
{
    // ... append this line to the end of whatever else is already in this method
    _inventTrans.MyNewField            = this.myNewField();
}
最后在InventMov_Journal类中重载新方法:

public MyNewFieldType myNewField()
{
    return inventJournalTrans.MyNewField;
}

页面上似乎列出了潜在的解决方案。页面上似乎列出了潜在的解决方案。