{"id":9747,"date":"2025-08-11T10:56:54","date_gmt":"2025-08-11T08:56:54","guid":{"rendered":"https:\/\/pomoc.comarch.pl\/cee\/640\/?post_type=ht_kb&#038;p=9747"},"modified":"2025-08-11T10:58:17","modified_gmt":"2025-08-11T08:58:17","slug":"definicja-hook-contract-dla-dokumentow","status":"publish","type":"ht_kb","link":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/","title":{"rendered":"Definicja Hook Contract dla dokument\u00f3w"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Spis tre\u015bci<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Prze\u0142\u0105cznik Spisu Tre\u015bci\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Wprowadzenie\" >Wprowadzenie<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Grupa_docelowa\" >Grupa docelowa<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Opis\" >Opis<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Dodawanie_atrybutow_bezposrednio_w_naglowku_dokumentow\" >Dodawanie atrybut\u00f3w bezpo\u015brednio w nag\u0142\u00f3wku dokument\u00f3w<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Dodawanie_atrybutow_bezposrednio_w_pozycji_dokumentu\" >Dodawanie atrybut\u00f3w bezpo\u015brednio w pozycji dokumentu<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Dodawanie_danych_podstawowych_do_dodatkowego_zbioru_danych\" >Dodawanie danych podstawowych do dodatkowego zbioru danych<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Dodawanie_danych_pozycji_w_dodatkowym_zestawie_danych\" >Dodawanie danych pozycji w dodatkowym zestawie danych<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Zredukowane_interfejsy_Hook_do_reorganizacji\" >Zredukowane interfejsy Hook do reorganizacji<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Konwersja_dokumentu\" >Konwersja dokumentu<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Okreslanie_wartosci_domyslnej_dla_danych_dodanych_do_naglowka_dokumentow\" >Okre\u015blanie warto\u015bci domy\u015blnej dla danych dodanych do nag\u0142\u00f3wka dokument\u00f3w<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Okreslanie_wartosci_domyslnej_dla_danych_dodanych_do_pozycji_dokumentu\" >Okre\u015blanie warto\u015bci domy\u015blnej dla danych dodanych do pozycji dokumentu<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Nowe_podstawowe_kontrole_dla_istniejacych_lub_nowych_danych\" >Nowe podstawowe kontrole dla istniej\u0105cych lub nowych danych<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Sprawdzanie_nowych_pozycji_dla_istniejacych_lub_nowych_danych\" >Sprawdzanie nowych pozycji dla istniej\u0105cych lub nowych danych<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Nowe_walidacje_usuwania_dla_naglowka_dokumentow\" >Nowe walidacje usuwania dla nag\u0142\u00f3wka dokument\u00f3w<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Nowe_walidacje_usuwania_dla_pozycji_wiersza\" >Nowe walidacje usuwania dla pozycji wiersza<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Nowa_walidacja_przed_reorganizacja_dokumentu\" >Nowa walidacja przed reorganizacj\u0105 dokumentu<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Interfejsy_Hook_dla_statusu_zamowienia\" >Interfejsy Hook dla statusu zam\u00f3wienia<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Interfejsy_Hook_dla_statusu_potwierdzenia_i_zmiany_zamowienia_w_potwierdzeniu_zamowienia\" >Interfejsy Hook dla statusu potwierdzenia i zmiany zam\u00f3wienia w potwierdzeniu zam\u00f3wienia<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Interfejs_Hook_do_dodawania_akcji\" >Interfejs Hook do dodawania akcji<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Interfejs_Hook_do_rejestrowania_zmienionych_danych_podczas_procesu_usuwania_i_zapisywania\" >Interfejs Hook do rejestrowania zmienionych danych podczas procesu usuwania i zapisywania<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Interfejs_Hook_do_aktualizacji_naglowka_w_przypadku_zmian_pozycji\" >Interfejs Hook do aktualizacji nag\u0142\u00f3wka w przypadku zmian pozycji<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Interfejs_Hook_do_definiowania_atrybutow_rodzaju_dokumentu_ktore_nie_powinny_byc_juz_zmienne_po_pierwszej_instancji_dokumentu\" >Interfejs Hook do definiowania atrybut\u00f3w rodzaju dokumentu, kt\u00f3re nie powinny by\u0107 ju\u017c zmienne po pierwszej instancji dokumentu<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Hook_Contract\" >Hook Contract<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Poziom_Logika\" >Poziom Logika<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Poziom_Interfejs_uzytkownika\" >Poziom Interfejs u\u017cytkownika<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Aplikacje_typu_Dokument\" >Aplikacje typu Dokument<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/definicja-hook-contract-dla-dokumentow\/#Aplikacje_typu_Lista_dla_dokumentow\" >Aplikacje typu Lista dla dokument\u00f3w<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h3 id=\"wprowadzenie\" ><span class=\"ez-toc-section\" id=\"Wprowadzenie\"><\/span>Wprowadzenie<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p data-start=\"0\" data-end=\"198\">Definicje Hook Contract dla dokument\u00f3w s\u0142u\u017c\u0105 do rozszerzania aplikacji typu <em>Dokument<\/em> oraz aplikacji typu <em>Lista<\/em> dla dokument\u00f3w na poziomach <em>Logika<\/em> oraz <em>Interfejs u\u017cytkownika<\/em> poprzez implementacje Hook Contract.<\/p>\n<p data-start=\"200\" data-end=\"371\">W artykule opisano, jakie rozszerzenia mo\u017cna wdro\u017cy\u0107 za pomoc\u0105 definicji Hook Contract oraz jakie ograniczenia i szczeg\u00f3lne przypadki nale\u017cy wzi\u0105\u0107 pod uwag\u0119.<\/p>\n<p data-start=\"373\" data-end=\"446\" data-is-last-node=\"\" data-is-only-node=\"\">Artyku\u0142 dotyczy poni\u017cszych og\u00f3lnych interfejs\u00f3w stanu Hook:<\/p>\n<ul>\n<li>com.cisag.app.general.order.hook.log.EntityState<\/li>\n<li>com.cisag.app.general.order.hook.log.HeaderSourceState<\/li>\n<li>com.cisag.app.general.order.hook.log.MutableHeaderState<\/li>\n<li>com.cisag.app.general.order.hook.log.DetailSourceState<\/li>\n<li>com.cisag.app.general.order.hook.log.MutableDetailState<\/li>\n<li>com.cisag.app.general.order.hook.log.MakePersistentState<\/li>\n<\/ul>\n<p>Artyku\u0142 dotyczy poni\u017cszych og\u00f3lnych interfejs\u00f3w Hook:<\/p>\n<ul>\n<li>com.cisag.app.general.order.hook.log.EntityHook<\/li>\n<li>com.cisag.app.general.order.hook.log.HeaderDependentHook<\/li>\n<li>com.cisag.app.general.order.hook.log.HeaderApplyDefaultsHook<\/li>\n<li>com.cisag.app.general.order.hook.log.HeaderValidateHook<\/li>\n<li>com.cisag.app.general.order.hook.log.HeaderValidateDeleteHook<\/li>\n<li>com.cisag.app.general.order.hook.log.MakePersistentHook<\/li>\n<li>com.cisag.app.general.order.hook.log.RefreshHeaderHook<\/li>\n<li>com.cisag.app.general.order.hook.log.ReorganisationValidateHook<\/li>\n<li>com.cisag.app.general.order.hook.log.DetailDependentHook<\/li>\n<li>com.cisag.app.general.order.hook.log.DetailApplyDefaultsHook<\/li>\n<li>com.cisag.app.general.order.hook.log.DetailValidateHook<\/li>\n<li>com.cisag.app.general.order.hook.log.DetailValidateDeleteHook<\/li>\n<li>com.cisag.pgm.appserver.hook.BatchActionHook<\/li>\n<\/ul>\n<p>Interfejs <em>pgm\u2013BatchActionHook<\/em> jest w niniejszym artykule rozpatrywany wy\u0142\u0105cznie w kontek\u015bcie u\u017cycia w Hook Contractach dla aplikacji typu <em>Dokument<\/em> oraz aplikacji typu <em>Lista<\/em> dla dokument\u00f3w.<\/p>\n<section class=\"document-alert-box warning\"><div class=\"document-alert-title\">Uwaga<\/div><div class=\"document-alert-content\">Nale\u017cy pami\u0119ta\u0107, \u017ce nie wszystkie dokumenty\/aplikacje typu <em>Dokument<\/em> obs\u0142uguj\u0105 wszystkie interfejsy stanu Hook\/interfejsy Hook. Obs\u0142ugiwane interfejsy mo\u017cna znale\u017a\u0107 w odpowiednim Hook Contract (szczeg\u00f3\u0142 w rozdziale <a href=\"#DHCDD7\"><span style=\"color: #000000;\"><em>Hook Contracts<\/em><\/span><\/a>).<\/div><\/section>\n<p data-start=\"416\" data-end=\"605\">Poszczeg\u00f3lne aplikacje obs\u0142uguj\u0105 dodatkowe interfejsy Hook, np. dla konwersji i zosta\u0142y one opisane w dedykowanych rozdzia\u0142ach dotycz\u0105cych poszczeg\u00f3lnych aplikacji typu <em>Dokument.<\/em><\/p>\n<p data-start=\"607\" data-end=\"850\">Opis interfejsu znajduje si\u0119 w odpowiednim obiekcie deweloperskim typu <em>Hook Contract<\/em>. Szczeg\u00f3\u0142owe informacje na temat metod zadeklarowanych w interfejsach znajduj\u0105 si\u0119 jako uzupe\u0142nienie tego dokumentu w JavaDoc w poszczeg\u00f3lnych interfejsach Java.<\/p>\n<p>Informacje dotycz\u0105ce infrastruktury Hook mo\u017cna znale\u017a\u0107 w artykule <em><a href=\"https:\/\/pomoc.comarch.pl\/cee\/index.php\/documentation\/hook-contracts\/\">Hook Contracts<\/a><\/em>.<\/p>\n<p data-start=\"940\" data-end=\"1104\" data-is-last-node=\"\" data-is-only-node=\"\">W systemie ADO dost\u0119pne s\u0105 r\u00f3wnie\u017c przyk\u0142ady dla ka\u017cdej z aplikacji typu <em>Dokument<\/em> wymienionych w tym artykule, kt\u00f3re mog\u0105 pos\u0142u\u017cy\u0107 jako wz\u00f3r dla w\u0142asnych rozszerze\u0144.<\/p>\n<h3 id=\"grupa-docelowa\" ><span class=\"ez-toc-section\" id=\"Grupa_docelowa\"><\/span>Grupa docelowa<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li>Programi\u015bci<\/li>\n<\/ul>\n<h3 id=\"opis\" ><span class=\"ez-toc-section\" id=\"Opis\"><\/span>Opis<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Definicje Hook Contract dla aplikacji dokument\u00f3w wspieraj\u0105 obecnie za pomoc\u0105 odpowiednich implementacji nast\u0119puj\u0105ce funkcjonalno\u015bci:<\/p>\n<ul>\n<li>Dodawanie atrybut\u00f3w bezpo\u015brednio w nag\u0142\u00f3wku dokumentu<\/li>\n<li>Dodawanie atrybut\u00f3w bezpo\u015brednio na pozycji dokumentu<\/li>\n<li>Dodawanie danych podstawowych w dodatkowym <span style=\"color: #000000;\">zbiorze danych<\/span><\/li>\n<li>Dodawanie danych pozycji<span style=\"color: #000000;\"> w dodatkowym zestawie danych<\/span><\/li>\n<li>Przeniesienie dodanych atrybut\u00f3w nag\u0142\u00f3wka i pozycji podczas konwersji nast\u0119puj\u0105cych dokument\u00f3w:\n<ul>\n<li>Zapytanie ofertowe zakupu &#8211;&gt; Oferta zakupu<\/li>\n<li>Oferta zakupu &#8211;&gt; Zam\u00f3wienie zakupu<\/li>\n<li>Zam\u00f3wienie zakupu &#8211;&gt; Dokumenty zam\u00f3wie\u0144 zakupu<span style=\"color: #000000;\">\/Zmiany zam\u00f3wienia zakupu<\/span><\/li>\n<li>Dokumenty zam\u00f3wie\u0144 zakupu<span style=\"color: #000000;\">\/Zmiany zam\u00f3wienia zakupu<\/span> &#8211;&gt; Potwierdzenie zam\u00f3wienia<\/li>\n<li>Potwierdzenie zam\u00f3wienia &#8211;&gt; Zam\u00f3wienie zakupu<\/li>\n<li>Dokumenty szybkiej rejestracji sprzeda\u017cy &#8211;&gt; Zapytania ofertowe sprzeda\u017cy<\/li>\n<li>Dokumenty szybkiej rejestracji sprzeda\u017cy &#8211;&gt; Oferty sprzeda\u017cy<\/li>\n<li>Dokumenty szybkiej rejestracji sprzeda\u017cy &#8211;&gt; Zam\u00f3wienie sprzeda\u017cy<\/li>\n<li>Zapytania ofertowe sprzeda\u017cy &#8211;&gt; Oferty sprzeda\u017cy<\/li>\n<li>Oferty sprzeda\u017cy &#8211;&gt; Zam\u00f3wienie sprzeda\u017cy<\/li>\n<\/ul>\n<\/li>\n<li><span style=\"color: #000000;\">Okre\u015blenie warto\u015bci domy\u015blnych dla danych dodawanych do nag\u0142\u00f3wka dokument\u00f3w<\/span><\/li>\n<li>Okre\u015blenie warto\u015bci domy\u015blnych dla danych dodanych do pozycji dokumentu<\/li>\n<li>Nowe walidacje nag\u0142\u00f3wka\u00a0dla istniej\u0105cych lub nowych danych<\/li>\n<li>Nowe walidacje dla pozycji dla istniej\u0105cych lub nowych danych<\/li>\n<li>Nowe walidacje usuwania dla bazy dokumentu<\/li>\n<li>Nowe walidacje usuwania dla pozycji dokumentu<\/li>\n<li>Nowa walidacje przed reorganizacj\u0105 dokumentu<\/li>\n<li>Uwzgl\u0119dnienie dodanych atrybut\u00f3w <span style=\"color: #ff00ff;\"><span style=\"color: #000000;\">nag\u0142\u00f3wka<\/span> <\/span>i pozycji w statusie zam\u00f3wienia zam\u00f3wienia<\/li>\n<li>Uwzgl\u0119dnianie dodanych atrybut\u00f3w podstawy i pozycji przy statusie potwierdzenia zlecenia zaopatrzenia oraz zam\u00f3wienia\/zmiany zam\u00f3wienia, a tak\u017ce przy statusie zmiany zam\u00f3wienia w potwierdzeniu zam\u00f3wienia<\/li>\n<li data-start=\"210\" data-end=\"277\">Dodawanie akcji, kt\u00f3re przekazuj\u0105 do aplikacji dzia\u0142aj\u0105cej w tle:\n<ul>\n<li data-start=\"282\" data-end=\"336\">bie\u017c\u0105cy nag\u0142\u00f3wek dokumentu (aplikacja typu <em>Dokument<\/em>) lub<\/li>\n<li data-start=\"341\" data-end=\"421\">wybrane dane (aplikacja typu <em>Lista<\/em> dla dokument\u00f3w)<br data-start=\"384\" data-end=\"387\" \/>w celu dalszego przetwarzania<\/li>\n<\/ul>\n<\/li>\n<li data-start=\"425\" data-end=\"500\">Rejestrowanie zmienionych danych podczas operacji usuwania i zapisywania<\/li>\n<li data-start=\"503\" data-end=\"549\">Aktualizacja podstawy przy zmianach pozycji<\/li>\n<li data-start=\"552\" data-end=\"667\">Okre\u015blanie atrybut\u00f3w rodzaju dokumentu, kt\u00f3re nie mog\u0105 by\u0107 ju\u017c zmieniane, je\u015bli istnieje dokument danego rodzaju<\/li>\n<\/ul>\n<h4 id=\"dodawanie-atrybutow-bezposrednio-w-naglowku-dokumentow\" ><span class=\"ez-toc-section\" id=\"Dodawanie_atrybutow_bezposrednio_w_naglowku_dokumentow\"><\/span>Dodawanie atrybut\u00f3w bezpo\u015brednio w nag\u0142\u00f3wku dokument\u00f3w<a id=\"DHCDD2\"><\/a><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Za pomoc\u0105 obiektu deweloperskiego <em>Extension<\/em> mo\u017cna rozszerzy\u0107 istniej\u0105cy nag\u0142\u00f3wek dokumentu (np. <em data-start=\"90\" data-end=\"102\">SalesOrder<\/em>) o dodatkowe w\u0142asne atrybuty.<\/p>\n<p>W wyniku generowania odpowiedni widok obiektu zostaje automatycznie rozszerzony o nowe atrybuty. Domy\u015blnie atrybuty s\u0105 widoczne i mo\u017cna je zmienia\u0107 \u2013 w razie potrzeby mo\u017cna to zmieni\u0107 za pomoc\u0105 odpowiedniego rozszerzenia widoku obiektu. Dzi\u0119ki temu odpowiednie pola s\u0105 r\u00f3wnie\u017c dost\u0119pne w dostosowywalnej aplikacji oraz podczas eksportu\/importu.<\/p>\n<p>Ze wzgl\u0119du na to, \u017ce atrybuty nale\u017c\u0105 bezpo\u015brednio do nag\u0142\u00f3wka dokumentu, s\u0105 one automatycznie przenoszone.<\/p>\n<p>Je\u015bli nowe atrybuty nale\u017c\u0105 do aplikacji, podczas akcji [<strong>Kopiuj nag\u0142\u00f3wek<\/strong>] wszystkie atrybuty aplikacji zostan\u0105 automatycznie skopiowane z podstawy \u017ar\u00f3d\u0142owej do podstawy docelowej.<\/p>\n<section class=\"document-alert-box indicator\"><div class=\"document-alert-title\">Wskaz\u00f3wka<\/div><div class=\"document-alert-content\">Je\u015bli atrybuty rozszerzenia nie s\u0105 atrybutami aplikacji, atrybuty nie s\u0105 kopiowane ze wzgl\u0119du na kompatybilno\u015b\u0107.<\/div><\/section>\n<p>Je\u015bli wymagane jest inne zachowanie, w razie potrzeby nale\u017cy zaimplementowa\u0107 metod\u0119 <em>duplicateHeader<\/em> interfejsu Hook <em>HeaderDependentHook.<\/em><\/p>\n<p>W razie potrzeby interfejs Hook <em>HeaderApplyDefaultsHook<\/em> jest dost\u0119pny do okre\u015blania warto\u015bci domy\u015blnej nowych atrybut\u00f3w &#8211; jest on r\u00f3wnie\u017c u\u017cywany do przesy\u0142ania warto\u015bci ze \u017ar\u00f3d\u0142a (np. poprzedniego dokumentu, portu wewn\u0119trznego itp.) (patrz tak\u017ce odpowiedni rozdzia\u0142 poni\u017cej).<\/p>\n<p>Nowe atrybuty powinny by\u0107 r\u00f3wnie\u017c sprawdzane za pomoc\u0105 implementacji <em>HeaderValidateHook.<\/em><\/p>\n<p>W razie potrzeby mo\u017cna wstawi\u0107 nowe atrybuty do aplikacji dokumentu i zapisa\u0107 zmiany w obiekcie deweloperskim <em>Application extension<\/em> w bazie danych repozytorium, a tym samym przenie\u015b\u0107 je do kolejnego systemu.<\/p>\n<p>Nale\u017cy r\u00f3wnie\u017c pami\u0119ta\u0107, \u017ce chocia\u017c bardzo \u0142atwo jest dodawa\u0107 atrybuty bezpo\u015brednio w nag\u0142\u00f3wku dokument\u00f3w, mo\u017ce to prowadzi\u0107 do problem\u00f3w zwi\u0105zanych z maksymaln\u0105 liczb\u0105 kolumn &#8211; dotyczy to w szczeg\u00f3lno\u015bci aplikacji, kt\u00f3rych potencjalnie mo\u017ce by\u0107 du\u017ca liczba. Jak zarz\u0105dza\u0107 dodatkowymi danymi podstawowymi w oddzielnym zbiorze danych, mo\u017cna dowiedzie\u0107 si\u0119 z rozdzia\u0142u <a href=\"#DHCDD1\"><em>Dodawanie danych podstawowych w dodatkowym zbiorze danych.<\/em><\/a><\/p>\n<h4 id=\"dodawanie-atrybutow-bezposrednio-w-pozycji-dokumentu\" ><span class=\"ez-toc-section\" id=\"Dodawanie_atrybutow_bezposrednio_w_pozycji_dokumentu\"><\/span>Dodawanie atrybut\u00f3w bezpo\u015brednio w pozycji dokumentu<a id=\"DHCDD4\"><\/a><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Za pomoc\u0105 obiektu deweloperskiego <em>Extension<\/em> mo\u017cna doda\u0107 atrybuty do istniej\u0105cej pozycji dokumentu (np. pozycji dokumentu (np. <em>SalesOrderDetail<\/em>) z dodatkowymi w\u0142asnymi atrybutami.<\/p>\n<p>Generacja automatycznie dodaje r\u00f3wnie\u017c nowe atrybuty do powi\u0105zanego widoku obiektu. Atrybuty s\u0105 domy\u015blnie widoczne i mo\u017cliwe do zmiany &#8211; w razie potrzeby mo\u017cna to zmieni\u0107 za pomoc\u0105 odpowiedniego rozszerzenia widoku obiektu. Oznacza to, \u017ce odpowiednie pola s\u0105 r\u00f3wnie\u017c dost\u0119pne w dostosowywanej aplikacji i podczas eksportu\/importu.<\/p>\n<p>Ze wzgl\u0119du na to, \u017ce atrybuty nale\u017c\u0105 bezpo\u015brednio do pozycji dokumentu, s\u0105 one automatycznie uwzgl\u0119dniane.<\/p>\n<p>Je\u015bli nowe atrybuty nale\u017c\u0105 do aplikacji, wszystkie atrybuty aplikacji s\u0105 r\u00f3wnie\u017c automatycznie kopiowane z elementu \u017ar\u00f3d\u0142owego do elementu docelowego podczas akcji [<strong>Duplikuj<\/strong>] w edytorze element\u00f3w.<\/p>\n<section class=\"document-alert-box warning\"><div class=\"document-alert-title\">Uwaga<\/div><div class=\"document-alert-content\">Je\u015bli atrybuty rozszerzenia nie s\u0105 atrybutami aplikacji, atrybuty nie s\u0105 kopiowane ze wzgl\u0119du na kompatybilno\u015b\u0107.<\/div><\/section>\n<p>Je\u015bli wymagane jest inne zachowanie, w razie potrzeby nale\u017cy zaimplementowa\u0107 metod\u0119 <em>duplicateDetail<\/em> interfejsu Hook <em>DetailDependentHook.<\/em><\/p>\n<p>Nale\u017cy pami\u0119ta\u0107, \u017ce w przypadku funkcji <em>Wyszukaj i dodaj pozycje<\/em> obowi\u0105zuj\u0105 inne zasady. Wi\u0119cej informacji na ten temat mo\u017cna znale\u017a\u0107 w artykule <em><a href=\"https:\/\/pomoc.comarch.pl\/cee\/index.php\/documentation\/definicje-hook-contract-wyszukaj-i-dodaj-pozycje\/\" rel=\"bookmark\">Definicja Hook Contract: Wyszukaj i dodaj pozycje.<\/a><\/em><\/p>\n<p>W razie potrzeby interfejs Hook <em>DetailApplyDefaultsHook<\/em> jest dost\u0119pny do okre\u015blania warto\u015bci domy\u015blnych nowych atrybut\u00f3w. S\u0142u\u017cy on r\u00f3wnie\u017c do przesy\u0142ania warto\u015bci ze \u017ar\u00f3d\u0142a (np. poprzedniego dokumentu, portu wewn\u0119trznego itp.). Wi\u0119cej informacji mo\u017cna znale\u017a\u0107 w rozdziale <a href=\"#DHCDD6\"><em>Okre\u015blanie warto\u015bci domy\u015blnej dla danych dodanych do pozycji dokumentu.<\/em><\/a><\/p>\n<p>Nowe atrybuty powinny by\u0107 r\u00f3wnie\u017c sprawdzane za pomoc\u0105 implementacji <em>DetailValidateHook.<\/em><\/p>\n<p>W razie potrzeby mo\u017cna wstawi\u0107 nowe atrybuty do aplikacji dokumentu i zapisa\u0107 zmiany w obiekcie deweloperskim <em>Application extension<\/em> w bazie danych repozytorium, a tym samym przenie\u015b\u0107 je do kolejnego systemu.<\/p>\n<p>Nale\u017cy r\u00f3wnie\u017c pami\u0119ta\u0107, \u017ce chocia\u017c bardzo \u0142atwo jest dodawa\u0107 atrybuty bezpo\u015brednio w pozycji dokumentu, mo\u017ce to prowadzi\u0107 do problem\u00f3w zwi\u0105zanych z maksymaln\u0105 liczb\u0105 kolumn. Dotyczy to w szczeg\u00f3lno\u015bci aplikacji, kt\u00f3rych potencjalnie mo\u017ce by\u0107 bardzo wiele. Jak zarz\u0105dza\u0107 dodatkowymi danymi pozycji w oddzielnym zbiorze danych, mo\u017cna dowiedzie\u0107 si\u0119 w rozdziale <a href=\"#DHCDD3\"><em>Dodawanie danych pozycji w dodatkowym zbiorze danych.<\/em><\/a><\/p>\n<h4 id=\"dodawanie-danych-podstawowych-do-dodatkowego-zbioru-danych\" ><span class=\"ez-toc-section\" id=\"Dodawanie_danych_podstawowych_do_dodatkowego_zbioru_danych\"><\/span>Dodawanie danych podstawowych do dodatkowego zbioru danych<a id=\"DHCDD1\"><\/a><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Do istniej\u0105cej bazy dokument\u00f3w (np. <em>SalesOrder)<\/em> mo\u017cna dodawa\u0107 w\u0142asne obiekty biznesowe.<\/p>\n<p>W najprostszym przypadku jest to obiekt, kt\u00f3ry ma identyfikator GUID nag\u0142\u00f3wku dokument\u00f3w jako klucz podstawowy i jest opcjonalnie dost\u0119pny.<\/p>\n<section class=\"document-alert-box indicator\"><div class=\"document-alert-title\">Wskaz\u00f3wka<\/div><div class=\"document-alert-content\">Mo\u017cna r\u00f3wnie\u017c u\u017cy\u0107 odpowiedniej aktualizacji danych, aby zapewni\u0107, \u017ce taki obiekt jest nie tylko opcjonalny, ale zawsze dost\u0119pny.<\/div><\/section>\n<p>Aby m\u00f3c korzysta\u0107 z dodatkowego zestawu danych w Hook, konfigurowalnych interfejsach, eksporcie\/imporcie itp., nale\u017cy rozszerzy\u0107 istniej\u0105cy widok obiektu odpowiedniego nag\u0142\u00f3wka dokument\u00f3w za pomoc\u0105 obiektu deweloperskiego <em>Data view extension<\/em>. Teraz mo\u017cna albo zdefiniowa\u0107 odpowiedni widok obiektu dla nowego obiektu biznesowego i odwo\u0142a\u0107 si\u0119 do niego za pomoc\u0105 zmiennego odniesienia (przyk\u0142ady ADO wykorzystuj\u0105 ten wariant), albo mo\u017cna wstawi\u0107 nowe atrybuty jako atrybuty wirtualne, aby by\u0142y one bezpo\u015brednio dost\u0119pne w widoku obiektu nag\u0142\u00f3wka dokument\u00f3w.<\/p>\n<section class=\"document-alert-box indicator\"><div class=\"document-alert-title\">Wskaz\u00f3wka<\/div><div class=\"document-alert-content\">Mo\u017cna u\u017cy\u0107 tej procedury do rozszerzenia nag\u0142\u00f3wka dokument\u00f3w o model danych o dowolnej z\u0142o\u017cono\u015bci. Nale\u017cy jednak pami\u0119ta\u0107, \u017ce konfigurowalny interfejs obs\u0142uguje obecnie tylko relacje <em>1-N<\/em> w ograniczonym zakresie i dlatego mog\u0105 by\u0107 wymagane specjalne wirtualne atrybuty widoku obiektu.<\/div><\/section>\n<p>Podstawowe dane dokumentu s\u0105 edytowane przy u\u017cyciu tak zwanej encji, w kt\u00f3rej nowe lub zmienione podstawowe dane implementacji Hook s\u0105 przechowywane w <em>EntityHookState<\/em> dla ka\u017cdego modu\u0142u i instancji dokumentu. W zwi\u0105zku z tym najpierw potrzebna jest odpowiednia implementacja dla w\u0142asnych danych.<\/p>\n<p>Odpowiedni <em>EntityHookState<\/em> zawiera nie tylko nowe lub zmienione dane podstawowe, ale tak\u017ce dane nowych i zmienionych element\u00f3w. Interfejs Hook <em>EntityHook<\/em> udost\u0119pnia zatem metody <em>reset, create<\/em> i <em>load,<\/em> za pomoc\u0105 kt\u00f3rych mo\u017cna zainicjowa\u0107 <em>EntityHookState<\/em> niezale\u017cnie od rozszerzenia nag\u0142\u00f3wka lub pozycji.<\/p>\n<section class=\"document-alert-box warning\"><div class=\"document-alert-title\">Uwaga<\/div><div class=\"document-alert-content\">Nale\u017cy pami\u0119ta\u0107, \u017ce w szczeg\u00f3lno\u015bci metoda <em>load<\/em> mo\u017ce by\u0107 wywo\u0142ywana bardzo cz\u0119sto, dlatego w tym kontek\u015bcie nale\u017cy wykonywa\u0107 tylko najbardziej niezb\u0119dne operacje (np. zapami\u0119tywanie GUID bazy dokument\u00f3w).<\/div><\/section>\n<p>Nag\u0142\u00f3wek dokument\u00f3w jest zawsze edytowana w taki spos\u00f3b, \u017ce tworzony jest obiekt <em>MutableHeader<\/em> z w\u0142asnym stanem (<em>MutableHeaderState<\/em>), a wszelkie zmiany s\u0105 nast\u0119pnie przenoszone do encji w dodatkowym kroku. Zmiany te s\u0105 nast\u0119pnie zapisywane w kolejnym kroku. Metody <em>initMutableHeader, storeHeader<\/em> i <em>saveHeader<\/em> s\u0105 dost\u0119pne w tym celu w interfejsie Hook HeaderDependentHook. Potrzebna jest r\u00f3wnie\u017c implementacja <em>MutableHeaderState,<\/em> kt\u00f3ra zawiera zmienione dane podstawowe modu\u0142u.<\/p>\n<p>Podczas kopiowania nag\u0142\u00f3wka dokumentu, metoda <em>duplicateHeader<\/em> jest u\u017cywana do inicjalizacji obiektu <em>MutableHeader<\/em> (lub danych <em>MutableHeaderState<\/em>) bazy docelowej, kt\u00f3ry jest nast\u0119pnie przesy\u0142any z powrotem do jednostki za pomoc\u0105 <em>storeHeader<\/em>.<\/p>\n<section class=\"document-alert-box warning\"><div class=\"document-alert-title\">Uwaga<\/div><div class=\"document-alert-content\">Nale\u017cy pami\u0119ta\u0107, \u017ce bezpo\u015brednio istniej\u0105ce atrybuty mog\u0105 by\u0107 przenoszone automatycznie (patrz rozdzia\u0142 <a href=\"#DHCDD2\"><em>Dodawanie atrybut\u00f3w bezpo\u015brednio w nag\u0142\u00f3wku dokumentu<\/em><\/a>).<\/div><\/section>\n<p>Interfejs <em>HeaderDependentHook<\/em> zawiera r\u00f3wnie\u017c metody <em>deleteHeader<\/em> i <em>reorganizeHeader,<\/em> kt\u00f3re s\u0105 wywo\u0142ywane, gdy nag\u0142\u00f3wek dokument\u00f3w jest usuwany lub reorganizowany (patrz tak\u017ce sekcja <em>Zredukowane interfejsy Hook do reorganizacji<\/em>).<\/p>\n<p>Je\u015bli dodatkowy zestaw danych ma by\u0107 r\u00f3wnie\u017c obs\u0142ugiwany podczas eksportu\/importu, potrzebna jest r\u00f3wnie\u017c implementacja interfejsu Hook <em>com.cisag.pgm.bi.hook.DependentAssociationHook<\/em>.<\/p>\n<h4 id=\"dodawanie-danych-pozycji-w-dodatkowym-zestawie-danych\" ><span class=\"ez-toc-section\" id=\"Dodawanie_danych_pozycji_w_dodatkowym_zestawie_danych\"><\/span>Dodawanie danych pozycji w dodatkowym zestawie danych<a id=\"DHCDD3\"><\/a><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Do istniej\u0105cej pozycji dokumentu (np. <em>SalesOrderDetail<\/em>) mo\u017cna doda\u0107 w\u0142asne obiekty biznesowe.<\/p>\n<p>W najprostszym przypadku jest to obiekt, kt\u00f3ry ma GUID nag\u0142\u00f3wka i szczeg\u00f3\u0142\u00f3w pozycji jako klucz podstawowy i jest opcjonalnie dost\u0119pny.<\/p>\n<section class=\"document-alert-box indicator\"><div class=\"document-alert-title\">Wskaz\u00f3wka<\/div><div class=\"document-alert-content\">Mo\u017cna r\u00f3wnie\u017c u\u017cy\u0107 odpowiedniej aktualizacji danych, aby zapewni\u0107, \u017ce taki obiekt jest nie tylko opcjonalny, ale zawsze dost\u0119pny.<\/div><\/section>\n<p>Aby m\u00f3c korzysta\u0107 z dodatkowego zestawu danych w Hook, konfigurowalnych interfejsach, eksporcie\/imporcie itp., nale\u017cy rozszerzy\u0107 istniej\u0105cy widok obiektu odpowiedniego nag\u0142\u00f3wka dokument\u00f3w za pomoc\u0105 obiektu deweloperskiego <em>Data view extension<\/em>. Teraz mo\u017cna albo zdefiniowa\u0107 odpowiedni widok obiektu dla nowego obiektu biznesowego i odwo\u0142a\u0107 si\u0119 do niego za pomoc\u0105 zmiennego odniesienia (przyk\u0142ady ADO wykorzystuj\u0105 ten wariant), albo mo\u017cna wstawi\u0107 nowe atrybuty jako atrybuty wirtualne, aby by\u0142y one bezpo\u015brednio dost\u0119pne w widoku obiektu nag\u0142\u00f3wka dokument\u00f3w.<\/p>\n<section class=\"document-alert-box indicator\"><div class=\"document-alert-title\">Wskaz\u00f3wka<\/div><div class=\"document-alert-content\">Mo\u017cna u\u017cy\u0107 tej procedury do rozszerzenia nag\u0142\u00f3wka dokument\u00f3w o model danych o dowolnej z\u0142o\u017cono\u015bci. Nale\u017cy jednak pami\u0119ta\u0107, \u017ce konfigurowalny interfejs obs\u0142uguje obecnie tylko relacje <em>1-N<\/em> w ograniczonym zakresie i dlatego mog\u0105 by\u0107 wymagane specjalne wirtualne atrybuty widoku obiektu.<\/div><\/section>\n<p>Dane pozycji dokumentu s\u0105 przetwarzane przy u\u017cyciu encji, przy czym nowe lub zmienione dane pozycji implementacji Hook s\u0105 przechowywane w <em>EntityHookState<\/em> dla ka\u017cdego modu\u0142u i instancji dokumentu. W zwi\u0105zku z tym najpierw potrzebna jest odpowiednia implementacja dla w\u0142asnych danych.<\/p>\n<p>Odpowiedni <em>EntityHookState<\/em> zawiera nie tylko nowe lub zmienione dane pozycji, ale tak\u017ce dane nowego lub zmienionego nag\u0142\u00f3wka dokumentu. Interfejs Hook <em>EntityHook<\/em> udost\u0119pnia zatem metody <em>reset, create<\/em> i <em>load,<\/em> za pomoc\u0105 kt\u00f3rych mo\u017cna zainicjowa\u0107 <em>EntityHookState<\/em> niezale\u017cnie od rozszerzenia nag\u0142\u00f3wka lub pozycji.<\/p>\n<section class=\"document-alert-box indicator\"><div class=\"document-alert-title\">Wskaz\u00f3wka<\/div><div class=\"document-alert-content\">Nale\u017cy pami\u0119ta\u0107, \u017ce w szczeg\u00f3lno\u015bci metoda <em>load<\/em> mo\u017ce by\u0107 wywo\u0142ywana bardzo cz\u0119sto, dlatego w tym kontek\u015bcie nale\u017cy wykonywa\u0107 tylko najbardziej niezb\u0119dne operacje (np. zapami\u0119tywanie identyfikator\u00f3w GUID pozycji dokumentu).<\/div><\/section>\n<p>Pozycja dokumentu jest zawsze przetwarzana w taki spos\u00f3b, \u017ce tworzony jest obiekt <em>MutableDetail<\/em> z w\u0142asnym stanem (<em>MutableDetailState<\/em>), a wszelkie zmiany s\u0105 nast\u0119pnie przenoszone do encji w dodatkowym kroku. Zmiany te s\u0105 nast\u0119pnie zapisywane w kolejnym kroku. Metody <em>initMutableDetail, storeDetail<\/em> i <em>saveDetail<\/em> s\u0105 dost\u0119pne w tym celu w interfejsie Hook <em>DetailDependentHook.<\/em> Potrzebna jest r\u00f3wnie\u017c implementacja <em>MutableDetailState,<\/em> kt\u00f3ra zawiera zmienione dane pozycji modu\u0142u.<\/p>\n<p>Podczas kopiowania pozycji dokumentu, metoda <em>duplicateDetail<\/em> jest u\u017cywana do inicjalizacji obiektu <em>MutableDetail<\/em> (lub danych <em>MutableDetailState)<\/em> elementu docelowego, kt\u00f3ry jest nast\u0119pnie przesy\u0142any z powrotem do jednostki za pomoc\u0105 <em>storeDetail.<\/em><\/p>\n<section class=\"document-alert-box indicator\"><div class=\"document-alert-title\">Wskaz\u00f3wka<\/div><div class=\"document-alert-content\">Nale\u017cy pami\u0119ta\u0107, \u017ce bezpo\u015brednio istniej\u0105ce atrybuty mog\u0105 by\u0107 przenoszone automatycznie (patrz rozdzia\u0142 <a href=\"#DHCDD4\"><em>Dodawanie atrybut\u00f3w bezpo\u015brednio w pozycji dokumentu<\/em><\/a>).<\/div><\/section>\n<p>Interfejs <em>DetailDependentHook<\/em> zawiera r\u00f3wnie\u017c metody <em>deleteDetail<\/em> i <em>reorganizeDetail,<\/em> kt\u00f3re s\u0105 wywo\u0142ywane, gdy pozycja dokumentu jest usuwana lub reorganizowana (patrz tak\u017ce rozdzia\u0142 <a href=\"#DHCDD5\"><em>Zredukowane interfejsy Hook do reorganizacji<\/em><\/a>).<\/p>\n<p>Je\u015bli dodatkowy zestaw danych ma by\u0107 r\u00f3wnie\u017c obs\u0142ugiwany podczas eksportu\/importu, potrzebna jest r\u00f3wnie\u017c implementacja interfejsu Hook <em>com.cisag.pgm.bi.hook.DependentAssociationHook.<\/em><\/p>\n<h4 id=\"zredukowane-interfejsy-hook-do-reorganizacji\" ><span class=\"ez-toc-section\" id=\"Zredukowane_interfejsy_Hook_do_reorganizacji\"><\/span>Zredukowane interfejsy Hook do reorganizacji<a id=\"DHCDD5\"><\/a><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Niekt\u00f3re dokumenty nie obs\u0142uguj\u0105 pe\u0142nych interfejs\u00f3w <em>HeaderDependentHook<\/em> lub <em>DetailDependentHook<\/em> do zarz\u0105dzania w\u0142asnymi danymi w odpowiednim Hook Contract. Przyk\u0142adowo, niekt\u00f3re generacje dokument\u00f3w maj\u0105 inne interfejsy Hook, kt\u00f3re mog\u0105 by\u0107 u\u017cywane do zapisywania w\u0142asnych danych, kt\u00f3re maj\u0105 zosta\u0107 zmienione lub usuni\u0119te w trakcie reorganizacji.<\/p>\n<p>W tym celu dost\u0119pne s\u0105 interfejsy <em>HeaderReorganisationHook<\/em> i <em>DetailReorganisationHook.<\/em> Interfejs Hook <em>HeaderDependentHook<\/em> rozszerza interfejs Hook <em>HeaderReorganisationHook,<\/em> a interfejs Hook <em>DetailDependentHook<\/em> rozszerza interfejs <em>HeaderReorganisationHook.<\/em><\/p>\n<p>Zazwyczaj konkretna Hook Contract dokumentu zawiera interfejsy <em>DependentHook<\/em> lub <em>ReorganisationHook.<\/em><\/p>\n<p>Je\u015bli pocz\u0105tkowo dost\u0119pne by\u0142y tylko interfejsy <em>ReorganisationHook,<\/em> a interfejsy <em>DependentHook<\/em> zosta\u0142y dodane p\u00f3\u017aniej, w\u00f3wczas konkretna implementacja Hook powinna implementowa\u0107 tylko interfejsy <em>ReorganisationHook<\/em> lub tylko interfejsy <em>DependentHook.<\/em><\/p>\n<h4 id=\"konwersja-dokumentu\" ><span class=\"ez-toc-section\" id=\"Konwersja_dokumentu\"><\/span>Konwersja dokumentu<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Dane w\u0142asne, kt\u00f3re rozszerzaj\u0105 nag\u0142\u00f3wek lub pozycj\u0119 rozwa\u017canych dokument\u00f3w, mog\u0105 zosta\u0107 udost\u0119pnione w obiekcie \u017ar\u00f3d\u0142owym docelowego nag\u0142\u00f3wka\/pozycji przy u\u017cyciu implementacji Hook dla nag\u0142\u00f3wka\/pozycji w kroku konwersji. Dane w obiekcie \u017ar\u00f3d\u0142owym mo\u017cna nast\u0119pnie uwzgl\u0119dni\u0107 w <em>HeaderApplyDefaultsHook<\/em> lub <em>DetailApplyDefaultsHook<\/em> w dokumencie docelowym.<\/p>\n<p>Przyk\u0142adowo, mo\u017cna zaimplementowa\u0107 metod\u0119 <em>convertProposalHeader<\/em> interfejsu Hook <em>ProposalHeaderConverterHook<\/em> dla bezpo\u015brednio istniej\u0105cego atrybutu w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">public void convertProposalDetail(\n CustomerProposalDetailView srcDetailView,\n ProposalDetailConverterHook.Context detailConversionContext,\n TargetSource&lt;SalesOrderDetailView&gt; trgSource) {\n ...\n trgSource.setValue(SalesOrderDetailView.Attribute.$ado_orders_partner,\n srcDetailView.getAdo_orders_partner());\n trgSource.setValue(SalesOrderDetailView.Attribute.$ado_orders_partnerName,\n srcDetailView.getAdo_orders_partnerName());\n ...\n}<\/pre>\n<p>Transfer z obiektu \u017ar\u00f3d\u0142owego do obiektu docelowego odbywa si\u0119 w nast\u0119puj\u0105cy spos\u00f3b:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">public void applyHeaderDefaults(\n SalesOrderView previousData, Source&lt;SalesOrderView&gt; sourceData,\n SalesOrderAccess currentData) {\n ...\n if ( sourceData != null &amp;&amp;\n (sourceData.contains(SalesOrderView.Attribute.$ado_orders_partner) ||\n sourceData.contains(SalesOrderView.Relation.$Ado_Orders_Partner))) {\n \/\/ from source\n currentData.setAdo_orders_partner(\n sourceData.getData().getAdo_orders_partner());\n }\n \/\/ partner name: optional attribute, from source or partner (if changed only)\n if (sourceData != null &amp;&amp;\n sourceData.contains(SalesOrderView.Attribute.$ado_orders_partnerName)) {\n \/\/ from source\n currentData.setAdo_orders_partnerName(\n sourceData.getData().getAdo_orders_partnerName());\n } else {\n ...\n }\n ...\n}<\/pre>\n<section class=\"document-alert-box indicator\"><div class=\"document-alert-title\">Wskaz\u00f3wka<\/div><div class=\"document-alert-content\">W przypadku ustawie\u0144 domy\u015blnych dokumentu nale\u017cy u\u017cy\u0107 <em>MutableHeaderState<\/em> lub <em>MutableDetailState<\/em> bezpo\u015brednio w metodzie <em>applyDefaults<\/em> zamiast metod <em>set.<\/em><\/div><\/section>\n<p>Te dwa poziomy s\u0105 u\u017cywane, poniewa\u017c obiekt \u017ar\u00f3d\u0142owy w kroku <em>applyDefaults<\/em> jest r\u00f3wnie\u017c u\u017cywany dla innych \u017ar\u00f3de\u0142, np. podczas importu, dla akcji [<strong>Wyszukaj i dodaj pozycje<\/strong>] itp.<\/p>\n<h4 id=\"okreslanie-wartosci-domyslnej-dla-danych-dodanych-do-naglowka-dokumentow\" ><span class=\"ez-toc-section\" id=\"Okreslanie_wartosci_domyslnej_dla_danych_dodanych_do_naglowka_dokumentow\"><\/span>Okre\u015blanie warto\u015bci domy\u015blnej dla danych dodanych do nag\u0142\u00f3wka dokument\u00f3w<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Niestandardowe dane bazowe mo\u017cna wst\u0119pnie przyporz\u0105dkowa\u0107 za pomoc\u0105 metody <em>applyHeaderDefaults<\/em> klasy <em>HeaderApplyDefaultsHook.<\/em> Wst\u0119pnego przyporz\u0105dkowania mo\u017cna dokona\u0107 dla nowych danych, ale tak\u017ce w przypadku zmian w innych istotnych atrybutach.<\/p>\n<p>Poprzednie dane s\u0105 r\u00f3wnie\u017c przekazywane do tej metody, dzi\u0119ki czemu mo\u017cliwe jest wykonanie nowego wywo\u0142ania <em>applyDefaults<\/em> przed zresetowaniem w encji, przy czym poprzednie dane s\u0105 zawsze dost\u0119pne jako <em>previousData<\/em> po zako\u0144czeniu ostatniego wywo\u0142ania.<\/p>\n<p><section class=\"document-alert-box warning\"><div class=\"document-alert-title\">Uwaga<\/div><div class=\"document-alert-content\">Aby zapewni\u0107, \u017ce dzia\u0142a to r\u00f3wnie\u017c poprawnie dla danych w <em>MutableHeaderState,<\/em> metoda <em>clone()<\/em> musi wykona\u0107 co najmniej jedn\u0105 kopi\u0119 wszystkich danych, kt\u00f3re s\u0105 monitorowane pod k\u0105tem zmian w metodzie <em>applyDefaults.<\/div><\/section><\/em><\/p>\n<p>Implementacja Hook powinna r\u00f3wnie\u017c uwzgl\u0119dnia\u0107 ka\u017cdy istniej\u0105cy obiekt \u017ar\u00f3d\u0142owy, kt\u00f3ry jest u\u017cywany, np. podczas importu, konwersji itp.<\/p>\n<p>Nale\u017cy pami\u0119ta\u0107, \u017ce ten Hook mo\u017ce by\u0107 u\u017cywany tylko do wst\u0119pnego przypisywania w\u0142asnych atrybut\u00f3w. Ograniczenie to jest konieczne, poniewa\u017c w przeciwnym razie r\u00f3\u017cne implementacje Hook nie by\u0142yby od siebie niezale\u017cne.<\/p>\n<h4 id=\"okreslanie-wartosci-domyslnej-dla-danych-dodanych-do-pozycji-dokumentu\" ><span class=\"ez-toc-section\" id=\"Okreslanie_wartosci_domyslnej_dla_danych_dodanych_do_pozycji_dokumentu\"><\/span>Okre\u015blanie warto\u015bci domy\u015blnej dla danych dodanych do pozycji dokumentu<a id=\"DHCDD6\"><\/a><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Niestandardowe dane elementu mog\u0105 by\u0107 wst\u0119pnie przypisane za pomoc\u0105 metody <em>applyDetailDefaults<\/em> klasy <em>DetailApplyDefaultsHook.<\/em> Wst\u0119pnego przypisania mo\u017cna dokona\u0107 dla nowych danych, ale tak\u017ce w przypadku zmian innych istotnych atrybut\u00f3w.<\/p>\n<p>Poprzednie dane s\u0105 r\u00f3wnie\u017c przekazywane do tej metody, przy czym jest ca\u0142kiem mo\u017cliwe, \u017ce nowe wywo\u0142anie <em>applyDefaults<\/em> zostanie wykonane przed ponownym ustawieniem danych w encji, przy czym poprzednie dane s\u0105 zawsze dost\u0119pne jako <em>previousData<\/em> po zako\u0144czeniu ostatniego wywo\u0142ania.<\/p>\n<p><section class=\"document-alert-box warning\"><div class=\"document-alert-title\">Uwaga<\/div><div class=\"document-alert-content\">Aby zapewni\u0107, \u017ce dzia\u0142a to r\u00f3wnie\u017c poprawnie dla danych w <em>MutableDetailState,<\/em> metoda <em>clone()<\/em> musi wykona\u0107 co najmniej jedn\u0105 kopi\u0119 wszystkich danych, kt\u00f3re s\u0105 monitorowane pod k\u0105tem zmian w metodzie <em>applyDefaults.<\/div><\/section><\/em><\/p>\n<p>Implementacja Hook powinna r\u00f3wnie\u017c uwzgl\u0119dnia\u0107 ka\u017cdy istniej\u0105cy obiekt \u017ar\u00f3d\u0142owy, kt\u00f3ry jest u\u017cywany, na przyk\u0142ad podczas importu, konwersji itp.<\/p>\n<p>Nale\u017cy pami\u0119ta\u0107, \u017ce ten Hook mo\u017ce by\u0107 u\u017cywany tylko do wst\u0119pnego przypisywania w\u0142asnych atrybut\u00f3w i \u017ce nie mo\u017cna wprowadza\u0107 \u017cadnych zmian strukturalnych w elementach (np. dodawa\u0107\/usuwa\u0107 szczeg\u00f3\u0142owych element\u00f3w). Ograniczenie to jest konieczne, poniewa\u017c w przeciwnym razie r\u00f3\u017cne implementacje Hook nie by\u0142yby od siebie niezale\u017cne.<\/p>\n<h4 id=\"nowe-podstawowe-kontrole-dla-istniejacych-lub-nowych-danych\" ><span class=\"ez-toc-section\" id=\"Nowe_podstawowe_kontrole_dla_istniejacych_lub_nowych_danych\"><\/span>Nowe podstawowe kontrole dla istniej\u0105cych lub nowych danych<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Metoda <em>validateHeader<\/em> klasy <em>HeaderValidateHook<\/em> mo\u017ce by\u0107 u\u017cywana do dodawania nowych sprawdze\u0144 dla nag\u0142\u00f3wka dokumentu.<\/p>\n<p>Kontrole te mog\u0105 odnosi\u0107 si\u0119 do w\u0142asnych atrybut\u00f3w lub do atrybut\u00f3w istniej\u0105cych w standardowym systemie.<\/p>\n<h4 id=\"sprawdzanie-nowych-pozycji-dla-istniejacych-lub-nowych-danych\" ><span class=\"ez-toc-section\" id=\"Sprawdzanie_nowych_pozycji_dla_istniejacych_lub_nowych_danych\"><\/span>Sprawdzanie nowych pozycji dla istniej\u0105cych lub nowych danych<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Metoda <em>validateDetail<\/em> klasy <em>DetailValidateHook<\/em> mo\u017ce by\u0107 u\u017cywana do dodawania nowych sprawdze\u0144 dla pozycji dokumentu.<\/p>\n<p>Kontrole te mog\u0105 odnosi\u0107 si\u0119 do w\u0142asnych atrybut\u00f3w lub do atrybut\u00f3w istniej\u0105cych w standardowym systemie.<\/p>\n<h4 id=\"nowe-walidacje-usuwania-dla-naglowka-dokumentow\" ><span class=\"ez-toc-section\" id=\"Nowe_walidacje_usuwania_dla_naglowka_dokumentow\"><\/span>Nowe walidacje usuwania dla nag\u0142\u00f3wka dokument\u00f3w<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Metoda <em>validateDeleteHeader<\/em> klasy <em>HeaderValidateDeleteHook<\/em> mo\u017ce by\u0107 u\u017cyta do dodania nowych walidacji usuwania dla nag\u0142\u00f3wka dokumentu.<\/p>\n<h4 id=\"nowe-walidacje-usuwania-dla-pozycji-wiersza\" ><span class=\"ez-toc-section\" id=\"Nowe_walidacje_usuwania_dla_pozycji_wiersza\"><\/span>Nowe walidacje usuwania dla pozycji wiersza<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Metoda <em>validateDeleteDetail<\/em> klasy <em>DetailValidateDeleteHook<\/em> mo\u017ce by\u0107 u\u017cyta do dodania nowych walidacji usuwania dla pozycji dokumentu.<\/p>\n<h4 id=\"nowa-walidacja-przed-reorganizacja-dokumentu\" ><span class=\"ez-toc-section\" id=\"Nowa_walidacja_przed_reorganizacja_dokumentu\"><\/span>Nowa walidacja przed reorganizacj\u0105 dokumentu<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Metoda <em>validateReorganization<\/em> klasy <em>ReorganizationValidateHook<\/em> mo\u017ce by\u0107 u\u017cyta do dodania nowych walidacji, kt\u00f3re mog\u0105 uniemo\u017cliwi\u0107 przeprowadzenie reorganizacji.<\/p>\n<h4 id=\"interfejsy-hook-dla-statusu-zamowienia\" ><span class=\"ez-toc-section\" id=\"Interfejsy_Hook_dla_statusu_zamowienia\"><\/span>Interfejsy Hook dla statusu zam\u00f3wienia<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>W definicji Hook Contract zam\u00f3wienia zakupu dost\u0119pne s\u0105 interfejsy Hook <em>HeaderCorrespondenceStatusHook<\/em> i <em>DetailCorrespondenceStatusHook<\/em> do uwzgl\u0119dniania rozszerzonych atrybut\u00f3w nag\u0142\u00f3wka lub pozycji w statusie zam\u00f3wienia nag\u0142\u00f3wka lub pozycji zam\u00f3wienia zakupu.<\/p>\n<p>Interfejs <em>DetailCorrespondenceStatusHook<\/em> jest r\u00f3wnie\u017c u\u017cywany do wp\u0142ywania na status zmiany pozycji zmiany zam\u00f3wienia.<\/p>\n<h4 id=\"interfejsy-hook-dla-statusu-potwierdzenia-i-zmiany-zamowienia-w-potwierdzeniu-zamowienia\" ><span class=\"ez-toc-section\" id=\"Interfejsy_Hook_dla_statusu_potwierdzenia_i_zmiany_zamowienia_w_potwierdzeniu_zamowienia\"><\/span>Interfejsy Hook dla statusu potwierdzenia i zmiany zam\u00f3wienia w potwierdzeniu zam\u00f3wienia<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>W definicji Hook Contract zam\u00f3wienia, interfejsy Hook <em>HeaderConfirmationStatusHook<\/em> i <em>DetailConfirmationStatusHook<\/em> s\u0105 dost\u0119pne do uwzgl\u0119dnienia rozszerzonych atrybut\u00f3w nag\u0142\u00f3wka lub pozycji w statusie potwierdzenia nag\u0142\u00f3wka lub pozycji zam\u00f3wienia, jak r\u00f3wnie\u017c nag\u0142\u00f3wka lub pozycji zam\u00f3wienia.<\/p>\n<section class=\"document-alert-box warning\"><div class=\"document-alert-title\">Uwaga<\/div><div class=\"document-alert-content\">W\u0142a\u015bciwo\u015bci istotne dla statusu potwierdzenia mog\u0105 r\u00f3\u017cni\u0107 si\u0119 od w\u0142a\u015bciwo\u015bci istotnych dla statusu zam\u00f3wienia.<\/div><\/section>\n<p>Ponadto interfejsy Hook <em>ChangeOrderHeaderHook<\/em> i <em>ChangeOrderDetailHook<\/em> s\u0105 dost\u0119pne w definicji Hook Contract potwierdzenia zam\u00f3wienia. Z jednej strony mo\u017cna je wykorzysta\u0107 do znalezienia odpowiednich zmian podczas przygotowywania realizacji potwierdzenia zam\u00f3wienia. Z drugiej strony, w razie potrzeby mo\u017cna przenie\u015b\u0107 niestandardowe atrybuty nag\u0142\u00f3wka lub atrybuty pozycji z potwierdzenia zam\u00f3wienia do zam\u00f3wienia.<\/p>\n<section class=\"document-alert-box indicator\"><div class=\"document-alert-title\">Wskaz\u00f3wka<\/div><div class=\"document-alert-content\">Atrybuty, kt\u00f3re s\u0105 istotne lub przeniesione w tym przypadku mog\u0105 r\u00f3\u017cni\u0107 si\u0119 od tych, kt\u00f3re s\u0105 istotne dla statusu zam\u00f3wienia lub potwierdzenia.<\/div><\/section>\n<h4 id=\"interfejs-hook-do-dodawania-akcji\" ><span class=\"ez-toc-section\" id=\"Interfejs_Hook_do_dodawania_akcji\"><\/span>Interfejs Hook do dodawania akcji<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>W definicjach Hook Contract w aplikacji typu <em>Dokument<\/em> i aplikacji typu <em>Lista<\/em> dla dokument\u00f3w interfejs Hook <em>BatchActionHook<\/em> zapewnia prost\u0105 opcj\u0119 przesy\u0142ania bie\u017c\u0105cego nag\u0142\u00f3wka dokument\u00f3w (aplikacja typu <em>Dokument)<\/em> lub wybranego nag\u0142\u00f3wka lub danych pozycji (aplikacja typu <em>Lista<\/em> dla dokument\u00f3w) do zdefiniowanej aplikacji dzia\u0142aj\u0105cej w tle w celu dalszego przetwarzania.<\/p>\n<p>Ta aplikacja dzia\u0142aj\u0105ca w tle mo\u017ce by\u0107 wykonywana za pomoc\u0105 przycisk\u00f3w [<strong>Natychmiast<\/strong>] i\/lub [<strong>W tle<\/strong>], a tak\u017ce mo\u017ce mie\u0107 opcjonalne ustawienia wydruku dla wszelkich niezb\u0119dnych dokument\u00f3w wydruku.<\/p>\n<p>Opcjonalnie mo\u017cna r\u00f3wnie\u017c zdefiniowa\u0107 parametry, kt\u00f3re s\u0105 przesy\u0142ane podczas wykonywania aplikacji dzia\u0142aj\u0105cej w tle.<\/p>\n<p>Dalsze szczeg\u00f3\u0142y mo\u017cna znale\u017a\u0107 w odpowiednich definicjach Hook Contract oraz w opisie interfejsu Hook <em>BatchActionHook.<\/em><\/p>\n<h4 id=\"interfejs-hook-do-rejestrowania-zmienionych-danych-podczas-procesu-usuwania-i-zapisywania\" ><span class=\"ez-toc-section\" id=\"Interfejs_Hook_do_rejestrowania_zmienionych_danych_podczas_procesu_usuwania_i_zapisywania\"><\/span>Interfejs Hook do rejestrowania zmienionych danych podczas procesu usuwania i zapisywania<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Interfejs Hook <em>MakePersistentHook<\/em> i interfejs Hook <em>MakePersistentState<\/em> s\u0105 dost\u0119pne do rejestrowania zmienionych danych podczas procesu usuwania i zapisywania.<\/p>\n<p>Ka\u017cdy modu\u0142 powinien udost\u0119pnia\u0107 implementacj\u0119 <em>MakePersistentState.<\/em> S\u0142u\u017cy ona do rejestrowania zmian podczas zapisywania lub usuwania.<\/p>\n<p>Na pocz\u0105tku zapisywania lub usuwania tworzona jest nowa instancja <em>MakePersistentState<\/em> i wywo\u0142ywana jest metoda <em>beginMakePesistent<\/em> interfejsu <em>MakePersistentHook.<\/em><\/p>\n<p>Pod koniec zapisywania lub usuwania wywo\u0142ywana jest metoda <em>endMakePersistent<\/em> interfejsu <em>MakePersistentHook.<\/em> W tym kontek\u015bcie mo\u017cliwe jest zawarcie wszystkich zarejestrowanych zmian w dokumencie w jednym bloku.<\/p>\n<p>Implementacja metod <em>saveHeader\/deleteHeader<\/em> w <em>HeaderDependentHook<\/em> lub <em>saveDetail\/deleteDetail<\/em> w <em>DetailDependentHook<\/em> jest wymagana do faktycznego rejestrowania zmian w nag\u0142\u00f3wku lub pozycji. Widoki obiekt\u00f3w przekazywane do tych metod implementuj\u0105 interfejs <em>MakePersistentStateRetriever,<\/em> dzi\u0119ki czemu odpowiednia instancja <em>MakePersistentState<\/em> jest r\u00f3wnie\u017c dost\u0119pna podczas zapisywania\/usuwania w celu rejestrowania odpowiednich zmian.<\/p>\n<p>Opcjonalnie, metody <em>mainCommitPerformed<\/em> i <em>mainRollbackPerformed<\/em> mog\u0105 by\u0107 r\u00f3wnie\u017c zaimplementowane w <em>MakePersistentHook.<\/em><\/p>\n<section class=\"document-alert-box indicator\"><div class=\"document-alert-title\">Wskaz\u00f3wka<\/div><div class=\"document-alert-content\">Nale\u017cy pami\u0119ta\u0107, \u017ce w tych dw\u00f3ch metodach nie jest aktywny kontekst transakcji.<\/div><\/section>\n<p>Po tym ko\u0144czy si\u0119 czas \u017cycia instancji <em>MakePersistentState.<\/em><\/p>\n<h4 id=\"interfejs-hook-do-aktualizacji-naglowka-w-przypadku-zmian-pozycji\" ><span class=\"ez-toc-section\" id=\"Interfejs_Hook_do_aktualizacji_naglowka_w_przypadku_zmian_pozycji\"><\/span>Interfejs Hook do aktualizacji nag\u0142\u00f3wka w przypadku zmian pozycji<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Podstawowe dane mog\u0105 zale\u017ce\u0107 od w\u0142a\u015bciwo\u015bci pozycji (np. liczniki, sumy itp.). Interfejs Hook <em>RefreshHeaderHook<\/em> jest dost\u0119pny do aktualizacji danych podstawowych. S\u0142u\u017cy on do przesy\u0142ania poprzednich i nowych danych pozycji do wszystkich implementacji Hook, a tak\u017ce zapewnia zmienny nag\u0142\u00f3wek, kt\u00f3ra jest nast\u0119pnie zapami\u0119tywana w encji.<\/p>\n<h4 id=\"interfejs-hook-do-definiowania-atrybutow-rodzaju-dokumentu-ktore-nie-powinny-byc-juz-zmienne-po-pierwszej-instancji-dokumentu\" ><span class=\"ez-toc-section\" id=\"Interfejs_Hook_do_definiowania_atrybutow_rodzaju_dokumentu_ktore_nie_powinny_byc_juz_zmienne_po_pierwszej_instancji_dokumentu\"><\/span>Interfejs Hook do definiowania atrybut\u00f3w rodzaju dokumentu, kt\u00f3re nie powinny by\u0107 ju\u017c zmienne po pierwszej instancji dokumentu<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Mo\u017cna u\u017cy\u0107 interfejsu Hook <em>com.cisag.app.general.order.hook.log.CriticalTypeAttributesRegistrationHook<\/em>, aby zdefiniowa\u0107 atrybuty rodzaju dokumentu, kt\u00f3re nie powinny by\u0107 ju\u017c zmieniane, je\u015bli dokument ju\u017c istnieje dla danego rodzaju dokumentu.<\/p>\n<section class=\"document-alert-box indicator\"><div class=\"document-alert-title\">Wskaz\u00f3wka<\/div><div class=\"document-alert-content\">W przypadku pierwszego dokumentu dla typu dokumentu system sprawdza r\u00f3wnie\u017c, czy odpowiednio oznaczony atrybut zosta\u0142 zmieniony mi\u0119dzy utworzeniem dokumentu a pierwszym zapisem.<\/div><\/section>\n<p>Interfejs Hook <em>com.cisag.app.general.order.hook.log.CriticalTypeAttributesRegistrationHook<\/em> jest dost\u0119pny w nast\u0119puj\u0105cych Hook Contractach:<\/p>\n<table style=\"height: 737px; width: 106.171%; border-style: outset; border-color: #000000; background-color: #ffffff;\" width=\"106.171%\">\n<thead>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"240\"><strong>Rodzaj dokumentu<\/strong><\/td>\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"299\"><strong>Hook Contract<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" colspan=\"2\" scope=\"rowgroup\" width=\"539\"><strong>Zakup<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"240\">Rodzaje zapyta\u0144 okresowych<\/td>\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.request.hook.log.RequestForProposalType<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"240\">Rodzaje ofert zakupu<\/td>\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.proposal.hook.log.SupplierProposalType<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"240\">Rodzaje zam\u00f3wie\u0144 zakupu<\/td>\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.order.hook.log.PurchaseOrderType<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"240\">Rodzaje kontrakt\u00f3w zakupowych<\/td>\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.contract.hook.log.PurchaseContractType<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"240\">Rodzaje zg\u0142osze\u0144 wydania towaru z magazynu konsygnacyjnego<\/td>\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.consignment.hook.log.ConsignmentWithdrawalNoticeType<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" colspan=\"2\" scope=\"rowgroup\" width=\"539\"><strong>Logistyka magazynowa<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"240\">Rodzaje kompletacji<\/td>\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.inventory.picking.hook.log.PickingOrderType<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"240\">Rodzaje przyj\u0119\u0107 towaru<\/td>\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.inventory.receipt.hook.log.ReceiptOfGoodsType<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"240\">Rodzaje dyspozycji magazynowych<\/td>\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.inventory.order.hook.log.WarehouseOrderType<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"240\">Rodzaje akcji wycofywania<\/td>\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.inventory.recall.hook.log.ProductRecallType<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" colspan=\"2\" scope=\"rowgroup\" width=\"539\"><strong>Produkcja<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"240\">Rodzaje zlece\u0144 produkcyjnych<\/td>\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.production.order.hook.log.ProductionOrderType<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" colspan=\"2\" scope=\"rowgroup\" width=\"539\"><strong>Sprzeda\u017c<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"240\">Rodzaje zapyta\u0144 sprzeda\u017cowych<\/td>\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.request.hook.log.RequestForProposalType<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"240\">Rodzaje ofert sprzeda\u017cy<\/td>\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.proposal.hook.log.CustomerProposalType<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"240\">Rodzaje zam\u00f3wie\u0144 sprzeda\u017cy<\/td>\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.order.hook.log.SalesOrderType<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"240\">Rodzaje zlece\u0144 dostawy<\/td>\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.delivery.hook.log.DeliverySlipType<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"240\">Rodzaje kontraktu sprzeda\u017cy<\/td>\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.contract.hook.log.SalesContractType<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"240\">Rodzaje zwrot\u00f3w od klient\u00f3w<\/td>\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.customerreturn.hook.log.CustomerReturnType<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"240\">Rodzaje zlece\u0144 dystrybucyjnych<\/td>\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.multiorg.order.hook.log.DistributionOrderType<\/td>\n<\/tr>\n<tr style=\"height: 70px;\">\n<td style=\"height: 70px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"240\">Rodzaj dokumentu szybkiej rejestracji zlecenia<\/td>\n<td style=\"height: 70px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.rapid.hook.log.SalesRapidDocumentType<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 id=\"hook-contract\" ><span class=\"ez-toc-section\" id=\"Hook_Contract\"><\/span>Hook Contract<a id=\"DHCDD7\"><\/a><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<h4 id=\"poziom-logika\" ><span class=\"ez-toc-section\" id=\"Poziom_Logika\"><\/span>Poziom <em>Logika<\/em><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Dla nast\u0119puj\u0105cych dokument\u00f3w dost\u0119pne s\u0105 odpowiednie definicje Hook Contract dla poziomu <em>Logika.<\/em><\/p>\n<table style=\"height: 806px; width: 105.952%; border-color: #000000; background-color: #ffffff; border-style: outset;\" width=\"100%\">\n<thead>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 30%;\" scope=\"rowgroup\" width=\"240\"><strong>Dokument<\/strong><\/td>\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 75%;\" scope=\"rowgroup\" width=\"299\"><strong>Definicja Hook Contract<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 105%;\" colspan=\"2\" scope=\"rowgroup\" width=\"539\"><strong>Zakup<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 30%;\" scope=\"rowgroup\" width=\"240\">Kontrakty zakupu<\/td>\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 75%;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.contract.<br \/>\nhook.log.PurchaseContract<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 30%;\" scope=\"rowgroup\" width=\"240\">Zapytania ofertowe zakupu<\/td>\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 75%;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.request.<br \/>\nhook.log.RequestForProposal<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 30%;\" scope=\"rowgroup\" width=\"240\">Oferty zakupu<\/td>\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 75%;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.proposal.<br \/>\nhook.log.SupplierProposal<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 30%;\" scope=\"rowgroup\" width=\"240\">Zam\u00f3wienia zakupu<\/td>\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 75%;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.order.<br \/>\nhook.log.PurchaseOrder<\/td>\n<\/tr>\n<tr style=\"height: 70px;\">\n<td style=\"height: 70px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 30%;\" scope=\"rowgroup\" width=\"240\"><span style=\"color: #000000;\">Zam\u00f3wienie<\/span><\/td>\n<td style=\"height: 70px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 75%;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.<br \/>\nordercorrespondence.hook.log.<br \/>\nPurchaseOrderCorrespondence<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 30%;\" scope=\"rowgroup\" width=\"240\">Potwierdzenia zam\u00f3wienia<\/td>\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 75%;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.confirmation.hook.log.SupplierConfirmation<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 30%;\" scope=\"rowgroup\" width=\"240\">Faktury zakupu<\/td>\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 75%;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.invoice.<br \/>\nhook.log.SupplierInvoice<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 105%;\" colspan=\"2\" scope=\"rowgroup\" width=\"539\"><strong>Logistyka magazynowa<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 30%;\" scope=\"rowgroup\" width=\"240\">Dyspozycje magazynowe<\/td>\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 75%;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.inventory.location.requisition.hook.log.WarehouseOrder<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 105%;\" colspan=\"2\" scope=\"rowgroup\" width=\"539\"><strong>Produkcja<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 30%;\" scope=\"rowgroup\" width=\"240\">Zlecenia produkcyjne<\/td>\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 75%;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.production.order.<br \/>\nhook.log.ProductionOrder<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 105%;\" colspan=\"2\" scope=\"rowgroup\" width=\"539\"><strong>Sprzeda\u017c<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 30%;\" scope=\"rowgroup\" width=\"240\">Kontrakt sprzeda\u017cy<\/td>\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 75%;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.contract.<br \/>\nhook.log.SalesContract<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 30%;\" scope=\"rowgroup\" width=\"240\">Zapytania ofertowe sprzeda\u017cy<\/td>\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 75%;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.request.<br \/>\nhook.log.RequestForProposal<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 30%;\" scope=\"rowgroup\" width=\"240\">Oferty sprzeda\u017cy<\/td>\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 75%;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.proposal.<br \/>\nhook.log.CustomerProposal<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 30%;\" scope=\"rowgroup\" width=\"240\">Zam\u00f3wienia sprzeda\u017cy<\/td>\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 75%;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.order.<br \/>\nhook.log.SalesOrder<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 30%;\" scope=\"rowgroup\" width=\"240\">Potwierdzenia zam\u00f3wie\u0144 sprzeda\u017cy<\/td>\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 75%;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.confirmation.<br \/>\nhook.log.Confirmation<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 30%;\" scope=\"rowgroup\" width=\"240\">Zlecenia dystrybucji<\/td>\n<td style=\"height: 46px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 75%;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.multiorg.order.<br \/>\nhook.log.DistributionOrder<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 30%;\" scope=\"rowgroup\" width=\"240\">Dokumenty szybkiej rejestracji sprzeda\u017cy<\/td>\n<td style=\"height: 23px; border-style: outset; border-color: #000000; background-color: #ffffff; text-align: center; width: 75%;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.rapid.hook.log.SalesRapidDocument<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4 id=\"poziom-interfejs-uzytkownika\" ><span class=\"ez-toc-section\" id=\"Poziom_Interfejs_uzytkownika\"><\/span>Poziom<em> Interfejs u\u017cytkownika<\/em><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<h5 id=\"aplikacje-typu-dokument\" ><span class=\"ez-toc-section\" id=\"Aplikacje_typu_Dokument\"><\/span>Aplikacje typu <em>Dokument<\/em><span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>Dla nast\u0119puj\u0105cych aplikacji typu <em>Dokument<\/em> dost\u0119pne s\u0105 odpowiednie definicje Hook Contract dla poziomu <em>Interfejs u\u017cytkownika.<\/em><\/p>\n<table style=\"height: 783px; width: 105%; border-color: #000000; background-color: #ffffff; border-style: outset;\" width=\"105%\">\n<thead>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\"><strong>Aplikacja typu <em>Dokument<\/em><\/strong><\/td>\n<td style=\"height: 23px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\"><strong>Definicja Hook Contract<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" colspan=\"2\" scope=\"rowgroup\" width=\"539\"><strong>Zakup<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Kontrakty zakupu<\/td>\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.contract.<br \/>\nhook.ui.ContractMaintenance<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Zapytania ofertowe zakupu<\/td>\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.request.<br \/>\nhook.ui.RequestMaintenance<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Oferty zakupu<\/td>\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.proposal.<br \/>\nhook.ui.ProposalMaintenance<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Zam\u00f3wienia zakupu<\/td>\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.order.<br \/>\nhook.ui.OrderMaintenance<\/td>\n<\/tr>\n<tr style=\"height: 70px;\">\n<td style=\"height: 70px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Zapytania o zam\u00f3wienia<\/td>\n<td style=\"height: 70px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.<br \/>\nordercorrespondence.hook.ui.<br \/>\nCorrespondenceInquiry<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Potwierdzenia zam\u00f3wienia<\/td>\n<td style=\"height: 23px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.confirmation.hook.ui.ConfirmationMaintenance<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" colspan=\"2\" scope=\"rowgroup\" width=\"539\"><strong>Logistyka magazynowa<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Dyspozycje magazynowe<\/td>\n<td style=\"height: 23px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.inventory.location.requisition.hook.ui.RequisitionMaintenance<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Zlecenia dostawy<\/td>\n<td style=\"height: 23px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.inventory.delivery.hook.ui.ShippingOrderMaintenance<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" colspan=\"2\" scope=\"rowgroup\" width=\"539\"><strong>Sprzeda\u017c<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Kontrakty sprzeda\u017cy<\/td>\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.contract.<br \/>\nhook.ui.ContractMaintenance<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Zapytania ofertowe sprzeda\u017cy<\/td>\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.request.<br \/>\nhook.ui.RequestMaintenance<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Oferty sprzeda\u017cy<\/td>\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.proposal.<br \/>\nhook.ui.ProposalMaintenance<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Zam\u00f3wienia sprzeda\u017cy<\/td>\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.order.<br \/>\nhook.ui.OrderMaintenance<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Zapytania o potwierdzenia zam\u00f3wie\u0144<\/td>\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.confirmation.<br \/>\nhook.ui.ConfirmationInquiry<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Zapytania o faktury sprzeda\u017cy<\/td>\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.invoice.hook.ui.<br \/>\nCustomerInvoiceInquiry<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Zlecenia dystrybucji<\/td>\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.multiorg.order.<br \/>\nhook.ui.OrderMaintenance<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Dokumenty szybkiej rejestracji sprzeda\u017cy<\/td>\n<td style=\"height: 46px; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.rapid.hook.ui.<br \/>\nRapidDocumentMaintenance<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h5 id=\"aplikacje-typu-lista-dla-dokumentow\" ><span class=\"ez-toc-section\" id=\"Aplikacje_typu_Lista_dla_dokumentow\"><\/span>Aplikacje typu <em>Lista<\/em> dla dokument\u00f3w<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<p>Dla nast\u0119puj\u0105cych aplikacji typu <em>Lista<\/em> dla dokument\u00f3w dost\u0119pne s\u0105 odpowiednie definicje Hook Contract dla poziomu <em>Interfejs u\u017cytkownika.<\/em><\/p>\n<table style=\"height: 1218px; width: 105.617%; background-color: #ffffff; border-color: #000000; border-style: outset;\" width=\"105.617%\">\n<thead>\n<tr style=\"height: 68px;\">\n<td style=\"height: 68px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">\n<article class=\"text-token-text-primary w-full\" dir=\"auto\" data-testid=\"conversation-turn-22\" data-scroll-anchor=\"true\">\n<div class=\"text-base my-auto mx-auto py-5 [--thread-content-margin:--spacing(4)] @[37rem]:[--thread-content-margin:--spacing(6)] @[72rem]:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)\">\n<div class=\"[--thread-content-max-width:32rem] @[34rem]:[--thread-content-max-width:40rem] @[64rem]:[--thread-content-max-width:48rem] mx-auto flex max-w-(--thread-content-max-width) flex-1 text-base gap-4 md:gap-5 lg:gap-6 group\/turn-messages focus-visible:outline-hidden\" tabindex=\"-1\">\n<div class=\"group\/conversation-turn relative flex w-full min-w-0 flex-col agent-turn\">\n<div class=\"relative flex-col gap-1 md:gap-3\">\n<div class=\"flex max-w-full flex-col grow\">\n<div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&amp;]:mt-5\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"85b14237-2a6f-40d4-9604-d23850c6bfb0\" data-message-model-slug=\"gpt-4o\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[3px]\">\n<div class=\"markdown prose dark:prose-invert w-full break-words light\">\n<p data-start=\"0\" data-end=\"26\" data-is-last-node=\"\" data-is-only-node=\"\"><strong>Aplikacja typu <em>Lista<\/em> dla dokument\u00f3w<\/strong><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/article>\n<\/td>\n<td style=\"height: 68px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\"><strong>Definicja Hook Contract<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; width: 81.0234%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" colspan=\"2\" scope=\"rowgroup\" width=\"539\"><strong>Zakup<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Kontrakty zakupu<\/td>\n<td style=\"height: 23px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.contract.hook.ui.PurchaseContractCockpitBase<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Kontrakty zakupu\/Pozycje<\/td>\n<td style=\"height: 46px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.contract.hook.ui.PurchaseContractCockpitDetail<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Zapytania ofertowe zakupu<\/td>\n<td style=\"height: 46px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.request.hook.<br \/>\nui.RequestForProposalCockpitBase<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Zapytania ofertowe zakupu\/Pozycje<\/td>\n<td style=\"height: 46px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.request.hook.<br \/>\nui.RequestForProposalCockpitDetail<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Oferty zakupu<\/td>\n<td style=\"height: 23px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.proposal.hook.ui.SupplierProposalCockpitBase<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Ofert zakupu\/Pozycje<\/td>\n<td style=\"height: 46px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.proposal.hook.ui.SupplierProposalCockpitDetail<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Zam\u00f3wienia zakupu<\/td>\n<td style=\"height: 46px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.order.hook.<br \/>\nui.PurchaseOrderCockpitBase<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Zam\u00f3wienia zakupu\/<br \/>\nPozycje<\/td>\n<td style=\"height: 46px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.order.hook.<br \/>\nui.PurchaseOrderCockpitDetail<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Dokumenty zam\u00f3wie\u0144 zakupu<\/td>\n<td style=\"height: 23px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.ordercorrespondence.hook.ui.PurchaseOrderCorrespondenceCockpitBase<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Zam\u00f3wienia zakupu\/Pozycje<\/td>\n<td style=\"height: 23px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.ordercorrespondence.hook.ui.PurchaseOrderCorrespondenceCockpitDetail<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Potwierdzenia zam\u00f3wienia<\/td>\n<td style=\"height: 46px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.confirmation.<br \/>\nhook.ui.SupplierConfirmationCockpitBase<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Potwierdzenia zam\u00f3wie\u0144\/Pozycje<\/td>\n<td style=\"height: 46px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.purchasing.confirmation.<br \/>\nhook.ui.SupplierConfirmationCockpitDetail<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; width: 81.0234%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" colspan=\"2\" scope=\"rowgroup\" width=\"539\"><strong>Logistyka magazynowa<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Zlecenia dostawy<\/td>\n<td style=\"height: 46px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.inventory.delivery.<br \/>\nhook.ui.ShippingOrderCockpitBase<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Akcja wycofywania<\/td>\n<td style=\"height: 23px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.inventory.recall.cockpit.hook.ui.ProductRecallCockpitCustomers<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; width: 81.0234%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" colspan=\"2\" scope=\"rowgroup\" width=\"539\"><strong>Sprzeda\u017c<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Kontrakty sprzeda\u017cy<\/td>\n<td style=\"height: 46px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.contract.hook.<br \/>\nui.SalesContractCockpitBase<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Kontrakty sprzeda\u017cy\/pozycje<\/td>\n<td style=\"height: 46px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.contract.hook.<br \/>\nui.SalesContractCockpitDetail<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Zapytania ofertowe sprzeda\u017cy<\/td>\n<td style=\"height: 46px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.request.hook.<br \/>\nui.RequestForProposalCockpitBase<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Zapytania ofertowe sprzeda\u017cy\/Pozycje<\/td>\n<td style=\"height: 46px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.request.hook.<br \/>\nui.RequestForProposalCockpitDetail<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Oferty sprzeda\u017cy<\/td>\n<td style=\"height: 46px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.proposal.hook.<br \/>\nui.CustomerProposalCockpitBase<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Oferty sprzeda\u017cy\/ Pozycje<\/td>\n<td style=\"height: 46px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.proposal.hook.<br \/>\nui.CustomerProposalCockpitDetail<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Zam\u00f3wienia sprzeda\u017cy<\/td>\n<td style=\"height: 46px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.order.hook.<br \/>\nui.SalesOrderCockpitBase<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Zam\u00f3wienia sprzeda\u017cy\/pozycje<\/td>\n<td style=\"height: 46px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.order.hook.<br \/>\nui.SalesOrderCockpitDetail<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Zlecenia dystrybucji<\/td>\n<td style=\"height: 46px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.multiorg.order.hook.<br \/>\nui.DistributionOrderCockpitBase<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Zlecenia dystrybucji\/Pozycje<\/td>\n<td style=\"height: 46px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.multiorg.order.hook.<br \/>\nui.DistributionOrderCockpitDetail<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Dokumenty szybkiej rejestracji sprzeda\u017cy<\/td>\n<td style=\"height: 46px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.rapid.hook.<br \/>\nui.SalesRapidDocumentCockpitBase<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"height: 46px; width: 29.1163%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"240\">Dokumenty szybkiej rejestracji sprzeda\u017cy\/Pozycje<\/td>\n<td style=\"height: 46px; width: 51.9071%; border-color: #000000; background-color: #ffffff; border-style: outset; text-align: center;\" scope=\"rowgroup\" width=\"299\">com.cisag.app.sales.rapid.hook.<br \/>\nui.SalesRapidDocumentCockpitDetail<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"author":28,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"class_list":["post-9747","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-definicje-hook-contract"],"_links":{"self":[{"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/ht_kb\/9747","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/ht_kb"}],"about":[{"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/users\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/comments?post=9747"}],"version-history":[{"count":12,"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/ht_kb\/9747\/revisions"}],"predecessor-version":[{"id":36502,"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/ht_kb\/9747\/revisions\/36502"}],"wp:attachment":[{"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/media?parent=9747"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}