{"id":491,"date":"2015-12-11T13:27:15","date_gmt":"2015-12-11T12:27:15","guid":{"rendered":"http:\/\/dokumentacja.edokumenty.eu\/?page_id=491"},"modified":"2017-07-10T11:36:14","modified_gmt":"2017-07-10T09:36:14","slug":"toolbar-i-przyciski","status":"publish","type":"page","link":"http:\/\/developer.edokumenty.eu\/index.php\/dokumentacja-online-systemu-edokumenty\/ui-elements\/toolbar-i-przyciski\/","title":{"rendered":"Przyciski"},"content":{"rendered":"<p>Niniejszy artyku\u0142 opisuje:<\/p>\n<ol>\n<li><a href=\"#topic1\">W jakich miejscach mog\u0105 by\u0107 dodawane w\u0142asne przyciski<\/a>\n<ol>\n<li><a href=\"#topic11\">W menu standardowych modu\u0142\u00f3w np. dokument\u00f3w<\/a><\/li>\n<li><a href=\"#topic12\">W menu standardowych formatek np. sprawy<\/a><\/li>\n<li><a href=\"#topic13\">W toolbarze Custom Module<\/a>\n<ol>\n<li><a href=\"#topic131\">z obs\u0142ug\u0105 standardowej listy<\/a><\/li>\n<li><a href=\"#topic132\">z obs\u0142ug\u0105 widoku we Flexy HTML<\/a><\/li>\n<\/ol>\n<\/li>\n<li><a href=\"#topic14\">W toolbarze rejestru<\/a><\/li>\n<li><a href=\"#topic15\">W toolbarze formularza rejestru<\/a><\/li>\n<\/ol>\n<\/li>\n<li><a href=\"#topic2\">Jak dodawa\u0107 przyciski, w tym jak przekazywa\u0107 parametry:<\/a>\n<ol>\n<li><a href=\"#topic21\">Poprzez panel sterowania - Custom widget<\/a><\/li>\n<li><a href=\"#topic22\">W plikach XML jako &lt;button&gt;<\/a><\/li>\n<li><a href=\"#topic23\">W plikach XML jako &lt;custom_widget&gt;<\/a><\/li>\n<li><a href=\"#topic24\">W rejestrach - jako JSON<\/a><\/li>\n<li><a href=\"#topic25\">We w\u0142asnych formatkach - w PHP<\/a><\/li>\n<\/ol>\n<\/li>\n<li>Co mog\u0105 wywo\u0142ywa\u0107 przyciski\n<ol>\n<li><a href=\"http:\/\/developer.edokumenty.eu\/index.php\/dokumentacja-online-systemu-edokumenty\/przetwarzanie-danych\/3-2-1-skrypt-wsadowy\/\">W\u0142asne skrypty (CustomScripts)<\/a><\/li>\n<li><a href=\"http:\/\/developer.edokumenty.eu\/index.php\/dokumentacja-online-systemu-edokumenty\/przetwarzanie-danych\/3-2-2-dialog\/\">W\u0142asne dialogi (Dialog)<\/a><\/li>\n<li><a href=\"#topic33\">Pozosta\u0142e standardowe komponenty systemowe<\/a><\/li>\n<\/ol>\n<\/li>\n<li>Jak obs\u0142ugiwa\u0107 od\u015bwie\u017canie powi\u0105zanych obiekt\u00f3w<\/li>\n<\/ol>\n<p><!--more--><br \/>\n<span id=\"topic1\"><\/span><\/p>\n<p>1.\u00a0 W\u0142asne przyciski mog\u0105 by\u0107 dodawane w nast\u0119puj\u0105cych miejscach:<\/p>\n<p id=\"topic11\">1.1 Aby doda\u0107 przycisk w menu standardowych modu\u0142\u00f3w mo\u017cemy wykorzysta\u0107 mechanizm <a href=\"#topic21\">CustomWidget<\/a>, gdzie jako warto\u015bc <em>c_path<\/em> przyjmuje warto\u015b\u0107:<\/p>\n<ul>\n<li><em>contacts\/toolbar<\/em> dla modu\u0142u Klienci<\/li>\n<li><em>employees\/toolbar<\/em> dla modu\u0142u Pracownicy<\/li>\n<li><em>adocuments\/toolbar<\/em> dla Dokumenty<\/li>\n<li><em>emails\/toolbar<\/em> dla modu\u0142u Poczta (email)<\/li>\n<li><em>servicemod\/toolbar<\/em> dla modu\u0142u Serwis<\/li>\n<li><em>aregisters\/toolbar<\/em> dla modu\u0142u Dzienniki<\/li>\n<li><em>processes\/toolbar<\/em> - dla modu\u0142u Sprawy<\/li>\n<li><em>custom\/{cswgid}<\/em>- dla w\u0142asnego modu\u0142u, gdzie wyra\u017cenie {cswgid} to nastepne id CustomWidgetu<\/li>\n<li>aisodocs\/toolbar dla modu\u0142u ISO (funkcjonalno\u015b\u0107 dost\u0119pna od wersji 5.0.87)<\/li>\n<\/ul>\n<p><span id=\"topic12\">\u00a0<\/span><\/p>\n<p>1.2 Aby doda\u0107 przycisk w menu standardowych formatek mo\u017cemy wykorzysta\u0107 mechanizm <a href=\"#topic21\">CustomWidget<\/a>, gdzie jako warto\u015bc <em>c_path<\/em> przyjmuje warto\u015b\u0107:<\/p>\n<ul>\n<li>task_{trmtyp(TODO|PHONECALL|MEETING)}\/toolbar dla kartoteki zdarzenia o podanym typie (trmtyp)<\/li>\n<li><em>vatnote_costs_list_form\/toolbar<\/em> - lista pozycji na zak\u0142adce koszty w fakturze<\/li>\n<li><em>document_products_form_{dctpid}\/toolbar<\/em> - lista pozycji (produkty) na danym dokumencie<\/li>\n<li><em>process_products_form\/toolbar<\/em> - lista pozycji (produkty) na sprawie<\/li>\n<li><em>document_{dctpid}\/menu<\/em> - menu na dokumencie pod przyciskiem Dokument<\/li>\n<li><em>process\/menu<\/em> - menu na sprawie pod przyciskiem Dodatkowe zadania<\/li>\n<li><em>process\/menu::[{dos_id}]<\/em> - pasek zada\u0144 dla rejestru konstrukcja \u015bcie\u017cki obejmuje 2 definicje: process\/menu - widget poka\u017ce si\u0119 na ka\u017cdej teczce lub process\/menu::[{dos_id}] - widget poka\u017ce si\u0119 na wybranych teczkach. Zmienna {dos_id} mo\u017ce by\u0107 w formie 1 lub 1,2,3 gdzie identyfikator numeryczne to dos_id z Ustawienia -&gt; Panel sterowania -&gt; Sprawy -&gt; Kategorie spraw po najechaniu na wybran\u0105 teczk\u0119 poka\u017ce si\u0119 dos_id<\/li>\n<li><em>product\/toolbar<\/em> - pasek zada\u0144 na kartotece produktu<\/li>\n<li><em>document_travelcosts_{dctpid}\/toolbar<\/em> - koszty delegacji<\/li>\n<li><em>cregisterview\/toolbar::[{cregids}]<\/em> - pasek zada\u0144 dla rejestru konstrukcja \u015bcie\u017cki obejmuje 2 definicje: cregisterview\/toolbar - widget poka\u017ce si\u0119 na ka\u017cdym rejestre lub cregisterview\/toolbar::[{cregids}] - widget poka\u017ce si\u0119 na wybranych rejestrach. Zmienna {cregids} mo\u017ce by\u0107 w formie 1 lub 1,2,3 gdzie identyfikator numeryczne to id z cregisters.register<\/li>\n<\/ul>\n<p>Gdzie wyra\u017cenie {dctpid} przyjmuje warto\u015b\u0107 z tabeli types_of_documents<br \/>\n<span id=\"topic13\">\u00a0<\/span><\/p>\n<p>1.3 Przycisk mo\u017cna doda\u0107 tak\u017ce w toolbarze Custom Module:<\/p>\n<p><span id=\"topic131\">\u00a0<\/span><\/p>\n<p>1.3.1 Przy obs\u0142udze standardowej listy pliku CustomModules.xml jako przycisk z wykorzystaniem JavaScriptu<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"XML\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-markup js-code\">\n&lt;buttons&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;button&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;id&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0new\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/id&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;label&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Nowa\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/label&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;dscrpt&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Nowa\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/dscrpt&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;onclick&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0App.openDialogByCls({CLSNAM},\u00a0{KEYVAL},\u00a0({afterSubmit:'{AFTER_SUBMIT}',\u00a0mode:'new'}).toJSONString())\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/onclick&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;icon&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0new.gif\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/icon&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/button&gt;\u00a0\u00a0\u00a0 \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/buttons&gt;\n<\/code><\/pre><\/div>\n<p>lub wywo\u0142a\u0107 skrypt<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"XML\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-markup js-code\">\n&lt;buttons&gt;\r\n\u00a0\u00a0\u00a0\u00a0&lt;button&gt;\r\n\t&lt;id&gt;right&lt;\/id&gt;\r\n\t&lt;label&gt;Uprawnij&lt;\/label&gt;\r\n\t&lt;dscrpt&gt;Uprawnij\u00a0do\u00a0dokumentu&lt;\/dscrpt&gt;\r\n\t&lt;onclick&gt;\r\n\t\t\tasyncLibrary.execute('.\/scripts\/SetRight.inc','SetRight',\u00a0'',\u00a0'execute',\u00a0({afterSubmit:'{AFTER_SUBMIT}',\u00a0keyval:\u00a0{KEYVALS}\u00a0}).toJSONString(),\u00a0'',\u00a0null,FAST);\r\n\t&lt;\/onclick&gt;\r\n\t&lt;icon&gt;right.png&lt;\/icon&gt;\r\n\u00a0\u00a0\u00a0\u00a0&lt;\/button&gt;\r\n&lt;\/buttons&gt;\n<\/code><\/pre><\/div>\n<h2 id=\"tablepress-1-name\" class=\"tablepress-table-name tablepress-table-name-id-1\">Dodatkowe tokeny do u\u017cycia w tagu onclick<\/h2>\n\n<table id=\"tablepress-1\" class=\"tablepress tablepress-id-1\" aria-labelledby=\"tablepress-1-name\">\n<thead>\n<tr class=\"row-1 odd\">\n\t<th class=\"column-1\">Nazwa tagu<\/th><th class=\"column-2\">Opis<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-hover\">\n<tr class=\"row-2 even\">\n\t<td class=\"column-1\">{CLSNAM}<\/td><td class=\"column-2\">klasa zaznaczonego elementu na li\u015bcie je\u015bli zosta\u0142o podane pole w raporcie<\/td>\n<\/tr>\n<tr class=\"row-3 odd\">\n\t<td class=\"column-1\">{AFTER_SUBMIT}<\/td><td class=\"column-2\">akcja od\u015bwie\u017cenia widoku po edycji wpisu lub np. jako dodatkowa akcji na pasku zada\u0144<\/td>\n<\/tr>\n<tr class=\"row-4 even\">\n\t<td class=\"column-1\">{KEYVALS}<\/td><td class=\"column-2\">identyfikatory zaznaczonych element\u00f3w<\/td>\n<\/tr>\n<tr class=\"row-5 odd\">\n\t<td class=\"column-1\">{KEYVAL}<\/td><td class=\"column-2\">identyfikator zaznaczonego elementu na li\u015bcie je\u015bli zosta\u0142o podane pole w raporcie<\/td>\n<\/tr>\n<tr class=\"row-6 even\">\n\t<td class=\"column-1\">{MODE}<\/td><td class=\"column-2\">warto\u015b\u0107 pobierana z taga <id><\/id> u\u017cywa\u0107 jako new, edit, del, delete<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-1 from cache -->\n<p>oraz przycisk CustomWidgets<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"XML\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-markup js-code\">\n&lt;buttons&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0 &lt;button&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;custom_widget&gt;3&lt;\/custom_widget&gt;\r\n\u00a0\u00a0\u00a0\u00a0 &lt;\/button&gt;\r\n&lt;\/buttons&gt;\n<\/code><\/pre><\/div><br \/>\n<span id=\"topic132\"> <\/span><br \/>\n1.3.2 Przy obs\u0142udze widoku w Flexy HTML<\/p>\n<p>Do znacznika, kt\u00f3ry ma by\u0107 przyciskiem dodajemy atrybut <strong>onclick<\/strong> z nast\u0119puj\u0105c\u0105 warto\u015bci\u0105:<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"JAVASCRIPT\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-javascript js-code\">\nif(App.A1Q)return\u00a0false;\r\nApp.A1Q=true;\r\nsetTimeout(function(){App.A1Q=false;},600);\r\n$A1(2,0,1,({\r\n    'cswgid':'67',\r\n    date:'{resultQueries[0][0][gwd_od]}',\r\n    prc_id:{resultQueries[0][0][pracownik]}\r\n}).toJSONString(),false,\u00a0false,\u00a0true); \r\nreturn\u00a0false;\r\n\r\n\n<\/code><\/pre><\/div><br \/>\nGdzie dla klucza cswgid podajemy id naszego CustomWidget'u<\/p>\n<p><span id=\"topic14\"> <\/span><br \/>\n1.4 Aby doda\u0107 przycisk w toolbarze rejestru mo\u017cemy wykorzysta\u0107 mechanizm <a href=\"#topic21\">CustomWidget<\/a>, gdzie jako warto\u015bc <em>c_path<\/em> przyjmuje warto\u015b\u0107:<\/p>\n<ul>\n<li>cregisterview\/toolbar::[{cregids}] - pasek zada\u0144 dla rejestru konstrukcja \u015bcie\u017cki obejmuje 2 definicje:\n<ul>\n<li>cregisterview\/toolbar - widget poka\u017ce si\u0119 na ka\u017cdym rejestre<\/li>\n<li>cregisterview\/toolbar::[{cregids}] - widget poka\u017ce si\u0119 na wybranych rejestrach. Zmienna {cregids} mo\u017ce by\u0107 w formie 1 lub 1,2,3 gdzie identyfikator numeryczne to id z cregisters.register<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><span id=\"topic15\"> <\/span><br \/>\n1.5 Aby doda\u0107 przycisk w toolbarze formularza rejestru, nale\u017cy najpierw wej\u015b\u0107 do modu\u0142u rejestry i wybra\u0107 rejestr do kt\u00f3rego chcemy doda\u0107 przycisk i klikamy przycisk \"Zarz\u0105dzanie\". Nast\u0119pnie w otwartym oknie przechodzimy do zak\u0142adki \"Pola\" i klikamy przycisk \"Dodaj\". Wype\u0142niamy odpowiednie pola i zapisujemy.<\/p>\n<p><a href=\"http:\/\/developer.edokumenty.eu\/wp-content\/uploads\/2015\/12\/edokumenty-add-button-to-registry-forms-toolbar.gif\"><img loading=\"lazy\" class=\"aligncenter wp-image-787\" src=\"http:\/\/developer.edokumenty.eu\/wp-content\/uploads\/2015\/12\/edokumenty-add-button-to-registry-forms-toolbar.gif\" alt=\"edokumenty-add-button-to-registry-forms-toolbar\" width=\"880\" height=\"517\" \/><\/a><\/p>\n<p>Obowi\u0105zkowe pola do wype\u0142nienia:<\/p>\n<ul>\n<li>Nazwa<\/li>\n<li>Typ - ustawiamy na warto\u015b\u0107 \"toolbutton\"<\/li>\n<li>Parametry - JSON dost\u0119pny <a href=\"#topic24\">tutaj <\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><span id=\"topic2\"> <\/span><br \/>\n2. W zale\u017cno\u015bci od miejsca parametry do przycisk\u00f3w czy ich deklaracja mo\u017ce wygl\u0105da\u0107 w r\u00f3\u017cny spos\u00f3b<\/p>\n<p><span id=\"topic21\"> <\/span><br \/>\n2.1 Mechanizm Custom Widget pozwala doda\u0107 nam przyciski w r\u00f3\u017cnych miejscach. Aby m\u00f3c wykorzysta\u0107 jego zalety musimy stworzy\u0107 sobie taki przycisk. W tym celu klikamy \"Ustawienia\", a nast\u0119pnie \"Panel Sterowania\". Nast\u0119pnie w sekcji \"Pozosta\u0142e ustawienia\" odnajdujemy \"Mechanizm CustomWidget\". W nowym oknie klikamy przycisk dodaj i wype\u0142niamy odpowiednio pola w zale\u017cno\u015bci gdzie chcemy ten przycisk u\u017cy\u0107. (Wszystkie te informacje gdzie mo\u017cna wykorzysta\u0107 ten mechanizm znajduje si\u0119 <a href=\"#topic1\">tutaj<\/a>)<\/p>\n<p>Wszystkie wprowadzone zmiany w CustomWidget,\u00a0aby by\u0142y widoczne wymagaj\u0105 ponownego zalogowania u\u017cytkownik\u00f3w.<\/p>\n<p><a href=\"http:\/\/developer.edokumenty.eu\/wp-content\/uploads\/2015\/12\/edokumenty-add-customwidget.gif\"><img loading=\"lazy\" class=\"aligncenter wp-image-795\" src=\"http:\/\/developer.edokumenty.eu\/wp-content\/uploads\/2015\/12\/edokumenty-add-customwidget.gif\" alt=\"edokumenty-add-customwidget\" width=\"882\" height=\"523\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Aby przekaza\u0107 w\u0142asny parametr wystarczy go dopisa\u0107 na ko\u0144cu tablicy JSON.<\/p>\n<p>Obowi\u0105zkowe parametry:<\/p>\n<ul>\n<li>script - to nazwa pliku z skryptem, gdzie nazwa pliku jest r\u00f3wnocze\u015bnie nazw\u0105 klasy. Plik powinien by\u0107 z rozszerzeniem <em>*.inc<\/em> oraz znajdowa\u0107 si\u0119 w\u00a0<em>public_html\/apps\/edokumenty\/scripts<\/em><\/li>\n<li>image - oznacza ikon\u0119 z katalogu <em>public_html\/framework\/img\/toolbarIcons\/24x24\/ikona.png<\/em>. Nazwa ikony musi by\u0107 poprzedzona 24x24\\\/nazwa.rozszerzenie w tym\u00a0 np. <em>24x24x\\\/ikona.png<\/em><\/li>\n<\/ul>\n<p>Mo\u017cemy doda\u0107 dowolny parametr<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"JAVASCRIPT\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-javascript js-code\">\n{\r\n\u00a0\u00a0\u00a0\u00a0\"script\":\u00a0\"UCChangeProcessDossier.inc\",\r\n\u00a0\u00a0\u00a0\u00a0\"image\":\u00a0\"24x24\/clover-24.png\",\r\n\u00a0\u00a0\u00a0\u00a0\"dsexid\":\u00a0\"732\",\r\n\u00a0\u00a0\u00a0\u00a0\"nazwa_parametru\":\"warto\u015b\u0107\u00a0parametru\"\r\n}\n<\/code><\/pre><\/div><br \/>\n<span id=\"topic22\"> <\/span><br \/>\n2.2 W plikach XML w przyciskach mo\u017cemy parametry przekazywa\u0107 w tagu &lt;onclick&gt;<\/p>\n<p>W poni\u017cszym skrypcie, kt\u00f3ry tworzy spraw\u0119 mo\u017cemy uzupe\u0142ni\u0107 pola ju\u017c na formatce, gdzi\u0119 nazwa klucza to nazwa kolumny z tabeli processs:<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"JAVASCRIPT\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-javascript js-code\">\nApp.createDialog('createProcessForm','SimpleProcessCreatingForm','.\/modules\/AProcesses\/formsSimpleProcessCreatingForm.inc','Zakadanie','513',{clsnam:'DOSS',klucz:0,klucz2:'text'}).toJSONString(),\u00a0null,\u00a0'fast')\n<\/code><\/pre><\/div>\n<p>Opis parametr\u00f3w przycisku tworz\u0105cego spraw\u0119<\/p>\n<ul>\n<li>createProcessForm - nazwa w kodzie HTML okna<\/li>\n<li>SimpleProcessCreatingForm - nazwa klasy php'owej<\/li>\n<li>.\/modules\/AProcesses\/form... - \u015bcie\u017cka do tej klasy<\/li>\n<li>Sprawa - opis na g\u00f3rnej belce formatki (najcz\u0119\u015bciej jest nadpisywany przez kod klasy)<\/li>\n<li>513 - rodzaj formatki 513 to pe\u0142na z przyciskami na g\u00f3rnej belce inne rodzaje (kody) raczej s\u0105 przeznaczone do wew. wywo\u0142a\u0144<\/li>\n<li>({clsnam:'DOSS',strpid:1253,keyval:776,mode:'new'}).toJSONString() - parametry do formatki w formacie JSON<\/li>\n<\/ul>\n<p>W skryptach, kt\u00f3re wywo\u0142uj\u0105 raport w nowym oknie lub drukuj\u0105 do xls lub pdf'a przekazujemy parametr jako rep_id, kt\u00f3ry jest identyfikatorem raportu:<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"JAVASCRIPT\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-javascript js-code\">\n\/\/Skrypt\u00a0otwieraj\u0105cy\u00a0raport\u00a0w\u00a0nowym\u00a0oknie\r\nwindow.open('litescript.php\/demo\/?script=GenerateReport&amp;ent_id=2&amp;ent_name=Demo\u00a0S.A.&amp;rep_id=15',\u00a0'_blank',\u00a0'toolbar=no,\u00a0location=no,\u00a0directories=no,\u00a0status=no,\u00a0menubar=yes,\u00a0scrollbars=yes,\u00a0width=980,\u00a0height=800,\u00a0resizable=yes,\u00a0copyhistory=no');\r\n\r\n\/\/Skrypt\u00a0drukuj\u0105cy\u00a0raport\u00a0do\u00a0XLS'a\r\n\u00a0window.open('litescript.php\/demo\/?script=GenerateReport&amp;ent_id=2&amp;ent_name=Demo\u00a0S.A.&amp;rep_id=15&amp;download=t',\u00a0'_blank',\u00a0'toolbar=no,\u00a0location=no,\u00a0directories=no,\u00a0status=no,\u00a0menubar=no,\u00a0scrollbars=yes,\u00a0width=1,\u00a0height=1,\u00a0resizable=yes,\u00a0copyhistory=no');return\u00a0false;\r\n\r\n\/\/Skrypt\u00a0drukuj\u0105cy\u00a0raport\u00a0do\u00a0pdf\r\nwindow.open('litescript.php\/demo\/?script=GenerateReport&amp;ent_id=2&amp;ent_name=Demo\u00a0S.A.&amp;rep_id=15&amp;download=t&amp;out=pdf',\u00a0'_blank',\u00a0'toolbar=no,\u00a0location=no,\u00a0directories=no,\u00a0status=no,\u00a0menubar=no,\u00a0scrollbars=yes,\u00a0width=1,\u00a0height=1,\u00a0resizable=yes,\u00a0copyhistory=no');return\u00a0false;\n<\/code><\/pre><\/div>\n<p>Poni\u017cszy skrypt posiada wiele mo\u017cliwo\u015bci pocz\u0105wszy od utworzenie dialogu, jego edycje a\u017c po jego usuni\u0119cie:<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"JAVASCRIPT\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-javascript js-code\">\n\/\/Dialog tworz\u0105cy \r\nApp.openDialogByCls('DOCUMENT', NULL,\u00a0({afterSubmit:'{AFTER_SUBMIT}', dctpid:1 mode:'new'}).toJSONString())\r\n\r\n\n\/\/Dialog do edycji\r\nApp.openDialogByCls('DOCUMENT',\u00a0{KEYVAL},\u00a0({afterSubmit:'{AFTER_SUBMIT}', dctpid:1 mode:'edit'}).toJSONString())\r\n\r\n\n\/\/Dialog do usuwania\r\nApp.openDialogByCls('DOCUMENT',\u00a0{KEYVAL},\u00a0({afterSubmit:'{AFTER_SUBMIT}', dctpid:1 mode:'del'}).toJSONString())\n<\/code><\/pre><\/div>\n<p>Opis parametr\u00f3w przycisku dialogu:<\/p>\n<ul>\n<li>DOCUMENT - typ dialogu musi by\u0107 zawsze okre\u015blony,<\/li>\n<li>{KEYVAL} - Przekazujemy id, obiektu do dialogu na kt\u00f3rym ma zosta\u0107 wykonana akcja. Dla tryby new warto\u015b\u0107 ta jest NULL<\/li>\n<li>({afterSubmit:'{AFTER_SUBMIT}',dctpid:21,dctptp:'CustomDocument',mode:'del'}).toJSONString() - parametry do formatki w formacie JSON, w kt\u00f3rej mo\u017cemy doda\u0107 w\u0142asne parametry, gdzie kluczem jest nazwa kolumny w bazie.<\/li>\n<\/ul>\n<p>Funkcj\u0119 openDialogByCls() mo\u017cna wywo\u0142ywa\u0107 z innymi parametrami zamiast 'DOCUMENT', co spowoduje otwarcie innych typ\u00f3w okien. Poni\u017cej lista najbardziej przydatnych:<\/p>\n<p><h2 id=\"tablepress-3-name\" class=\"tablepress-table-name tablepress-table-name-id-3\">Parametry funkcji openDialogByCls()<\/h2>\n\n<table id=\"tablepress-3\" class=\"tablepress tablepress-id-3\" aria-labelledby=\"tablepress-3-name\">\n<thead>\n<tr class=\"row-1 odd\">\n\t<th class=\"column-1\">Typ okna<\/th><th class=\"column-2\">CLSNAM<\/th><th class=\"column-3\">Nazwa tabeli w bazie<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-hover\">\n<tr class=\"row-2 even\">\n\t<td class=\"column-1\">Okienko edycji kontaktu<\/td><td class=\"column-2\">CONTACT <\/td><td class=\"column-3\">public.contacts<\/td>\n<\/tr>\n<tr class=\"row-3 odd\">\n\t<td class=\"column-1\">Okienko zak\u0142adania kontaktu<\/td><td class=\"column-2\">CONTACT_EDIT<\/td><td class=\"column-3\">public.contacts<\/td>\n<\/tr>\n<tr class=\"row-4 even\">\n\t<td class=\"column-1\">Urz\u0105dzenie<\/td><td class=\"column-2\">DEVICE <\/td><td class=\"column-3\">public.devices<\/td>\n<\/tr>\n<tr class=\"row-5 odd\">\n\t<td class=\"column-1\">Dokument<\/td><td class=\"column-2\">DOCUMENT<\/td><td class=\"column-3\">public.documents<\/td>\n<\/tr>\n<tr class=\"row-6 even\">\n\t<td class=\"column-1\">Termin<\/td><td class=\"column-2\">EVENT <\/td><td class=\"column-3\">public.events<\/td>\n<\/tr>\n<tr class=\"row-7 odd\">\n\t<td class=\"column-1\">Spotkanie<\/td><td class=\"column-2\">MEETING <\/td><td class=\"column-3\">public.events<\/td>\n<\/tr>\n<tr class=\"row-8 even\">\n\t<td class=\"column-1\">Rozmowa telefoniczna<\/td><td class=\"column-2\">PHONECALL <\/td><td class=\"column-3\">public.events<\/td>\n<\/tr>\n<tr class=\"row-9 odd\">\n\t<td class=\"column-1\">Okienko edycji sprawy <\/td><td class=\"column-2\">PROCESS <\/td><td class=\"column-3\">public.processes<\/td>\n<\/tr>\n<tr class=\"row-10 even\">\n\t<td class=\"column-1\">Produkt<\/td><td class=\"column-2\">PRODUCT <\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-11 odd\">\n\t<td class=\"column-1\">Karta pracy<\/td><td class=\"column-2\">RCP <\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-3 from cache --><br \/>\n<span id=\"topic23\"> <\/span><\/p>\n<p>2.3 Aby doda\u0107 przycisk CustomWidget w xml wystarczy, \u017ce w Mechanizmie CustomWidget podczas tworzenia przycisku okre\u015blimy\u00a0 warto\u015b\u0107 c_path jako <em>custom\/X<\/em>, gdzie X to ostatnie wolne ID. Teraz w definicji XML mo\u017cemy doda\u0107 poni\u017cszy kod.<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"XML\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-markup js-code\">\n&lt;button&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;custom_widget&gt;X&lt;\/custom_widget&gt;\r\n&lt;\/button&gt;\n<\/code><\/pre><\/div>\n<p>Aby przekaza\u0107 parametr w tym przycisku u\u017cywamy do tego <a href=\"#topic21\">Mechanizmu CustomWidget<\/a><br \/>\n<span id=\"topic24\"> <\/span><\/p>\n<p>2.4 W przyciskach znajduj\u0105cych si\u0119 w rejestrach parametry mo\u017cemy przekazywa\u0107 poprzez JSON, kt\u00f3ry wklejamy do parametr\u00f3w<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"JAVASCRIPT\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-javascript js-code\">\n{\r\n\u00a0\u00a0\u00a0\u00a0\"type\":\"toolbutton\",\r\n\u00a0\u00a0\u00a0\u00a0\"icon\":\"new.gif\",\r\n\u00a0\u00a0\u00a0\u00a0\"visible\":1,\r\n\u00a0\u00a0\u00a0\u00a0\"doRefresh\":true,\r\n\u00a0\u00a0\u00a0\u00a0\"onclick\":[\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"moj_skrypt.inc\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"MojaKlasa1\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"mojaFunkcja\",\r\n        {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"parametr_1\":\"aqq\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"parametr_2\":\"{register_entry.adddat}\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\r\n\u00a0\u00a0\u00a0\u00a0]\r\n}\n<\/code><\/pre><\/div>\n<p>Opis parametr\u00f3w:<\/p>\n<ul>\n<li>\"type \" : \"toolbutton\" - ustawiamy input jako przycisk<\/li>\n<li>\"icon\" : \"new.gif\" -\u00a0 plik ikony bez \u015bcie\u017cki kt\u00f3ra wskazuje domy\u015blnie na <em>.\/public_html\/framework\/img\/toolbarIcons\/24x24\/<\/em><\/li>\n<li>\"visible\"<\/li>\n<li>\"doRefresh\" - warto\u015b\u0107 true spowoduje prze\u0142adowanie wpisu w rejestrze<\/li>\n<li>\"onclick\" - skrypt \"app\/edokumenty\/scripts\/moj_skrypt.inc\"<\/li>\n<\/ul>\n<p>Czwarty parametr w onclick wskazuje na parametry kt\u00f3re mo\u017cemy przekaza\u0107 do skryptu, gdzie przekazujemy \"parametr_1\" jako klucz a \"aqq\" jako warto\u015b\u0107<\/p>\n<p>Mo\u017cemy doda\u0107 tak\u017ce wpis w rejestrze:<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"JAVASCRIPT\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-javascript js-code\">\n{\r\n\u00a0\u00a0\u00a0\u00a0\"type\":\u00a0\"toolbutton\",\r\n\u00a0\u00a0\u00a0\u00a0\"icon\":\u00a0\"new.png\",\r\n\u00a0\u00a0\u00a0\u00a0\"enabled\":\u00a01,\r\n\u00a0\u00a0\u00a0\u00a0\"doRefresh\":\u00a0false,\r\n\u00a0\u00a0\u00a0\u00a0\"onclick\":\u00a0[\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"Application\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"openDialogByCls\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"cregid\":\u00a0{TUTAJ_WPISUJEMY_ID_REJESTRU_Z_TABELI_CREGISYSTER.REGISTERS},\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"mode\":\u00a0\"new\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"AFTER_SUBMIT\":\u00a0\"{AFTER_SUBMIT}\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0},\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"CREGISTER_ENTRY\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00\r\n\u00a0\u00a0\u00a0\u00a0]\r\n}\n<\/code><\/pre><\/div>\n<p>Wywo\u0142anie \/ otwarcie formularza poprzez clsnam i keyval (np. otwarcie tego samego wpisu w nowym oknie czyli edycja):<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"JAVASCRIPT\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-javascript js-code\">\n{\r\n\u00a0\u00a0\u00a0\u00a0\"type\":\"toolbutton\",\r\n\u00a0\u00a0\u00a0\u00a0\"icon\":\"edit.gif\",\r\n\u00a0\u00a0\u00a0\u00a0\"enabled\":1,\r\n\u00a0\u00a0\u00a0\u00a0\"doRefresh\":true,\r\n\u00a0\u00a0\u00a0\u00a0\"onclick\":\r\n\u00a0\u00a0\u00a0\u00a0[\r\n\u00a0\u00a0\u00a0\u00a0\t\"\",\r\n\u00a0\u00a0\u00a0\u00a0\t\"Application\",\r\n\u00a0\u00a0\u00a0\u00a0\t\"openDialogByCls\",\r\n\u00a0\u00a0\u00a0\u00a0\t\"\",\r\n\u00a0\u00a0\u00a0\u00a0\t\"CREGISTER_ENTRY\",\r\n\u00a0\u00a0\u00a0\u00a0\t\"{SQL::SELECT\u00a0{cregisters.creg_przykladowy_rejestr.id____}}\"\r\n\u00a0\u00a0\u00a0\u00a0]\r\n}\n<\/code><\/pre><\/div>\n<p>Usuni\u0119cie wpisu z rejestru:<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"JAVASCRIPT\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-javascript js-code\">\n{\r\n\t\"type\":\"toolbutton\",\r\n\t\"icon\":\"del.gif\",\r\n\t\"enabled\":1,\r\n\t\"doRefresh\":true,\r\n\t\"onclick\":\r\n\t[\r\n\t\t\"\",\r\n\t\t\"Application\",\r\n\t\t\"openDialogByCls\",\r\n\t\t{\"mode\":\"del\"},\r\n\t\t\"CREGISTER_ENTRY\",\r\n\t\t\"{SQL::SELECT\u00a0{cregisters.creg_przykladowy_rejestr.id____}}\"\r\n\t]\r\n}\n<\/code><\/pre><\/div>\n<p>Otwarcie dialoga z parametrami (mo\u017cna przekaza\u0107 dowolne dane z rekordu rejestru). Poni\u017csza definicja to przyk\u0142ad ju\u017c samej warto\u015bci parametr\u00f3w JSON.<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"JAVASCRIPT\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-javascript js-code\">\n{\r\n\u00a0\u00a0\u00a0\u00a0\"type\":\u00a0\"toolbutton\",\r\n\u00a0\u00a0\u00a0\u00a0\"icon\":\u00a0\"edit.gif\",\r\n\u00a0\u00a0\u00a0\u00a0\"visible\":\u00a01,\r\n\u00a0\u00a0\u00a0\u00a0\"doRefresh\":\u00a0false,\r\n\u00a0\u00a0\u00a0\u00a0\"onclick\":\u00a0[\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"nChangeElementsNumber2.inc\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"nChangeElementsNumberInitializer\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"init\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"parametr_1\":\u00a0\"{DIALOG_NAME}\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"parametr_2\":\u00a0\"{cregisters.creg_n_elements.adddat}\",\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"afterSubmit\":\u00a0\"{AFTER_SUBMIT}\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\r\n\u00a0\u00a0\u00a0\u00a0]\r\n}\n<\/code><\/pre><\/div>\n<p>&nbsp;<\/p>\n<p>2.5 Przycisk znajduj\u0105cych si\u0119 w w\u0142asnych formatkach PHP, mog\u0105 by\u0107 przekazywane po przez skrypty Javascripts<br \/>\n<span id=\"topic33\"> <\/span><\/p>\n<p>3.3 Pozosta\u0142e standardowe komponenty systemowe<\/p>\n<p>3.3.1\u00a0 W pliku CustomModules.xml<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"XML\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-markup js-code\">\n&lt;buttons&gt;\r\n\u00a0\u00a0\u00a0\u00a0&lt;button&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;id&gt;przyciskId&lt;\/id&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;label&gt;Nazwa\u00a0przycisku&lt;\/label&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;dscrpt&gt;Opis\u00a0przycisku&lt;\/dscrpt&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;onclick&gt;\r\nApp.createDialog('createProcessForm','SimpleProcessCreatingForm','.\/modules\/AProcesses\/formsSimpleProcessCreatingForm.inc','Zakadanie','513',{clsnam:'DOSS',klucz:0,klucz2:'text'}).toJSONString(),\u00a0null,\u00a0'fast')\r\n        &lt;\/onclick&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;icon&gt;pdf.png&lt;\/icon&gt;\r\n\u00a0\u00a0\u00a0\u00a0&lt;\/button&gt;\r\n&lt;\/buttons&gt;\n<\/code><\/pre><\/div>\n<p>Opis parametr\u00f3w przycisku tworz\u0105cego spraw\u0119<\/p>\n<ul>\n<li>createProcessForm - nazwa w kodzie HTML okna<\/li>\n<li>SimpleProcessCreatingForm - nazwa klasy php'owej<\/li>\n<li>.\/modules\/AProcesses\/form... - \u015bcie\u017cka do tej klasy<\/li>\n<li>Sprawa - opis na g\u00f3rnej belce formatki (najcz\u0119\u015bciej jest nadpisywany przez kod klasy)<\/li>\n<li>513 - rodzaj formatki 513 to pe\u0142na z przyciskami na g\u00f3rnej belce inne rodzaje (kody) raczej s\u0105 przeznaczone do wew. wywo\u0142a\u0144<\/li>\n<li>({clsnam:'DOSS',strpid:1253,keyval:776,mode:'new'}).toJSONString() - parametry do formatki w formacie JSON<\/li>\n<\/ul>\n<p>Skrypt otwieraj\u0105cy raport w nowym oknie<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"XML\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-markup js-code\">\n&lt;buttons&gt;\r\n\u00a0\u00a0\u00a0\u00a0&lt;button&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;id&gt;przyciskId&lt;\/id&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;label&gt;Raport\u00a0w\u00a0nowym\u00a0oknie&lt;\/label&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;dscrpt&gt;Opis\u00a0przycisku&lt;\/dscrpt&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;onclick&gt;\r\nwindow.open('litescript.php\/demo\/?script=GenerateReport&amp;ent_id=2&amp;ent_name=Demo\u00a0S.A.&amp;rep_id=15',\u00a0'_blank',\u00a0'toolbar=no,\u00a0location=no,\u00a0directories=no,\u00a0status=no,\u00a0menubar=yes,\u00a0scrollbars=yes,\u00a0width=980,\u00a0height=800,\u00a0resizable=yes,\u00a0copyhistory=no');\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/onclick&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;icon&gt;pdf.png&lt;\/icon&gt;\r\n\u00a0\u00a0\u00a0\u00a0&lt;\/button&gt;\r\n&lt;\/buttons&gt;\n<\/code><\/pre><\/div>\n<p>&nbsp;<\/p>\n<p>Skrypt drukuj\u0105cy raport do XLS'a<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"XML\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-markup js-code\">\n&lt;buttons&gt;\r\n\u00a0\u00a0\u00a0\u00a0&lt;button&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;id&gt;przyciskId&lt;\/id&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;label&gt;Raport\u00a0w\u00a0nowym\u00a0oknie&lt;\/label&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;dscrpt&gt;Opis\u00a0przycisku&lt;\/dscrpt&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;onclick&gt;\r\n\u00a0window.open('litescript.php\/demo\/?script=GenerateReport&amp;ent_id=2&amp;ent_name=Demo\u00a0S.A.&amp;rep_id=15&amp;download=t',\u00a0'_blank',\u00a0'toolbar=no,\u00a0location=no,\u00a0directories=no,\u00a0status=no,\u00a0menubar=no,\u00a0scrollbars=yes,\u00a0width=1,\u00a0height=1,\u00a0resizable=yes,\u00a0copyhistory=no');return\u00a0false;\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/onclick&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;icon&gt;pdf.png&lt;\/icon&gt;\r\n\u00a0\u00a0\u00a0\u00a0&lt;\/button&gt;\r\n&lt;\/buttons&gt;\n<\/code><\/pre><\/div>\n<p>&nbsp;<\/p>\n<p>Skrypt drukuj\u0105cy do PDF'a<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"XML\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-markup js-code\">\n&lt;buttons&gt;\r\n\u00a0\u00a0\u00a0\u00a0&lt;button&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;id&gt;przyciskId&lt;\/id&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;label&gt;Raport\u00a0w\u00a0nowym\u00a0oknie&lt;\/label&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;dscrpt&gt;Opis\u00a0przycisku&lt;\/dscrpt&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;onclick&gt;\r\nwindow.open('litescript.php\/demo\/?script=GenerateReport&amp;ent_id=2&amp;ent_name=Demo\u00a0S.A.&amp;rep_id=15&amp;download=t&amp;out=pdf',\u00a0'_blank',\u00a0'toolbar=no,\u00a0location=no,\u00a0directories=no,\u00a0status=no,\u00a0menubar=no,\u00a0scrollbars=yes,\u00a0width=1,\u00a0height=1,\u00a0resizable=yes,\u00a0copyhistory=no');return\u00a0false;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/onclick&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;icon&gt;pdf.png&lt;\/icon&gt;\r\n\u00a0\u00a0\u00a0\u00a0&lt;\/button&gt;\r\n&lt;\/buttons&gt;\n<\/code><\/pre><\/div>\n<p>&nbsp;<\/p>\n<p>Poni\u017cszy skrypt posiada wiele mo\u017cliwo\u015bci pocz\u0105wszy od utworzenie dialogu, jego edycje a\u017c po jego usuni\u0119cie:<\/p>\n<p>Przycisk do utworzenia nowego dokumentu<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"XML\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-markup js-code\">\n&lt;buttons&gt;\r\n\u00a0\u00a0\u00a0\u00a0&lt;button&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;id&gt;new&lt;\/id&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;label&gt;Nowy&lt;\/label&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;dscrpt&gt;Opis\u00a0przycisku&lt;\/dscrpt&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;onclick&gt;\r\nApp.openDialogByCls('DOCUMENT',\u00a0NULL,\u00a0({afterSubmit:'{AFTER_SUBMIT}',\u00a0dctpid:1\u00a0mode:'new'}).toJSONString())\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/onclick&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;icon&gt;new.png&lt;\/icon&gt;\r\n\u00a0\u00a0\u00a0\u00a0&lt;\/button&gt;\r\n&lt;\/buttons&gt;\n<\/code><\/pre><\/div>\n<p>Przycisk do edycji dokumentu<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"XML\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-markup js-code\">\n&lt;buttons&gt;\r\n\u00a0\u00a0\u00a0\u00a0&lt;button&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;id&gt;edit&lt;\/id&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;label&gt;Edytuj&lt;\/label&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;dscrpt&gt;Opis\u00a0przycisku&lt;\/dscrpt&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;onclick&gt;\r\nApp.openDialogByCls('DOCUMENT',\u00a0{KEYVAL},\u00a0({afterSubmit:'{AFTER_SUBMIT}',\u00a0dctpid:1\u00a0mode:'edit'}).toJSONString())\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/onclick&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;icon&gt;edit.png&lt;\/icon&gt;\r\n\u00a0\u00a0\u00a0\u00a0&lt;\/button&gt;\r\n&lt;\/buttons&gt;\n<\/code><\/pre><\/div>\n<p>&nbsp;<\/p>\n<p>Dialog do usuni\u0119cia dokumentu<\/p>\n<div class=\"code-highlight code-highlight-with-label\" data-label=\"XML\"><span class=\"js-copy-to-clipboard copy-code\">copy<\/span>\n\t<pre><code class=\"language-markup js-code\">\n&lt;buttons&gt;\r\n\u00a0\u00a0\u00a0\u00a0&lt;button&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;id&gt;del&lt;\/id&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;label&gt;Usu\u0144&lt;\/label&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;dscrpt&gt;Opis\u00a0przycisku&lt;\/dscrpt&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;onclick&gt;\r\nApp.openDialogByCls('DOCUMENT',\u00a0{KEYVAL},\u00a0({afterSubmit:'{AFTER_SUBMIT}',\u00a0dctpid:1\u00a0mode:'del'}).toJSONString())\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/onclick&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;icon&gt;del.png&lt;\/icon&gt;\r\n\u00a0\u00a0\u00a0\u00a0&lt;\/button&gt;\r\n&lt;\/buttons&gt;\n<\/code><\/pre><\/div>\n<p>&nbsp;<\/p>\n<p>Opis parametr\u00f3w przycisku dialogu:<\/p>\n<ul>\n<li>DOCUMENT - typ dialogu musi by\u0107 zawsze okre\u015blony,<\/li>\n<li>{KEYVAL} - Przekazujemy id, obiektu do dialogu na kt\u00f3rym ma zosta\u0107 wykonana akcja. Dla tryby new warto\u015b\u0107 ta jest NULL<\/li>\n<li>({afterSubmit:'{AFTER_SUBMIT}',dctpid:21,dctptp:'CustomDocument',mode:'del'}).toJSONString() - parametry do formatki w formacie JSON, w kt\u00f3rej mo\u017cemy doda\u0107 w\u0142asne parametry, gdzie kluczem jest nazwa kolumny w bazie.<\/li>\n<\/ul>\n<p>Funkcj\u0119 openDialogByCls() mo\u017cna wywo\u0142ywa\u0107 z innymi parametrami zamiast 'DOCUMENT', co spowoduje otwarcie innych typ\u00f3w okien. Poni\u017cej lista najbardziej przydatnych:<\/p>\n<h2 id=\"tablepress-3-no-2-name\" class=\"tablepress-table-name tablepress-table-name-id-3\">Parametry funkcji openDialogByCls()<\/h2>\n\n<table id=\"tablepress-3-no-2\" class=\"tablepress tablepress-id-3\" aria-labelledby=\"tablepress-3-no-2-name\">\n<thead>\n<tr class=\"row-1 odd\">\n\t<th class=\"column-1\">Typ okna<\/th><th class=\"column-2\">CLSNAM<\/th><th class=\"column-3\">Nazwa tabeli w bazie<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-hover\">\n<tr class=\"row-2 even\">\n\t<td class=\"column-1\">Okienko edycji kontaktu<\/td><td class=\"column-2\">CONTACT <\/td><td class=\"column-3\">public.contacts<\/td>\n<\/tr>\n<tr class=\"row-3 odd\">\n\t<td class=\"column-1\">Okienko zak\u0142adania kontaktu<\/td><td class=\"column-2\">CONTACT_EDIT<\/td><td class=\"column-3\">public.contacts<\/td>\n<\/tr>\n<tr class=\"row-4 even\">\n\t<td class=\"column-1\">Urz\u0105dzenie<\/td><td class=\"column-2\">DEVICE <\/td><td class=\"column-3\">public.devices<\/td>\n<\/tr>\n<tr class=\"row-5 odd\">\n\t<td class=\"column-1\">Dokument<\/td><td class=\"column-2\">DOCUMENT<\/td><td class=\"column-3\">public.documents<\/td>\n<\/tr>\n<tr class=\"row-6 even\">\n\t<td class=\"column-1\">Termin<\/td><td class=\"column-2\">EVENT <\/td><td class=\"column-3\">public.events<\/td>\n<\/tr>\n<tr class=\"row-7 odd\">\n\t<td class=\"column-1\">Spotkanie<\/td><td class=\"column-2\">MEETING <\/td><td class=\"column-3\">public.events<\/td>\n<\/tr>\n<tr class=\"row-8 even\">\n\t<td class=\"column-1\">Rozmowa telefoniczna<\/td><td class=\"column-2\">PHONECALL <\/td><td class=\"column-3\">public.events<\/td>\n<\/tr>\n<tr class=\"row-9 odd\">\n\t<td class=\"column-1\">Okienko edycji sprawy <\/td><td class=\"column-2\">PROCESS <\/td><td class=\"column-3\">public.processes<\/td>\n<\/tr>\n<tr class=\"row-10 even\">\n\t<td class=\"column-1\">Produkt<\/td><td class=\"column-2\">PRODUCT <\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<tr class=\"row-11 odd\">\n\t<td class=\"column-1\">Karta pracy<\/td><td class=\"column-2\">RCP <\/td><td class=\"column-3\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-3-no-2 from cache -->\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Niniejszy artyku\u0142 opisuje: W jakich miejscach mog\u0105 by\u0107 dodawane w\u0142asne przyciski W menu standardowych modu\u0142\u00f3w np. dokument\u00f3w W menu standardowych formatek np. sprawy W toolbarze Custom Module z obs\u0142ug\u0105 standardowej listy z obs\u0142ug\u0105 widoku we Flexy HTML W toolbarze rejestru W toolbarze formularza rejestru Jak dodawa\u0107 przyciski, w tym jak przekazywa\u0107 parametry: Poprzez panel sterowania [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":485,"menu_order":2,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"tags":[29,172,28,27,19],"_links":{"self":[{"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/pages\/491"}],"collection":[{"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/comments?post=491"}],"version-history":[{"count":65,"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/pages\/491\/revisions"}],"predecessor-version":[{"id":3436,"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/pages\/491\/revisions\/3436"}],"up":[{"embeddable":true,"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/pages\/485"}],"wp:attachment":[{"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/media?parent=491"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/developer.edokumenty.eu\/index.php\/wp-json\/wp\/v2\/tags?post=491"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}