ユーザーに 4 つの入力フィールドを入力してから新しいドキュメントを作成する xpage があり、すぐに同じページの Dojo データ グリッドにドキュメントを表示します。すべてのバックエンド データにマネージド Bean を使用しています。メイン ドキュメント用に 1 つの Bean があり、関連するデータごとに 2 つ目の Bean があります。UNID を使用してそれらを結び付けます。入力フィールドはすべて shipperBean にバインドされています。
私の問題は、親と最初のサブドキュメントのみが作成されることです。新しい Bean をインスタンス化する必要があるようですが、「マネージド」のように、それはあなたのために行われたと思いました。
私のボタンには、次のSSJSがあります。
var POdata:NotesDatabase = session.getDatabase(database.getServer(), "PO\\PO-data");
lineItemBean.saveLineItem(POdata); //MUST save line item in order to tie Shipper to Line Item
var liUNID = lineItemBean.getThisUNID();
var poUNID = lineItemBean.getParentUNID();
shipperBean.saveShipper(POdata, liUNID, poUNID);
shipperBean.deleteCurrentShipper();
このボタンは、入力を保持しているテーブルで部分的な更新を実行します。saveShipper() メソッドは、Bean を別の nsf の新しいドキュメントに保存します。deleteCurrentShipper() メソッドは、単にインスタンス変数を null に設定します。これにより、それらは一掃され、次のドキュメントの準備が整います。値の消去を反映するように、フロント エンドが正しく更新されます。フロントエンドで毎回クリアされますが、最初に値を入力すると新しいドキュメントに保存されません。
毎回新しいインスタンスを作成する必要がありますか? または、試みているように同じインスタンスを再利用できますか?
代わりに POJO を使用して自分で作成する必要がありますか?
SSJS を使用せず、すべてを別の Java メソッドで実行して呼び出す必要がありますか?
2 番目の Bean を最初の Bean のプロパティにする必要がありますか?
私が見逃している簡単なものはありますか?