{"id":8401,"date":"2024-07-24T13:39:19","date_gmt":"2024-07-24T11:39:19","guid":{"rendered":"https:\/\/pomoc.comarch.pl\/cee\/640\/?post_type=ht_kb&#038;p=8401"},"modified":"2025-04-15T11:10:38","modified_gmt":"2025-04-15T09:10:38","slug":"obiekt-deweloperski-business-object","status":"publish","type":"ht_kb","link":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/obiekt-deweloperski-business-object\/","title":{"rendered":"Obiekt deweloperski: Business Object"},"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\/obiekt-deweloperski-business-object\/#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\/obiekt-deweloperski-business-object\/#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-3\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/obiekt-deweloperski-business-object\/#Podzakladka_Atrybuty\" >Podzak\u0142adka Atrybuty<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/obiekt-deweloperski-business-object\/#Podzakladka_Indeksy\" >Podzak\u0142adka Indeksy<\/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\/obiekt-deweloperski-business-object\/#Podzakladka_Relacje\" >Podzak\u0142adka Relacje<\/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\/obiekt-deweloperski-business-object\/#Podzakladka_Ustawienia\" >Podzak\u0142adka Ustawienia<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/obiekt-deweloperski-business-object\/#Akcja_Utworz_Dependent_lub_Supplement\" >Akcja Utw\u00f3rz Dependent lub Supplement<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/obiekt-deweloperski-business-object\/#Okno_dialogowe_Utworz_Dependent_lub_Supplement\" >Okno dialogowe Utw\u00f3rz Dependent lub Supplement<\/a><ul class='ez-toc-list-level-5' ><li class='ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/obiekt-deweloperski-business-object\/#Przyklad_Business_object_i_Dependent\" >Przyk\u0142ad: Business object i Dependent<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-5'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/obiekt-deweloperski-business-object\/#Przyklad_Business_object_i_Supplement\" >Przyk\u0142ad: Business object i Supplement<\/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>Aplikacja<em>\u00a0<a href=\"https:\/\/pomoc.comarch.pl\/cee\/index.php\/documentation\/obiekty-deweloperskie\/\">Obiekty deweloperskie<\/a><\/em> pozwala na rejestrowanie i przegl\u0105danie obiekt\u00f3w deweloperskich r\u00f3\u017cnych typ\u00f3w. W niniejszym artykule opisany zosta\u0142 obiekt o typie <em>Business Object.<\/em><\/p>\n<h3 id=\"opis\" ><span class=\"ez-toc-section\" id=\"Opis\"><\/span>Opis<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Obiekt biznesowy (<em>Business Object<\/em>) to techniczna definicja jednostki biznesowej, kt\u00f3rej konkretne instancje s\u0105 przechowywane w tabeli bazy danych. Obiekt biznesowy zasadniczo reprezentuje kontener danych bez \u017cadnej logiki biznesowej. Dane, kt\u00f3re maj\u0105 by\u0107 przechowywane, s\u0105 opisane przez jedn\u0105 lub wi\u0119cej definicji atrybut\u00f3w.<\/p>\n<p>Instancja obiektu biznesowego to wielko\u015b\u0107 techniczna, kt\u00f3r\u0105 us\u0142uga trwa\u0142o\u015bci Comarch ERP Enterprise mo\u017ce odczyta\u0107, zapisa\u0107 i usun\u0105\u0107. Konwersja odbywa si\u0119 pomi\u0119dzy obiektowym modelem danych stosowanym w aplikacji a relacyjnym modelem danych bazy danych.<\/p>\n<p>Obiekty biznesowe stanowi\u0105 podstaw\u0119 do generowania klas i tabel. Wygenerowane klasy Java hermetyzuj\u0105 u\u017cycie bazy danych i zapewniaj\u0105 programowi aplikacji dost\u0119p do danych instancji obiektu biznesowego. Dla obiektu biznesowego generowana jest tabela g\u0142\u00f3wna i tabele pomocnicze ze strukturami dost\u0119pu z przechowywanych definicji indeks\u00f3w.<\/p>\n<p>Podczas generowania obiektu biznesowego generowane s\u0105 r\u00f3\u017cne klasy Java, kt\u00f3re umo\u017cliwiaj\u0105 dost\u0119p do instancji obiektu biznesowego. S\u0105 one podzielone na trzy grupy:<\/p>\n<ul>\n<li>aktywne programy mapuj\u0105ce<\/li>\n<li>wersjonowane programy mapuj\u0105ce<\/li>\n<li>program aktualizacyjny<\/li>\n<\/ul>\n<p>Na zak\u0142adce\u00a0<em>Edytor<\/em> dost\u0119pne s\u0105 poni\u017csze pola:<\/p>\n<ul>\n<li><em>Obiekt bazowy<\/em> &#8211; pozwala na wskazanie obiektu programistycznego typu <em>Part<\/em> jako obiekt podstawowy. Wszystkie atrybuty i relacje zostaj\u0105 przej\u0119te (hierarchia dziedziczenia w obiekcie bazowym zostaje ca\u0142kowicie rozwi\u0105zana). Jako obiekty bazowe mo\u017cna u\u017cywa\u0107 wy\u0142\u0105cznie obiektu deweloperskiego typu <em>Part<\/em>. Obiekt biznesowy znajduje si\u0119 na li\u015bcie wykaz\u00f3w zastosowania Part.<\/li>\n<li><em>Oznaczenie<\/em> &#8211; nazwa pe\u0142ni funkcj\u0119 dodatkowej cechy identyfikacyjnej. Mo\u017ce sk\u0142ada\u0107 si\u0119 z dowolnie wybieranego tekstu i mo\u017ce zawiera\u0107 maksymalnie 80 znak\u00f3w.<\/li>\n<\/ul>\n<section class=\"document-alert-box warning\"><div class=\"document-alert-title\">Uwaga<\/div><div class=\"document-alert-content\">U\u017cywaj\u0105c znak\u00f3w specjalnych, nale\u017cy pami\u0119ta\u0107, \u017ce ze wzgl\u0119d\u00f3w technicznych s\u0105 one konwertowane na nast\u0119puj\u0105ce symbole zast\u0119pcze w ci\u0105gu znak\u00f3w, kt\u00f3ry ma zosta\u0107 przeszukany:<\/p>\n<ul>\n<li>Gwiazdka (*) do podkre\u015blenia (_)<\/li>\n<li><em style=\"font-size: revert; color: initial;\">Znak zapytania (?) do znaku procentu (%)<\/em><\/li>\n<\/ul>\n<p><\/div><\/section>\n<p><span style=\"color: initial;\">U\u017cycie podkre\u015blenia w funkcji wyszukiwania spowoduje wyszukanie dowolnego znaku, a nie tylko podkre\u015blenia. Znak procentu jest identyfikowany w ten sam spos\u00f3b, kt\u00f3ry nast\u0119pnie odpowiada \u017cadnemu, jednemu lub wi\u0119kszej liczbie znak\u00f3w. Dlatego, je\u015bli to mo\u017cliwe, nale\u017cy unika\u0107 stosowania podkre\u015ble\u0144 i symboli procent\u00f3w w ci\u0105gach znak\u00f3w, poniewa\u017c mo\u017cna znale\u017a\u0107 inne i wi\u0119cej obiekt\u00f3w ni\u017c zamierzono.<\/span><\/p>\n<ul>\n<li><em>Typ<\/em> &#8211; s\u0142u\u017cy do technicznej struktury obiekt\u00f3w biznesowych. Rozr\u00f3\u017cnia si\u0119 jednostk\u0119 biznesow\u0105, oraz zale\u017cne obiekty biznesowe, uzupe\u0142nie\u0144 lub uzupe\u0142nie\u0144 zarz\u0105dzanych.\u00b7\n<ul>\n<li><strong>Business Entity<\/strong>\u00a0&#8211; wpis ten identyfikuje obiekt biznesowy jako g\u0142\u00f3wny przedmiot biznesowy, a zatem jako jednostk\u0119 biznesow\u0105, w stosunku do kt\u00f3rej mog\u0105 istnie\u0107 zale\u017cno\u015bci lub uzupe\u0142nienia, a tak\u017ce uzupe\u0142nienia zarz\u0105dzane.<\/li>\n<li><strong>Dependent<\/strong> &#8211; zale\u017cno\u015bci jednostki biznesowej (Business Entity) maj\u0105 specjalnie wyznaczony zwi\u0105zek z nazw\u0105 \u201e_jednostka\u201d i liczno\u015bci\u0105 \u201e1 do 1\u201d. Metody specjalne umo\u017cliwiaj\u0105 otwarcie wszystkich zale\u017cno\u015bci jednostki biznesowej.<\/li>\n<li><strong>Supplement<\/strong> to obiekty biznesowe, kt\u00f3re s\u0105 automatycznie zarz\u0105dzane przez powi\u0105zan\u0105 jednostk\u0119 biznesow\u0105. Dodatki do jednostki biznesowej maj\u0105 specjalnie wyznaczon\u0105 relacj\u0119 z nazw\u0105<em> _businessObject<\/em> i stosunkiem <em>1 do 1<\/em>. S\u0142u\u017c\u0105 temu samemu celowi, co rozszerzenie, bez dodawania kolumny do g\u0142\u00f3wnej tabeli.<\/li>\n<li><strong>Managed Supplement <\/strong>to obiekty biznesowe, kt\u00f3re s\u0105 automatycznie zarz\u0105dzane przez powi\u0105zan\u0105 jednostk\u0119 biznesow\u0105 i s\u0105 tworzone wy\u0142\u0105cznie w systemach poziomu 7. S\u0105 to atrybuty niestandardowe, kt\u00f3re mog\u0105 zast\u0105pi\u0107 pola niestandardowe. Atrybuty zdefiniowane przez u\u017cytkownika maj\u0105 t\u0119 zalet\u0119, \u017ce mo\u017cna je przenosi\u0107 z produkcyjnego systemu testowego do systemu produkcyjnego za pomoc\u0105 logistyki oprogramowania.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong><a id=\"ob\"><\/a>Przyciski [Obiekt bazowy] i [Rozszerzenie]<\/strong><\/p>\n<p>Przyciski [<strong>Obiekt bazowy<\/strong>] i [<strong>Rozszerzenia<\/strong>] s\u0105 dost\u0119pne na paskach narz\u0119dzi na wybranych podzak\u0142adkach.<\/p>\n<p>[<strong>Obiekt bazowy<\/strong>] &#8211; wy\u015bwietla wszystkie atrybuty, indeksy i relacje zapisane w okre\u015blonym obiekcie bazowym.<\/p>\n<p>[<strong>Rozszerzenia<\/strong>] &#8211; wy\u015bwietla wszystkie atrybuty, indeksy i relacje rozszerzenia przypisane do obiektu biznesowego.<\/p>\n<h4 id=\"podzakladka-atrybuty\" ><span class=\"ez-toc-section\" id=\"Podzakladka_Atrybuty\"><\/span><strong>Podzak\u0142adka <em>Atrybuty<\/em><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Zak\u0142adka <em>Atrybuty<\/em> zawiera list\u0119 z atrybutami do uzupe\u0142nienia. Sk\u0142ada si\u0119 z poni\u017cszych kolumn:<\/p>\n<table style=\"border-collapse: collapse; width: 100%; height: 581px;\">\n<tbody>\n<tr style=\"height: 23px;\">\n<td style=\"width: 50%; height: 23px; border-style: outset;\"><strong>Kolumna<\/strong><\/td>\n<td style=\"width: 50%; height: 23px; border-style: outset;\"><strong>Opis<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 70px;\">\n<td style=\"width: 50%; height: 70px; border-style: outset;\">Atry<em>but<\/em><\/td>\n<td style=\"width: 50%; height: 70px; border-style: outset;\">Nazwa atrybutu, musi zaczyna\u0107 si\u0119 od ma\u0142ej litery i by\u0107 unikalna. Nast\u0119pnie mo\u017cliwe s\u0105 ma\u0142e i du\u017ce litery, cyfry i znak podkre\u015blenia (\u201e_\u201d).<\/td>\n<\/tr>\n<tr style=\"height: 187px;\">\n<td style=\"width: 50%; height: 187px; border-style: outset;\"><em>Logiczny typ danych <\/em><\/td>\n<td style=\"width: 50%; height: 187px; border-style: outset;\"><em>S<\/em>pecyfikacja logicznego typu danych z pe\u0142n\u0105 nazw\u0105 obiektu deweloperskiego. Typy z\u0142o\u017cone s\u0105 ca\u0142kowicie rozwi\u0105zywane podczas generowania. Atrybuty u\u017cywanej cz\u0119\u015bci s\u0105 zintegrowane z obiektem biznesowym i dlatego stanowi\u0105 cz\u0119\u015b\u0107 obiektu biznesowego. Binarne typy danych logicznych nie mog\u0105 zawiera\u0107 wi\u0119cej ni\u017c 2000 bajt\u00f3w.<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 50%; height: 23px; border-style: outset;\"><em>Typ danych<\/em><\/td>\n<td style=\"width: 50%; height: 23px; border-style: outset;\">Wy\u015bwietla typ danych atrybutu<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"width: 50%; height: 46px; border-style: outset;\"><span style=\"color: #000000;\"><em>Rozmiar tablicy<\/em><\/span><\/td>\n<td style=\"width: 50%; height: 46px; border-style: outset;\"><span style=\"color: #000000;\">Pozwala na u\u017cycie atrybutu jako tablicy. Maksymalna liczba p\u00f3l wynosi 64.<\/span><\/td>\n<\/tr>\n<tr style=\"height: 140px;\">\n<td style=\"width: 50%; height: 140px; border-style: outset;\"><em>Komentarz<\/em><\/td>\n<td style=\"width: 50%; height: 140px; border-style: outset;\">W razie potrzeby wprowad\u017a komentarz do atrybutu. Tekst mo\u017ce mie\u0107 maksymalnie 1000 znak\u00f3w. Tekstu nie mo\u017cna przet\u0142umaczy\u0107. Komentarze s\u0105 w\u0142\u0105czane do wygenerowanych \u017ar\u00f3de\u0142 Java. Mo\u017cna tego u\u017cy\u0107 na przyk\u0142ad do oznaczenia atrybutu jako <em>@deprecated<\/em>.<\/td>\n<\/tr>\n<tr style=\"height: 46px;\">\n<td style=\"width: 50%; height: 46px; border-style: outset;\">\u015acie\u017cka atrybutu<\/td>\n<td style=\"width: 50%; height: 46px; border-style: outset;\"><span style=\"color: #000000;\">Kolumna dost\u0119pna po wybraniu przycisku [<strong>\u015acie\u017cka atrybutu<\/strong>] na pasku narz\u0119dzi. Nazwa atrybutu w \u015bcie\u017cce atrybutu ze z\u0142o\u017conego typu danych logicznych.<\/span><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 50%; height: 23px; border-style: outset;\">Logiczny typ danych<\/td>\n<td style=\"width: 50%; height: 23px; border-style: outset;\">\u00a0<span style=\"color: #000000;\">Kolumna dost\u0119pna po wybraniu przycisku [<strong>\u015acie\u017cka atrybutu<\/strong>] na pasku narz\u0119dzi. <\/span>U\u017cyty logiczny typ danych<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 50%; height: 23px; border-style: outset;\">Pierwotny typ danych<\/td>\n<td style=\"width: 50%; height: 23px; border-style: outset;\">\u00a0<span style=\"color: #000000;\">Kolumna dost\u0119pna po wybraniu przycisku [<strong>\u015acie\u017cka atrybutu<\/strong>] na pasku narz\u0119dzi. <\/span>Typ danych atrybutu.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Dodatkowo na pasku narz\u0119dzi opr\u00f3cz standardowych przycisk\u00f3w dodawania nowej linii i usuwania, dost\u0119pne s\u0105 pola\/przyciski:<\/p>\n<p><em>Atrybut<\/em> &#8211; pozwala na filtrowanie listy atrybut\u00f3w. Aby zastosowa\u0107 dany filtr nale\u017cy wybra\u0107 przycisk [<strong>Enter<\/strong>] na klawiaturze lub aby wybra\u0107 lub usun\u0105\u0107 dany filtr wybra\u0107 przycisk<span style=\"color: #000000;\"> [<\/span><span style=\"color: #ff00ff;\"><span style=\"color: #000000;\"><strong>Zastosuj\/usu\u0144 filtr<\/strong>].<\/span>\u00a0<\/span><\/p>\n<p>[<strong>\u015acie\u017cka atrybutu<\/strong>] &#8211; pozwala na wy\u015bwietlenie dodatkowej linii nag\u0142\u00f3wka dla atrybut\u00f3w indeksu. Wiersz nag\u0142\u00f3wka nale\u017cy aby uzyska\u0107 dodatkowe informacje.<\/p>\n<p>[<strong>Obiekt bazowy<\/strong>] oraz [<strong>Rozszerzenia<\/strong>]opisany zosta\u0142y <span style=\"color: #000000;\"><a style=\"color: #000000;\" href=\"#ob\">tutaj<\/a>.<\/span><\/p>\n<p>[<strong>Polecenie OQL<\/strong>] &#8211; otwiera aplikacj\u0119 <em><span style=\"color: #000000;\">Polecenia OQL<\/span>\u00a0<\/em>zawieraj\u0105c\u0105 zestawienie OQL dla Obiektu Biznesowego. Je\u017celi w tabeli nie zaznaczono \u017cadnego atrybutu, w\u00f3wczas w zestawieniu OQL uwzgl\u0119dnione zostan\u0105 wszystkie atrybuty. Je\u017celi zaznaczone zostan\u0105 poszczeg\u00f3lne atrybuty, to w zestawieniu OQL uwzgl\u0119dnione zostan\u0105 tylko te atrybuty. Nale\u017cy zaznaczy\u0107 tylko te atrybuty, kt\u00f3re s\u0105 interesuj\u0105ce dla zapytania, w przeciwnym razie wynikiem zapytania OQL nie b\u0119dzie mo\u017cna zarz\u0105dza\u0107 (wy\u015bwietli\u0107 zbyt wiele kolumn).<\/p>\n<p>[<strong>Wykresy<\/strong>] &#8211; otwiera aplikacj\u0119 <em>Wykresy modeli danych<\/em> w kontek\u015bcie obiektu biznesowego i udost\u0119pnia do wyboru istniej\u0105ce diagramy modelu danych dla obiektu biznesowego, je\u015bli ju\u017c istniej\u0105.<\/p>\n<p><strong>Atrybuty NLS<\/strong><\/p>\n<p>Atrybuty wieloj\u0119zyczne (obs\u0142uga j\u0119zyka narodowego, NLS) s\u0105 cech\u0105 specjaln\u0105. Zawieraj\u0105 one t\u0142umaczenia atrybut\u00f3w w oddzielnych obiektach biznesowych. Te obiekty biznesowe s\u0105 tworzone automatycznie podczas generowania obiekt\u00f3w biznesowych wy\u017cszego poziomu. Dla ka\u017cdego mo\u017cliwego do przet\u0142umaczenia atrybutu tworzony jest inny obiekt biznesowy w przestrzeni nazw NLS.<\/p>\n<h4 id=\"podzakladka-indeksy\" ><span class=\"ez-toc-section\" id=\"Podzakladka_Indeksy\"><\/span><strong>Podzak\u0142adka <em>Indeksy<\/em><\/strong><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Indeks reprezentuje struktur\u0119 dost\u0119pu do instancji obiektu biznesowego. Identyfikacja odbywa si\u0119 poprzez okre\u015blone atrybuty. Obiekt biznesowy ma <em>Primary key<\/em>, kt\u00f3ry jest obowi\u0105zkowy oraz opcjonalny <em>Secondary key<\/em>. Ka\u017cdy z nich jednoznacznie identyfikuje instancj\u0119 obiektu biznesowego. Indeks w Comarch ERP Enterprise odpowiada indeksowi w bazie danych.<\/p>\n<section class=\"document-alert-box warning\"><div class=\"document-alert-title\">Uwaga<\/div><div class=\"document-alert-content\">Indeksy utworzone za pomoc\u0105 SQL s\u0105 usuwane w przypadku zmiany modelu danych.<\/div><\/section>\n<p>Zak\u0142adka <em>Indeksy<\/em> zawiera list\u0119, na kt\u00f3r\u0105 nale\u017cy wpisa\u0107 indeksy.<\/p>\n<p>Dost\u0119pne kolumny:<\/p>\n<table style=\"width: 100%; height: 808px;\" width=\"540\">\n<thead>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-style: outset; width: 33.3333%;\" width=\"180\"><strong>Nazwa<\/strong><\/td>\n<td style=\"height: 23px; border-style: outset; width: 65.9524%;\" width=\"360\"><strong>Opis<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"height: 541px;\">\n<td style=\"height: 541px; border-style: outset; width: 33.3333%;\" width=\"180\">Typ<\/td>\n<td style=\"height: 541px; border-style: outset; width: 65.9524%;\" width=\"360\">W kolumnie nale\u017cy okre\u015bli\u0107 typ indeksu. Mo\u017cliwe opcje do wyboru:<\/p>\n<ul>\n<li><i>Primary key <\/i>&#8211; za\u00a0 jego pomoc\u0105 okre\u015blony zostaje unikalny indeks g\u0142\u00f3wny. Z regu\u0142y sk\u0142ada si\u0119 to tylko z atrybutu opartego na prymitywnym logicznym typie danych <em>GUID<\/em>. Ka\u017cdy obiekt biznesowy musi mie\u0107 dok\u0142adnie jeden indeks tego typu. Jest to automatycznie sugerowane w przypadku nowych obiekt\u00f3w biznesowych.<\/li>\n<li><em>Business<\/em> <em>Key<\/em> &#8211; za jego pomoc\u0105 okre\u015blono zostaje czytelna, jednoznaczna identyfikacja techniczna. Indeks ten jest u\u017cywany w aplikacjach biznesowych do identyfikowania instancji obiektu biznesowego. Ten typ indeksu mo\u017cna ustawi\u0107 tylko raz na obiekt programistyczny.<\/li>\n<li><i>Secondary key<\/i> &#8211; dodatkowy indeks oparty na unikalnej identyfikacji. Ten typ mo\u017cna wprowadzi\u0107 wiele razy dla obiektu biznesowego.<\/li>\n<li><em>Non unique index<\/em> &#8211; d<span style=\"font-size: revert; font-family: inherit; font-weight: inherit; color: initial;\">odatkowy indeks dowolnego atrybutu. Ten typ mo\u017cna wprowadzi\u0107 wiele razy dla obiektu biznesowego.<\/span><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr style=\"height: 93px;\">\n<td style=\"height: 93px; border-style: outset; width: 33.3333%;\" width=\"180\">Indeks<\/td>\n<td style=\"height: 93px; border-style: outset; width: 65.9524%;\" width=\"360\">Indeks podstawowy ma sta\u0142\u0105 nazw\u0119 <em>Primary<\/em> i nie mo\u017cna go zmieni\u0107. Nazwa dla <i>Secondary key<\/i> powinna zaczyna\u0107 si\u0119 od przedrostka <em>By<\/em> i ko\u0144czy\u0107 si\u0119 nazw\u0105 atrybutu, do kt\u00f3rego indeks si\u0119 odnosi. Nazwa mo\u017ce mie\u0107 maksymalnie 80 znak\u00f3w.<\/td>\n<\/tr>\n<tr style=\"height: 70px;\">\n<td style=\"height: 70px; border-style: outset; width: 33.3333%;\" width=\"180\">Komentarz<\/td>\n<td style=\"height: 70px; border-style: outset; width: 65.9524%;\" width=\"360\">Kolumna umo\u017cliwia wprowadzenie komentarza do indeksu bez mo\u017cliwo\u015bci przet\u0142umaczenia. Tekst mo\u017ce mie\u0107 maksymalnie 1000 znak\u00f3w.<\/td>\n<\/tr>\n<tr style=\"height: 248px;\">\n<td style=\"border-style: outset; height: 58px; width: 33.3333%;\">Cecha<\/td>\n<td style=\"border-style: outset; height: 58px; width: 65.9524%;\">Kolumna dost\u0119pna po wybraniu przycisku [<strong>Szczeg\u00f3\u0142y<\/strong>] na pasku narz\u0119dzi. W tej kolumnie nale\u017cy wybra\u0107 atrybut\/atrybuty indeksu dla indeksu. Atrybuty indeksu wybiera si\u0119 z listy rozwijalnej, kt\u00f3ra wy\u015bwietla atrybuty wa\u017cne dla indeksu. Z\u0142o\u017conych i wieloj\u0119zycznych atrybut\u00f3w i tablic nie mo\u017cna u\u017cywa\u0107 jako atrybut\u00f3w indeksu.<\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"border-style: outset; height: 23px; width: 33.3333%;\">Typ danych<\/td>\n<td style=\"border-style: outset; height: 23px; width: 65.9524%;\">Kolumna dost\u0119pna po wybraniu przycisku [<strong>Szczeg\u00f3\u0142y<\/strong>] na pasku narz\u0119dzi. Wy\u015bwietl typ danych atrybutu indeksu.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Dodatkowo na pasku narz\u0119dzi opr\u00f3cz standardowych przycisk\u00f3w dodawania nowej linii i usuwania, dost\u0119pne s\u0105 przyciski:<\/p>\n<ul>\n<li>[<strong>Dodaj atrybut do indeksu<\/strong>] &#8211; pozwala na dodanie kolejnego atrybutu indeksu do wcze\u015bniej zaznaczonego indeksu. Je\u015bli indeks jest u\u017cywany przez relacj\u0119, nie mo\u017cna go zmieni\u0107.<\/li>\n<\/ul>\n<section class=\"document-alert-box warning\"><div class=\"document-alert-title\">Uwaga<\/div><div class=\"document-alert-content\">Atrybut indeksu jest cz\u0119\u015bci\u0105 szczeg\u00f3\u0142\u00f3w, kt\u00f3re mo\u017cna wy\u015bwietli\u0107 za pomoc\u0105 przycisku [<strong>Szczeg\u00f3\u0142y<\/strong>].<\/div><\/section>\n<ul>\n<li><span style=\"color: #000000;\">[<strong>Do g\u00f3ry<\/strong>] pozwala przesun\u0105\u0107 zaznaczony atrybut indeksu o jedn\u0105 lini\u0119 w g\u00f3r\u0119 indeksu i w ten spos\u00f3b posortowa\u0107 atrybuty indeksu. Atrybuty indeksu mo\u017cna przenosi\u0107 wy\u0142\u0105cznie pojedynczo (bez wielokrotnego wyboru).<\/span><\/li>\n<\/ul>\n<ul>\n<li><span style=\"color: #000000;\">[<strong>W d\u00f3\u0142<\/strong>] &#8211; pozwala przesun\u0105\u0107 zaznaczony atrybut indeksu o jedn\u0105 lini\u0119 w d\u00f3\u0142 w indeksie i w ten spos\u00f3b posortowa\u0107<\/span> atrybuty indeksu. Atrybuty indeksu mo\u017cna przenosi\u0107 wy\u0142\u0105cznie pojedynczo (bez wielokrotnego wyboru).<\/li>\n<\/ul>\n<ul>\n<li>[<strong>Szczeg\u00f3\u0142y<\/strong>] &#8211; pozwala na wy\u015bwietlenie dodatkowej linii nag\u0142\u00f3wka dla atrybut\u00f3w indeksu. Wiersz nag\u0142\u00f3wka nale\u017cy rozwin\u0105\u0107 w przypadku konieczno\u015bci przechwycenia atrybutu indeksu.<\/li>\n<li>Przycisk [<strong>Rozszerzenia<\/strong>] opisany zosta\u0142 <span style=\"color: #000000;\"><a href=\"#ob\">tutaj<\/a>.<\/span><\/li>\n<\/ul>\n<h4 id=\"podzakladka-relacje\" ><span class=\"ez-toc-section\" id=\"Podzakladka_Relacje\"><\/span>Podzak\u0142adka <em>Relacje<\/em><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Relacje reprezentuj\u0105 techniczne po\u0142\u0105czenie pomi\u0119dzy dwoma obiektami biznesowymi. S\u0105 one zawsze jednokierunkowe, wi\u0119c prowadz\u0105 tylko od \u017ar\u00f3d\u0142a do celu. Je\u017celi u\u017cytkownik chce mie\u0107 relacj\u0119 w dwie strony, nale\u017cy zadeklarowa\u0107 relacj\u0119 po obu stronach. Relacja mo\u017ce mie\u0107 model:<\/p>\n<ul>\n<li><em>1 do 1<\/em> &#8211; oznacza to, \u017ce mi\u0119dzy dwoma obiektami biznesowymi przypisuje dok\u0142adnie jedn\u0105 instancj\u0119 drugiego obiektu biznesowego do instancji pierwszego obiektu biznesowego. Unikalno\u015b\u0107 relacji gwarantuje si\u0119 poprzez przypisanie docelowych atrybut\u00f3w do unikalnego indeksu. Integralno\u015b\u0107 referencyjna nie jest sprawdzana. Wszystkie pola indeksu musz\u0105 by\u0107 zawarte w relacji.<\/li>\n<li><em>1 do n<\/em> &#8211;\u00a0oznacza to, \u017ce mi\u0119dzy dwoma obiektami biznesowymi wi\u0105\u017ce jedn\u0105 instancj\u0119 pierwszego obiektu biznesowego z wieloma instancjami drugiego obiektu biznesowego. R\u00f3wnie\u017c w tym przypadku integralno\u015b\u0107 referencyjna nie jest sprawdzana.<\/li>\n<\/ul>\n<p>Podczas usuwania instancji obiektu biznesowego jednostki biznesowej dane odniesienia w zale\u017cno\u015bciach (dependent) nie s\u0105 automatycznie usuwane, nale\u017cy to zrobi\u0107 r\u0119cznie.<\/p>\n<p>Zak\u0142adka <em>Relacje<\/em> zawiera list\u0119, w kt\u00f3rej rejestrowane s\u0105 relacje. Dost\u0119pne kolumny:<\/p>\n<table style=\"width: 100%; height: 625px;\" width=\"539\">\n<thead>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; width: 31.7857%; border-style: outset;\" width=\"173\"><strong>Kolumna<\/strong><\/td>\n<td style=\"height: 23px; width: 67.5%; border-style: outset;\" width=\"366\"><strong>Opis<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"height: 47px;\">\n<td style=\"height: 47px; width: 31.7857%; border-style: outset;\" width=\"173\">Relacja<\/td>\n<td style=\"height: 47px; width: 67.5%; border-style: outset;\" width=\"366\">Pozwala na wpisanie nazwy jako identyfikatora <span style=\"color: #000000;\">relacji<\/span>. Nazwa mo\u017ce mie\u0107 maksymalnie 80 znak\u00f3w.<\/td>\n<\/tr>\n<tr style=\"height: 117px;\">\n<td style=\"height: 117px; width: 31.7857%; border-style: outset;\" width=\"173\">Obiekt docelowy<\/td>\n<td style=\"height: 117px; width: 67.5%; border-style: outset;\" width=\"366\">Nale\u017cy okre\u015bli\u0107 obiekt docelowy, na kt\u00f3ry wskazuje relacja. W tym celu nale\u017cy wprowadzi\u0107 pe\u0142n\u0105 nazw\u0119 obiektu deweloperskiego. Obiekt biznesowy znajduje si\u0119 na li\u015bcie wykaz\u00f3w zastosowania obiektu docelowego.<\/td>\n<\/tr>\n<tr style=\"height: 210px;\">\n<td style=\"height: 89px; width: 31.7857%; border-style: outset;\" width=\"173\">Model relacji<\/td>\n<td style=\"height: 89px; width: 67.5%; border-style: outset;\" width=\"366\">W tej kolumnie nale\u017cy wskaza\u0107 obowi\u0105zuj\u0105cy model relacji.\u00a0 W tym celu nale\u017cy nacisn\u0105\u0107 kom\u00f3rk\u0119 w wybranym wierszu w tabeli. Powoduje to, \u017ce model relacji zmienia si\u0119 pomi\u0119dzy:<\/p>\n<ul>\n<li><em>1-1<\/em> &#8211; po wybraniu tej opcji istnieje mo\u017cliwo\u015b\u0107 wskazania warto\u015bci w kolumnie <em>Indeks obiektu docelowego<\/em>. Powi\u0105zane atrybuty indeksu s\u0105 nast\u0119pnie automatycznie dodawane jako atrybuty docelowe.<\/li>\n<li><em>1-n<\/em><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr style=\"height: 117px;\">\n<td style=\"height: 98px; width: 31.7857%; border-style: outset;\" width=\"173\">Indeks obiektu docelowego<\/td>\n<td style=\"height: 98px; width: 67.5%; border-style: outset;\" width=\"366\">Kolumna dost\u0119pna do edycji w przypadku gdy w kolumnie Model relacji wskazano opcj\u0119 <em>1-1<\/em>. Po wybraniu odpowiedniego indeksu, atrybuty indeksu s\u0105 automatycznie dodawane jako atrybuty docelowe.<\/td>\n<\/tr>\n<tr style=\"height: 93px;\">\n<td style=\"height: 64px; width: 31.7857%; border-style: outset;\" width=\"173\">Komentarz<\/td>\n<td style=\"height: 64px; width: 67.5%; border-style: outset;\" width=\"366\">Kolumna umo\u017cliwia wprowadzenie komentarza do indeksu bez mo\u017cliwo\u015bci przet\u0142umaczenia. Tekst mo\u017ce mie\u0107 maksymalnie 1000 znak\u00f3w.<\/td>\n<\/tr>\n<tr style=\"height: 70px;\">\n<td style=\"width: 31.7857%; height: 70px; border-style: outset;\">Atrybut \u017ar\u00f3d\u0142owy<\/td>\n<td style=\"width: 67.5%; height: 70px; border-style: outset;\">Kolumna dost\u0119pna po wybraniu przycisku [<strong>Przyporz\u0105dkowanie<\/strong>] na pasku narz\u0119dzi. W kolumnie nale\u017cy wskaza\u0107 atrybut \u017ar\u00f3d\u0142owy, kt\u00f3ry ma zosta\u0107 przypisany do atrybutu docelowego.<\/td>\n<\/tr>\n<tr style=\"height: 117px;\">\n<td style=\"width: 31.7857%; height: 117px; border-style: outset;\">Atrybut docelowy<\/td>\n<td style=\"width: 67.5%; height: 117px; border-style: outset;\">Kolumna dost\u0119pna po wybraniu przycisku [<strong>Przyporz\u0105dkowanie<\/strong>] na pasku narz\u0119dzi. W kolumnie nale\u017cy wskaza\u0107 atrybut obiektu docelowego kt\u00f3ry ma zosta\u0107 przypisany do atrybutu \u017ar\u00f3d\u0142owego. Atrybut \u017ar\u00f3d\u0142owy znajduje si\u0119 na li\u015bcie wykaz\u00f3w zastosowania obiektu docelowego.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Dodatkowo na pasku narz\u0119dzi opr\u00f3cz standardowych przycisk\u00f3w dodawania nowej linii i usuwania, dost\u0119pne s\u0105 przyciski:<\/p>\n<ul>\n<li>[<strong>Dodaj atrybut relacji<\/strong>] &#8211; pozwala na dodanie kolejnego atrybutu \u017ar\u00f3d\u0142owego i docelowego do wcze\u015bniej zaznaczonej relacji.<\/li>\n<\/ul>\n<section class=\"document-alert-box warning\"><div class=\"document-alert-title\">Uwaga<\/div><div class=\"document-alert-content\">Atrybut indeksu jest cz\u0119\u015bci\u0105 szczeg\u00f3\u0142\u00f3w mapowania, kt\u00f3re mo\u017cna zweryfikowa\u0107 poprzez wybranie przycisku [<strong>Przyporz\u0105dkowanie<\/strong>].<\/div><\/section>\n<ul>\n<li>[<strong>Przyporz\u0105dkowanie<\/strong>]- pozwala na wy\u015bwietlenie dodatkowej linii nag\u0142\u00f3wka dla dla atrybut\u00f3w indeksu. Wiersz nag\u0142\u00f3wka nale\u017cy rozwin\u0105\u0107 w przypadku konieczno\u015bci przechwycenia atrybutu indeksu. Ka\u017cdy wiersz sk\u0142adaj\u0105cy si\u0119 z danych <em>Atrybut \u017ar\u00f3d\u0142ow<\/em>y i <em>Atrybut docelowy<\/em>\u00a0tworzy powi\u0105zanie mi\u0119dzy atrybutem ze \u017ar\u00f3d\u0142owego obiektu biznesowego a atrybutem z docelowego obiektu biznesowego.<\/li>\n<li>Przyciski [<strong>Obiekt bazowy<\/strong>] oraz [<strong>Rozszerzenia<\/strong>]opisany zosta\u0142y <a href=\"#ob\"><span style=\"color: #000000;\">tutaj<\/span><\/a>.<\/li>\n<\/ul>\n<h4 id=\"podzakladka-ustawienia\" ><span class=\"ez-toc-section\" id=\"Podzakladka_Ustawienia\"><\/span>Podzak\u0142adka <em>Ustawienia<\/em><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Zak\u0142adka <em>Ustawienia<\/em> sk\u0142ada si\u0119 z kilku sekcji:<\/p>\n<ul>\n<li><a href=\"#s1\"><em>Ustawienia bazy danych i cache<\/em><\/a><\/li>\n<li><a href=\"#s2\"><em>Inne ustawienia<\/em><\/a><\/li>\n<\/ul>\n<p><strong><a id=\"s1\"><\/a>Sekcja Ustawienia bazy danych i cache<\/strong><\/p>\n<p>W tej sekcji dost\u0119pne s\u0105 poni\u017csze parametry\/pola:<\/p>\n<p><em>Baza danych OLTP (parametr)<\/em> &#8211; po zaznaczeniu parametru obiekt deweloperski b\u0119dzie przechowywany w w bazie danych OLTP. W tej bazie przechowywane s\u0105 dane podstawowe i transakcyjne dla aplikacji biznesowych. Przechwytywanie jest mo\u017cliwe w ka\u017cdym systemie.<\/p>\n<p><em>Baza danych OLAP (parametr)<\/em> &#8211; po zaznaczeniu parametru obiekt deweloperski b\u0119dzie przechowywany w w bazie danych OLAP. Baza ta pozwala na analiz\u0119 danych biznesowych. Przechwytywanie jest mo\u017cliwe w ka\u017cdym systemie.<\/p>\n<p><em>Baza repozytorium (parametr)<\/em> &#8211; po zaznaczeniu parametru obiekt deweloperski b\u0119dzie przechowywany w w bazie danych repozytorium. Wszystkie obiekty deweloperskie przechowywane s\u0105 w bazie danych repozytorium (tabele systemowe i archiwalne). W tej bazie danych zarz\u0105dzana jest r\u00f3wnie\u017c logistyka oprogramowania. Przechwytywanie jest mo\u017cliwe w ka\u017cdym systemie.<\/p>\n<p><em>Baza konfiguracyjna (parametr) &#8211; <\/em>po zaznaczeniu parametru obiekt deweloperski b\u0119dzie przechowywany w w bazie danych repozytorium. Informacje o konfiguracji systemu Comarch ERP Enterprise przechowywane s\u0105 w bazie konfiguracyjnej. Obiekty mog\u0105 by\u0107 rejestrowane w tej bazie danych jedynie poprzez opracowanie standardu Comarch ERP Enterprise.<\/p>\n<p><em>Strategia<\/em> &#8211; mo\u017cliwa do ustalenia dla ka\u017cdej bazy danych, po zaznaczeniu parametru. W tym polu okre\u015blona zostaje strategia pami\u0119ci podr\u0119cznej dla obiekt\u00f3w programistycznych w odpowiedniej bazie danych. Dost\u0119pne opcje:<\/p>\n<ul>\n<li><strong>LRU<\/strong> (najrzadziej u\u017cywany) &#8211; obiekty zarz\u0105dzane s\u0105 w \u201ewsp\u00f3\u0142dzielonej pami\u0119ci podr\u0119cznej\u201d przy u\u017cyciu strategii LRU. W strategii LRU w pierwszej kolejno\u015bci wymieniany jest obiekt biznesowy, kt\u00f3ry nie by\u0142 u\u017cywany przez d\u0142u\u017cszy czas. W zale\u017cno\u015bci od typu danych i bazy danych listy LRU s\u0105 przechowywane w r\u00f3\u017cnych partycjach pami\u0119ci podr\u0119cznej o ograniczonym rozmiarze.<\/li>\n<li><strong>Otw\u00f3rz wszystkie instancje podczas pierwszego dost\u0119pu\u00a0<\/strong>&#8211; przy pierwszym dost\u0119pie do obiektu danego typu wszystkie obiekty z bazy danych s\u0105 \u0142adowane do wsp\u00f3\u0142dzielonej pami\u0119ci podr\u0119cznej. Dzi\u0119ki temu dost\u0119powi wsp\u00f3\u0142dzielona pami\u0119\u0107 podr\u0119czna otrzymuje informacje o tym, kt\u00f3re obiekty <em>nie<\/em> istniej\u0105 i mo\u017ce odpowiedzie\u0107 na te zapytania bez dost\u0119pu do bazy danych.<\/li>\n<li><strong>Brak\u00a0 <\/strong>&#8211; udost\u0119pniona pami\u0119\u0107 podr\u0119czna nie jest u\u017cywana podczas odczytu. Je\u017celi obiektu nie ma w pami\u0119ci podr\u0119cznej transakcji, zawsze jest on odczytywany bezpo\u015brednio z bazy danych.<\/li>\n<\/ul>\n<p><strong><a id=\"s2\"><\/a>Sekcja <em>Inne ustawienia\u00a0<\/em><\/strong><\/p>\n<p>W tej sekcji dost\u0119pne s\u0105 poni\u017csze parametry\/pola:<\/p>\n<p><em>Grupa jednostek biznesowych<\/em> &#8211; wy\u015bwietla grup\u0119 jednostek biznesowych, do kt\u00f3rej przypisany jest obiekt biznesowy.<\/p>\n<p><em>Klasa Java<\/em> &#8211; w tym polu nale\u017cy wskaza\u0107 klas\u0119 Java, kt\u00f3ra dziedziczy z wygenerowanej klasy utworzonej przy u\u017cyciu programu mapuj\u0105cego. Umo\u017cliwia to zmian\u0119 zachowania programu mapuj\u0105cego poprzez zast\u0105pienie metod. Metody stworzone przez program mapuj\u0105cy nigdy nie powinny by\u0107 zmieniane, poniewa\u017c zmiany te zostan\u0105 utracone w nast\u0119pnej generacji. Obiekt biznesowy znajduje si\u0119 na li\u015bcie wykaz\u00f3w zastosowania klasy Java.<\/p>\n<p><em>Interfejs &#8211; <\/em>definicja interfejsu umo\u017cliwia obiektom biznesowym, w kt\u00f3rych pewne atrybuty s\u0105 identyczne, implementacj\u0119 tego samego interfejsu. Okre\u015blony interfejs zostanie automatycznie uwzgl\u0119dniony w wygenerowanym programie mapuj\u0105cym. Obiekt biznesowy znajduje si\u0119 na li\u015bcie miejsc u\u017cycia klasy Java. <section class=\"document-alert-box example\"><div class=\"document-alert-title\">Przyk\u0142ad<\/div><div class=\"document-alert-content\">Interfejs com.cisag.app.sales.pricing.log.Calculablewprowadzony przez com.cisag.app.sales.obj.CustomerInvoiceDetail,<\/p>\n<p>com.cisag.app.sales.obj.ConfirmationDetail u\u017cywane w com.cisag.app.sales.pricing.log.Calculation<\/p>\n<p>u\u017cywany przez com.cisag.app.sales.invoicing.log.DefaultUpdate (generowanie faktur), com.cisag.app.sales.confirmation.log.ConfirmationEntity (potwierdzenie zam\u00f3wienia). <\/div><\/section><\/p>\n<p><em>Rodzaje danych<\/em> &#8211; aby zapewni\u0107 odpowiednie zape\u0142nienie wsp\u00f3\u0142u\u017cytkowanej pami\u0119ci podr\u0119cznej, w tym polu nale\u017cy okre\u015bli\u0107 cz\u0119stotliwo\u015b\u0107 zmian danych obiektu biznesowego. Dost\u0119pne s\u0105 poni\u017csze opcje:<\/p>\n<ul>\n<li><strong>Dane konfiguracyjne <\/strong>&#8211; dane prawie si\u0119 nie zmieniaj\u0105. Rozmiar jest inny w r\u00f3\u017cnych systemach:\n<ul>\n<li>Podstawowe dane artyku\u0142u<\/li>\n<li>Podstawowe dane partnera<\/li>\n<\/ul>\n<\/li>\n<li><strong>Dane sta\u0142e konfiguracyjne<\/strong>\u00a0&#8211; dane prawie si\u0119 nie zmieniaj\u0105. Rozmiar jest ograniczony i podobny w r\u00f3\u017cnych systemach.\n<ul>\n<li>Kombinacje walut<\/li>\n<li>Szablony dokument\u00f3w<\/li>\n<\/ul>\n<\/li>\n<li><strong>Dane<\/strong> <strong>ruchu<\/strong> &#8211; dane cz\u0119sto si\u0119 zmieniaj\u0105. Ilo\u015b\u0107 danych ro\u015bnie bardzo szybko.\n<ul>\n<li><span style=\"color: #000000;\">Zam\u00f3wienia sprzeda\u017cy<\/span><\/li>\n<li>Rezerwacje materia\u0142\u00f3w<\/li>\n<\/ul>\n<\/li>\n<li><strong>Dane<\/strong> <strong>tymczasowe<\/strong> &#8211; dane cz\u0119sto si\u0119 zmieniaj\u0105. Ilo\u015b\u0107 danych jest r\u00f3\u017cna. Dane istniej\u0105 tylko przez kr\u00f3tki czas.\n<ul>\n<li>Pomocnicze obiekty biznesowe dla danych tymczasowych<\/li>\n<\/ul>\n<\/li>\n<li><strong>Dane konfiguracyjne (widok)<\/strong> &#8211; dane prawie si\u0119 nie zmieniaj\u0105 i dotycz\u0105 tekst\u00f3w interfejsu <span style=\"color: #000000;\">i<\/span> j\u0119zyka ich wy\u015bwietlania. T\u0142umaczone teksty mo\u017cna rejestrowa\u0107 we wszystkich j\u0119zykach wy\u015bwietlanych w systemie. S\u0105 to np. typy relacji partnerskich, dla kt\u00f3rych domy\u015blnie dostarczana jest tre\u015b\u0107 OLTP i dla kt\u00f3rych wymagana jest obs\u0142uga j\u0119zyka narodowego.\n<ul>\n<li>Sposoby komunikacji<\/li>\n<li>Pola zdefiniowane przez u\u017cytkownika, kt\u00f3rych nazwy mo\u017cna definiowa\u0107 indywidualnie<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><em>Spodziewana wielko\u015b\u0107 danych<\/em> &#8211; okre\u015bla ilo\u015b\u0107 danych oczekiwanych dla obiektu biznesowego. Informacje te stanowi\u0105 subiektywn\u0105 ocen\u0119. Dost\u0119pne opcje:<\/p>\n<ul>\n<li><strong>Small<\/strong> &#8211; rodzaje zlece\u0144, kraje, waluty<\/li>\n<li><strong>Medium<\/strong> &#8211; Ustawienia wydruk\u00f3w w sprzeda\u017cy<\/li>\n<li><strong>Large<\/strong> &#8211; Partnerzy, Artyku\u0142y<\/li>\n<li><strong>Extra<\/strong> <strong>Large<\/strong> &#8211; Zam\u00f3wienia, pozycje zam\u00f3wienia<\/li>\n<li><strong>Extra Extra<\/strong> <strong>Large<\/strong> &#8211; Rezerwacje<\/li>\n<\/ul>\n<p><em>Zale\u017cny od czasu &#8211; p<\/em>odczas generowania obiektu biznesowego dodawane s\u0105 dwa atrybuty (validFrom i validUntil). Atrybuty te umo\u017cliwiaj\u0105 prac\u0119 na aktualnie obowi\u0105zuj\u0105cych zbiorach danych. W tym polu nale\u017cy okre\u015bli\u0107, jak i w jakim momencie obliczane s\u0105 dane atrybut\u00f3w. Dost\u0119pne opcje:<\/p>\n<ul>\n<li><strong>Zawsze wstawiaj nowe rekordy danych<\/strong> &#8211; ka\u017cda zmiana obiektu biznesowego powoduje utworzenie nowej wersji (atrybuty validFrom i validUntil s\u0105 obliczane przez us\u0142ug\u0119 trwa\u0142o\u015bci).<\/li>\n<li><strong>Zawsze zapisuj najnowszy rekord danych<\/strong> &#8211; aplikacja lub logika korzystaj\u0105ca z obiektu biznesowego okre\u015bla, czy tworzona jest nowa wersja (atrybut validFrom jest obliczany przez us\u0142ug\u0119 trwa\u0142o\u015bci).<\/li>\n<li><strong>Kontrolowane przez aplikacj\u0119<\/strong> &#8211; aplikacja lub logika korzystaj\u0105ca z obiektu biznesowego obs\u0142uguje pe\u0142ne wersjonowanie.<\/li>\n<li><strong>Data wg strefy czasowej aplikacji<\/strong> &#8211; aplikacja lub logika korzystaj\u0105ca z obiektu biznesowego okre\u015bla, czy tworzona jest nowa wersja (atrybut validFrom jest obliczany przez us\u0142ug\u0119 trwa\u0142o\u015bci). Atrybuty validFrom i validUntil musz\u0105 zawiera\u0107 prawid\u0142owe daty, a powi\u0105zana strefa czasowa jest przechowywana w atrybucie _timstamp.<\/li>\n<li><strong>Czas wg strefy czasowej aplikacji<\/strong> &#8211; aplikacja lub logika korzystaj\u0105ca z obiektu biznesowego okre\u015bla, czy tworzona jest nowa wersja (atrybut validFrom jest obliczany przez us\u0142ug\u0119 trwa\u0142o\u015bci). Atrybuty validFrom i validUntil musz\u0105 zawiera\u0107 prawid\u0142owe godziny, a powi\u0105zana strefa czasowa jest przechowywana w atrybucie _timstamp.<\/li>\n<li><strong>Bez<\/strong><\/li>\n<\/ul>\n<p><em>Protoko\u0142uj u\u017cytkownika i czas <\/em>&#8211; po zaznaczeniu tej opcji system automatycznie rejestruje osob\u0119 zmieniaj\u0105c\u0105 (u\u017cytkownika) i czas zmiany w przypadku zmiany obiektu deweloperskiego. Je\u017celi funkcja jest aktywna, wstawiany jest atrybut <em>updateInfo<\/em>. W tym z\u0142o\u017conym atrybucie data przechwycenia, data modyfikacji i data usuni\u0119cia (wraz z powi\u0105zanym u\u017cytkownikiem) s\u0105 automatycznie zapisywane za po\u015brednictwem us\u0142ugi trwa\u0142o\u015bci.<\/p>\n<h3 id=\"akcja-utworz-dependent-lub-supplement\" ><span class=\"ez-toc-section\" id=\"Akcja_Utworz_Dependent_lub_Supplement\"><\/span>Akcja <em>Utw\u00f3rz Dependent lub Supplement<\/em><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Korzystaj\u0105c z akcji <em>Utw\u00f3rz Dependent lub Supplement <\/em>pod przyciskiem menu <em>Utw\u00f3rz dodatkowe obiekty<\/em> na standardowym pasku narz\u0119dzi, mo\u017cna utworzy\u0107 jeden z obiekt\u00f3w rozwojowych <em>Supplement<\/em> lub <em>Dependent<\/em> dla otwartego obiektu biznesowego w mo\u017cliwie najwi\u0119kszym stopniu automatycznie. Naci\u015bni\u0119cie tej akcji powoduje otwarcie okna dialogowego, w kt\u00f3rym nale\u017cy najpierw wybra\u0107 typ, kt\u00f3ry ma zosta\u0107 utworzony. Niezb\u0119dne dane s\u0105 uzupe\u0142niane automatycznie.<\/p>\n<section class=\"document-alert-box warning\"><div class=\"document-alert-title\">Uwaga<\/div><div class=\"document-alert-content\">Ta akcja jest dost\u0119pna tylko dla typu programowania obiektu biznesowego.<\/div><\/section>\n<h4 id=\"okno-dialogowe-utworz-dependent-lub-supplement\" ><span class=\"ez-toc-section\" id=\"Okno_dialogowe_Utworz_Dependent_lub_Supplement\"><\/span>Okno dialogowe <em>Utw\u00f3rz Dependent lub Supplement<\/em><span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>W oknie dialogowym dost\u0119pne s\u0105 poni\u017csze pola:<\/p>\n<p><em>Typ<\/em> &#8211; w tym polu okre\u015bla si\u0119 typ obiektu biznesowego, kt\u00f3ry powinien zosta\u0107 utworzony. Do wyboru s\u0105 poni\u017csze opcje:<\/p>\n<ul>\n<li><strong>Dependent<\/strong> &#8211; zale\u017cno\u015bci jednostki biznesowej maj\u0105 specjalnie wyznaczony zwi\u0105zek z nazw\u0105 <em>_entity<\/em> i modelem relacji <em>1 do 1<\/em>. Metody specjalne umo\u017cliwiaj\u0105 otwarcie wszystkich zale\u017cno\u015bci jednostki biznesowej<\/li>\n<li><strong>Supplement<\/strong> &#8211; dodatki to obiekty biznesowe, kt\u00f3re s\u0105 automatycznie przenoszone przez powi\u0105zan\u0105 jednostk\u0119 biznesow\u0105. Supplementy dla jednostki biznesowej maj\u0105 specjalnie wyznaczon\u0105 relacj\u0119 z nazw\u0105<em> _businessObject<\/em> i modelem relacji <em>1 do 1<\/em>. Pozwalaj\u0105 na dodawanie nowych atrybut\u00f3w bezpo\u015brednio do jednostki biznesowej.<\/li>\n<\/ul>\n<p><em>Nazwa &#8211; w<\/em> zale\u017cno\u015bci od wybranego typu, w tym polu sugerowana jest pe\u0142na nazwa tworzonego obiektu deweloperskiego. Sugestia sk\u0142ada si\u0119 z pe\u0142nej nazwy otwieranego obiektu biznesowego oraz jednego z nast\u0119puj\u0105cych dodatk\u00f3w: Supplement, Dependent.<\/p>\n<p><em>Oznaczenie<\/em> &#8211; w tym polu, w zale\u017cno\u015bci od wybranego typu, sugerowana jest nazwa tworzonego obiektu deweloperskiego. Sk\u0142ada si\u0119 z oznaczenia pobranego z pola <em>Oznaczenie<\/em> na zak\u0142adce<em> Edytor<\/em> oraz\u00a0jednego z nast\u0119puj\u0105cych dodatk\u00f3w:<\/p>\n<ul>\n<li>Supplement<\/li>\n<li>Dependent<\/li>\n<\/ul>\n<p>Opis pe\u0142ni funkcj\u0119 dodatkowej cechy identyfikacyjnej. Mo\u017ce sk\u0142ada\u0107 si\u0119 z dowolnie wybieranego tekstu i mo\u017ce zawiera\u0107 maksymalnie 80 znak\u00f3w. U\u017cywaj\u0105c znak\u00f3w specjalnych, nale\u017cy pami\u0119ta\u0107, \u017ce ze wzgl\u0119d\u00f3w technicznych s\u0105 one konwertowane na nast\u0119puj\u0105ce symbole zast\u0119pcze w ci\u0105gu znak\u00f3w, kt\u00f3ry ma zosta\u0107 przeszukany:<\/p>\n<ul>\n<li>Gwiazdka (*) do podkre\u015blenia (_)<\/li>\n<li><em>Znak zapytania (?) do znaku procentu (%)<\/em><\/li>\n<\/ul>\n<p>U\u017cycie podkre\u015blenia w funkcji wyszukiwania spowoduje wyszukanie dowolnego znaku, a nie tylko podkre\u015blenia. Znak procentu jest oceniany w ten sam spos\u00f3b, kt\u00f3ry nast\u0119pnie odpowiada \u017cadnemu, jednemu lub wi\u0119kszej liczbie znak\u00f3w. Dlatego, je\u015bli to mo\u017cliwe, nale\u017cy unika\u0107 stosowania podkre\u015ble\u0144 i symboli procent\u00f3w w ci\u0105gach znak\u00f3w, poniewa\u017c mo\u017cna znale\u017a\u0107 inne i wi\u0119cej obiekt\u00f3w ni\u017c zamierzono.<\/p>\n<p><em>Interfejs &#8211;<\/em> definicja interfejsu umo\u017cliwia obiektom biznesowym, w kt\u00f3rych pewne atrybuty s\u0105 identyczne, implementacj\u0119 tego samego interfejsu. Okre\u015blony interfejs zostanie automatycznie uwzgl\u0119dniony w wygenerowanym programie mapuj\u0105cym. Obiekt biznesowy znajduje si\u0119 na li\u015bcie miejsc u\u017cycia klasy Java.<\/p>\n<h5 id=\"przyklad-business-object-i-dependent\" ><span class=\"ez-toc-section\" id=\"Przyklad_Business_object_i_Dependent\"><\/span>Przyk\u0142ad: Business object i Dependent<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<section class=\"document-alert-box example\"><div class=\"document-alert-title\">Przyk\u0142ad<\/div><div class=\"document-alert-content\">W poni\u017cszym przyk\u0142adzie zastosowano dwa obiekty biznesowe do przechowywania danych dotycz\u0105cych kraju i regionu. Kilka region\u00f3w jest przypisanych do kraju poprzez zdefiniowane relacje. Region jest przypisany do dok\u0142adnie jednego kraju.<\/p>\n<p><strong>Atrybuty<\/strong><\/p>\n<p>Country:guid &#8211; klucz podstawowy<\/p>\n<p>Country:isoCode &#8211; Kod kraju (np.: DE, GB)<\/p>\n<p>Country:description &#8211; Opis (np.: Niemcy, Wielka Brytania)<\/p>\n<p>Country:language &#8211; J\u0119zyk (np.: de, en)<\/p>\n<p>Region:guid &#8211;\u00a0klucz podstawowy<\/p>\n<p>Region:code &#8211;\u00a0Skr\u00f3t regionu (np.: NS, BA)<\/p>\n<p>Region:description &#8211; Opis (np.: Dolna Saksonia, Bawaria)<\/p>\n<p>Region:country &#8211; GUID powi\u0105zanego kraju<\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>Indeksy<\/strong><\/p>\n<p>Business Entity <em>Country<\/em><\/p>\n<p>Primary Key: guid<\/p>\n<p>Business Key: isoCode<\/p>\n<p>Dependent <em>Region<\/em><\/p>\n<p>Primary Key: guid<\/p>\n<p>Business Key: code, country<\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>Relacje<\/strong><\/p>\n<p>Business Entity <em>Country<\/em><\/p>\n<p>Nazwa: Regions\u00a0(dowolnie wybierane)<\/p>\n<p>Obiekt docelowy: Dependent Region<\/p>\n<p>Atrybut docelowy: Region:country<\/p>\n<p>Atrybut \u017ar\u00f3d\u0142owy: Country:guid<\/p>\n<p>Model relacji: 1-n<\/p>\n<p><strong>Dependent <em>Region<\/em><\/strong><\/p>\n<p>Nazwa: _entity (domy\u015blnie)<\/p>\n<p>Obiekt docelowy: Business Entity <em>Country<\/em><\/p>\n<p>Atrybut docelowy: Country:guid<\/p>\n<p>Atrybut \u017ar\u00f3d\u0142owy: Region:country<\/p>\n<p>Model relacji: 1-1<\/p>\n<p>Indeks obiektu docelowego: Primary<\/div><\/section>\n<h5 id=\"przyklad-business-object-i-supplement\" ><span class=\"ez-toc-section\" id=\"Przyklad_Business_object_i_Supplement\"><\/span>Przyk\u0142ad: Business object i Supplement<span class=\"ez-toc-section-end\"><\/span><\/h5>\n<section class=\"document-alert-box example\"><div class=\"document-alert-title\">Przyk\u0142ad<\/div><div class=\"document-alert-content\">W poni\u017cszym przyk\u0142adzie dane o krajach i ich stolicy s\u0105 przechowywane przy u\u017cyciu dw\u00f3ch obiekt\u00f3w biznesowych. Stolica jest przypisana dok\u0142adnie do jednego kraju.<\/p>\n<p><strong>Atrybuty<\/strong><\/p>\n<p>Country:guid &#8211; klucz podstawowy<\/p>\n<p>Country:isoCode &#8211; Kod kraju (np.: DE, GB)<\/p>\n<p>Country:description &#8211; Opis (np.: Niemcy, Wielka Brytania)<\/p>\n<p>Country:language &#8211; J\u0119zyk (np.: de, en)<\/p>\n<p>ExtCountry:guid &#8211; Klucz podstawowy<\/p>\n<p>ExtCountry:capital &#8211; Nazwa stolicy (np. Berlin)<\/p>\n<p><strong>Indeksy<\/strong><\/p>\n<p>Supplement\u00a0<em>ExtCountry<\/em><\/p>\n<p>Primary Key: guid (predefiniowany, jak jednostka biznesowa)<\/p>\n<p>Business Key: niedozwolony<\/p>\n<p><strong>Relacje<\/strong><\/p>\n<p>Supplement <em>ExtCountry<\/em><\/p>\n<p>Nazwa: _businessObject (domy\u015blna)<\/p>\n<p>Obiekt docelowy: Business Entity <em>Country<\/em><\/p>\n<p>Atrybuty docelowe: Country:guid<\/p>\n<p>Atrybut \u017ar\u00f3d\u0142owy: ExtCountry:guid<\/p>\n<p>Model relacji: 1-1<\/p>\n<p>Indeks obiektu docelowego: Primary<\/p>\n<p><\/div><\/section>\n","protected":false},"author":28,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"class_list":["post-8401","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-typy-obiektow-deweloperskich"],"_links":{"self":[{"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/ht_kb\/8401","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=8401"}],"version-history":[{"count":24,"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/ht_kb\/8401\/revisions"}],"predecessor-version":[{"id":28551,"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/ht_kb\/8401\/revisions\/28551"}],"wp:attachment":[{"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/media?parent=8401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}