1

我需要向InventJournalTrans添加一个附加字段,发布后将显示在InventTrans表中。该字段是另一个表中记录的引用列。我需要修改哪些方法才能使这种行为发生?

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

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

inventTrans.ReasonRefRecId = inventJournalTrans.ReasonRefRecId;

赋值语句前

inventTrans.insert();

称呼。有人知道这是在哪里吗?

4

1 回答 1

1

上面的链接确实包含解决方案——我已经包含了该页面的代码,以防该页面消失或不再可用。感谢 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;
}
于 2011-04-12T17:49:13.700 回答