カスタム コントロールにこのボタンがあり、アプリケーションのユーザーが現在のコンテンツを下書きとして保存できるようにするために使用します。課題は、異なるバックエンド フォームに接続された 5 つのデータ ソースがあり、すべてが異なるタブの 1 つの X ページに存在し、これらのタブがドキュメント ワークフローの条件に基づいて表示または非表示になることです。すべてのデータ ソースに保存機能を提供できるようにする必要がありますが、その前にフィールドを設定する必要があります。これを実現するために、ボタンでアクション グループを使用し、特定の条件に基づいて実行しようとしましたが、条件が true の場合でもまったく実行されないようです。アクション グループ コードは次のとおりです。
<xp:this.action>
<xp:actionGroup>
<xp:actionGroup>
<xp:this.condition><![CDATA[#{javascript:if(parseInt(viewScope.curApprCycle) > 2){
if(parseInt(viewScope.curApprStatus) < 2){return true;} else return false;}else return false;}]]></xp:this.condition>
<xp:saveDocument
var="introspectionSheet"></xp:saveDocument>
</xp:actionGroup>
<xp:actionGroup>
<xp:this.condition><![CDATA[#{javascript:if(parseInt(viewScope.curApprCycle)>2){
return viewScope.showTLPTab;}return false;}]]></xp:this.condition>
<xp:saveDocument
var="TLP"></xp:saveDocument>
</xp:actionGroup>
<xp:actionGroup>
<xp:this.condition><![CDATA[#{javascript:if(parseInt(viewScope.curApprCycle)>2){
return viewScope.showAttributesTab;}return false;}]]></xp:this.condition>
<xp:saveDocument
var="Attributes"></xp:saveDocument>
</xp:actionGroup>
<xp:actionGroup>
<xp:this.condition><![CDATA[#{javascript:if(parseInt(viewScope.curApprCycle) > 2){
if(parseInt(viewScope.curApprStatus) > 1){
return true;
}
return false;}return false;}]]></xp:this.condition>
<xp:saveDocument
var="PenPicture"></xp:saveDocument>
</xp:actionGroup>
</xp:actionGroup>
</xp:this.action>