Probiers doch mal mit einem CSJS Scriptblock, der das neue Dokument öffnet:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view
xmlns:xp="http://www.ibm.com/xsp/core">
<xp:button
value="OpenDoc"
id="buttonOpenDoc">
<xp:eventHandler
event="onclick"
submit="true"
refreshMode="partial"
refreshId="refreshMe">
<xp:this.action>
<![CDATA[#{javascript:
var doc:NotesDocument = database.createDocument();
doc.replaceItemValue("Form", "Test");
doc.save()
requestScope.put("OpenDoc", true);
requestScope.put("DocUNID", doc.getUniversalID() );
}]]>
</xp:this.action>
</xp:eventHandler>
</xp:button>
<xp:br></xp:br>
<xp:br></xp:br>
<xp:div
id="refreshMe">
<xp:scriptBlock
id="scriptBlockOpenDoc">
<xp:this.value>
<![CDATA[
var url = "notes:///Pfad/zur/DB.nsf/0/";
url += "#{javascript:requestScope.get('DocUNID')}?OpenDocument";
window.open(url);
]]>
</xp:this.value>
<xp:this.rendered><![CDATA[#{javascript:requestScope.containsKey("OpenDoc")}]]></xp:this.rendered>
</xp:scriptBlock>
</xp:div>
</xp:view>
Beim Klick auf den Button wird ein neues Dokument erstellt, und die DocUNID im requestScope abgelegt.
Durch den Refresh wird der Scriptblock an den Client gesendet und das CSJS öffnet dann das gewünschte Dokument.