{"id":245,"date":"2011-08-29T20:57:10","date_gmt":"2011-08-29T18:57:10","guid":{"rendered":"http:\/\/hasselba.ch\/blog\/?p=245"},"modified":"2011-08-30T17:09:14","modified_gmt":"2011-08-30T15:09:14","slug":"das-speichern-von-dokumenten-events","status":"publish","type":"post","link":"https:\/\/hasselba.ch\/blog\/?p=245","title":{"rendered":"Das Speichern von Dokumenten &#038; Events"},"content":{"rendered":"<p>Speichert man ein Dokument \u00fcber die Javascript-Methode &#8222;<em>save()<\/em>&#8222;, werden die Events (QuerySave, Compute und PostSave) nicht ausgef\u00fchrt.<\/p>\n<pre>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n&lt;xp:view xmlns:xp=\"http:\/\/www.ibm.com\/xsp\/core\"&gt;\r\n   &lt;xp:this.data&gt;\r\n      &lt;xp:dominoDocument var=\"doc\"&gt;\r\n         &lt;xp:this.querySaveDocument&gt;\r\n            &lt;![CDATA[#{javascript:print ( \"querySave\" ) }]]&gt;\r\n         &lt;\/xp:this.querySaveDocument&gt;\r\n      &lt;\/xp:dominoDocument&gt;\r\n   &lt;\/xp:this.data&gt;\r\n\r\n&lt;xp:link escape=\"true\" text=\"Link\" id=\"link1\"&gt;\r\n   &lt;xp:eventHandler event=\"onclick\" submit=\"true\"\r\n   refreshMode=\"complete\"&gt;\r\n      &lt;xp:this.action&gt;\r\n         &lt;xp:executeScript script=\"#{javascript:<strong>doc.save()<\/strong>}\"&gt;\r\n         &lt;\/xp:executeScript&gt;\r\n      &lt;\/xp:this.action&gt;\r\n   &lt;\/xp:eventHandler&gt;\r\n&lt;\/xp:link&gt;\r\n\r\n&lt;\/xp:view&gt;<\/pre>\n<p><em>[In Fett: Speichern mittels &#8222;save()&#8220;]<\/em><\/p>\n<p>Auf der Serverkonsole wird kein &#8222;QuerySave&#8220; ausgegeben, das Event wird nicht ausgef\u00fchrt. Damit die Events ausgef\u00fchrt werden, mu\u00df die XPages-interne Funktion aufgerufen werden:<\/p>\n<pre>&lt;xp:link escape=\"true\" text=\"Link\" id=\"link1\"&gt;\r\n   &lt;xp:eventHandler event=\"onclick\" submit=\"true\"\r\n      refreshMode=\"complete\"&gt;\r\n      &lt;xp:this.action&gt;\r\n         <strong>&lt;xp:saveDocument&gt;&lt;\/xp:saveDocument&gt;<\/strong>\r\n      &lt;\/xp:this.action&gt;\r\n   &lt;\/xp:eventHandler&gt;\r\n&lt;\/xp:link&gt;<\/pre>\n<p>Verwendet man mehrere Datasources, mu\u00df die Reihenfolge beachtet werden, denn nur die letzte Datenquelle ist von der Aktion betroffen.<\/p>\n<p>Allerdings kann man auch die Eigenschaften\u00a0 eines Save-Buttons verwenden, um ein Event dazu zu bewegen, ein Dokument zu speichern und die Events der Datenquellen auszuf\u00fchren:<\/p>\n<pre>&lt;xp:link escape=\"true\" text=\"Link\" id=\"link2\"&gt;\r\n   &lt;xp:eventHandler event=\"onclick\" submit=\"true\"\r\n      refreshMode=\"complete\" <strong>immediate=\"false\"<\/strong> <strong>save=\"true\"<\/strong>&gt;\r\n   &lt;\/xp:eventHandler&gt;\r\n&lt;\/xp:link&gt;<\/pre>\n<p><em>[In Fett: Die Eigenschaften eines Save-Buttons auf einem Link]<\/em><\/p>\n<p><strong>EDIT:<\/strong><\/p>\n<p>Nutzt man die Aktion &#8222;<em>&lt;xp:saveDocument&gt;<\/em>&#8220; kann man die zu speichernde Datasource mittels dem &#8222;<em>var<\/em>&#8222;-Parameter angeben. Dann ist die Reihenfolge der Datasources irrelevant:<\/p>\n<pre>&lt;xp:saveDocument <strong>var=\"trialDoc\"<\/strong>&gt;&lt;\/xp:saveDocument&gt;<\/pre>\n<p><em>[In Fett: Erzwungene Speicherung der Datasource &#8222;trialDoc&#8220;]<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Speichert man ein Dokument \u00fcber die Javascript-Methode &#8222;save()&#8222;, werden die Events (QuerySave, Compute und PostSave) nicht ausgef\u00fchrt. &lt;?xml version=&#8220;1.0&#8243; encoding=&#8220;UTF-8&#8243;?&gt; &lt;xp:view xmlns:xp=&#8220;http:\/\/www.ibm.com\/xsp\/core&#8220;&gt; &lt;xp:this.data&gt; &lt;xp:dominoDocument var=&#8220;doc&#8220;&gt; &lt;xp:this.querySaveDocument&gt; &lt;![CDATA[#{javascript:print ( &#8222;querySave&#8220; ) }]]&gt; &lt;\/xp:this.querySaveDocument&gt; &lt;\/xp:dominoDocument&gt; &lt;\/xp:this.data&gt; &lt;xp:link escape=&#8220;true&#8220; text=&#8220;Link&#8220; id=&#8220;link1&#8243;&gt; &lt;xp:eventHandler event=&#8220;onclick&#8220; &hellip; <a href=\"https:\/\/hasselba.ch\/blog\/?p=245\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,76,74],"tags":[14,7,16,5,3,85],"class_list":["post-245","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-ssjs","category-xpages","tag-designer","tag-domino","tag-server","tag-ssjs","tag-xpages","tag-xsp"],"_links":{"self":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/245","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=245"}],"version-history":[{"count":9,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/245\/revisions"}],"predecessor-version":[{"id":254,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/245\/revisions\/254"}],"wp:attachment":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=245"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=245"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=245"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}