組織と連絡先の 2 つのフォームがあります。Contact は Org への応答であり、各フォームには、フォームへの入力や保存などを行うことができる XPage があります。edit_contact.xsp を直接開いて (組織への応答としてではなく) ドキュメントを作成すると、すべて正常に機能します。
edit_org.xsp には、2 つのイベントを持つボタンがあります。最初にいくつかの値を sessionScope にコピーして、それらを Contact に継承できるようにします。2 つ目は、親 ID が現在の組織ドキュメントである新しい応答を作成し、ユーザーを edit_contact.xsp に送信する「Create Response Document」イベントです。ボタンを押すと XPage が正しく変更され、フィールドの継承が正常に機能しますが、Contact フォームで [Submit] を押しても何も保存されず、ドキュメントも作成されません。
このまったく同じセットアップは、別のデータベースで必要に応じて 100% 機能します。ここで正しく機能しない理由がわかりません。私が行方不明になっている場所にあいまいな設定はありますか?
<xp:button value="Create Contact" id="button1" rendered="#{javascript:!document1.isEditable()}">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
<xp:actionGroup>
<xp:executeScript>
<xp:this.script>
<![CDATA[#{javascript:var doc = document1.getDocument();
sessionScope.PFirstName = doc.getFirstItem("P_Firstname").getValueString();
sessionScope.PSurname = doc.getFirstItem("P_Surname").getValueString();
sessionScope.PFamily = doc.getFirstItem("P_Family").getValueString();
sessionScope.PDOB = doc.getFirstItem("P_DOB")
sessionScope.PAGE = doc.getFirstItem("P_Age").getValueString();}]]
</xp:this.script>
</xp:executeScript>
<xp:createResponse name="/edit_contact.xsp" parentId="#{javascript:document1.getNoteID()}">
</xp:createResponse>
</xp:actionGroup>
</xp:this.action>
</xp:eventHandler>
</xp:button>`
これは、私がやろうとしていることを示すリンクです(フィールド継承を除く):
現在、フォームとビューはすべて機能しますが、"Response" フォームで作成された文書は、応答文書ではないように見えます - $REF フィールドがありません。このセットアップは別のデータベースで完全に機能します - 何が起こっているのですか?