同様の問題がありました。私の場合、ユーザーがページを更新するとドキュメントが複製されました。関数を使用して現在のページにリダイレクトすることで、これを解決できました。Tommy Valand はもともとこれを書きました :
タブ付きテーブルの現在のタブにリダイレクトするように変更しました。それらを使用していない場合は、機能から削除してください。ThankYou ページにリダイレクトする前にこの機能を使用すると、[戻る] ボタンに検証エラーが表示されなくなります。おそらく、検証済みのドキュメントが表示されるだけです。
この関数を SSJS コード ライブラリに含めることができます。新しいドキュメントを保存した後、関数を呼び出します。これが私がそれを呼び出す方法です:
redirectToCurrentDocument( false, "Invoices" )
Invoices は、リダイレクト先のタブの名前です。
function redirectToCurrentDocument( switchMode:boolean, tab){
try {
if( typeof currentDocument === 'undefined' || viewScope.stopRedirect ){ return; }
// Gets the name of the XPage. E.g. /Person.xsp
var page = view.getPageName();
// Finds extra parameters, strips away XPages parameters/trims leading &
var parameters = context.getUrl().getQueryString().substring(1);
var extraParameters = parameters.replace(
/([&\?^]*_[a-z0-9=]+[&]{0,1})|(tab=\w{0,}[\&]{0,1})|(action=\w{4}Document[\&]{0,1})|(documentId=[\w]{32}[\&]{0,1})/ig, '').replace( /\&$/, '' );
// Gets the unid of the current document
//var unid = currentDocument.getDocument().getUniversalID();
//var unid = document1.getDocument().getUniversalID(); //changed this line to make work with multiple data sources - SJZ
var unid = document1.getDocument().getNoteID(); //also changed to use NoteID since it gave runtime errors for new documents - SJZ
// Sets/changes the action according according to the mode the document is in
var isEditable = currentDocument.isEditable();
if( switchMode ){ isEditable = !isEditable; } // false -> true / true -> false
var action = ( isEditable ) ? 'editDocument' : 'openDocument';
// Open the current document via a get request
var redirectUrl = page + '?documentId=' + unid + '&action=' + action;
if( extraParameters ){ redirectUrl += '&' + extraParameters; }
//print("tab=" + tab)
redirectUrl += '&tab=' + tab
context.redirectToPage( redirectUrl );
} catch(e){ /* Exception logging */ }
}
それがあなたを助けることを願っています。それは私にとってとてもうまくいきます。