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 に答える