Wprowadzenie
W niniejszym artykule opisano postępowanie z aplikacją Import danych w odniesieniu do pól zdefiniowanych przez użytkownika.
Przedstawione zostaną ogólne kroki, które obejmują, m.in. kolejność jaką należy przestrzegać podczas importu metadanych.
Ponadto, przedstawione zostaną również informacje na temat atrybutów, które są niezbędne do importu.
Opis aplikacji Import danych, obejmujący m.in. opisy pól i przycisków, znajduje się w artykule Import danych.
Definicje
Rozszerzalny język znaczników (XML) — plik XML może być używany do zapisywania ustrukturyzowanych danych w pliku tekstowym. Język pliku umożliwia definiowanie, przesyłanie, sprawdzanie i interpretowanie danych między aplikacjami i jest szczególnie odpowiedni do wymiany danych strukturalnych. Dokumenty XML oddzielają treść, strukturę i informacje do wizualizacji. XML jest koordynowany i zdefiniowany jako standard przez W3C.
Rodzaj pola – pola zdefiniowane przez użytkownika często mają wspólne właściwości, które zależą od rodzaju pola. Aby nie trzeba było określać właściwości osobno dla każdego pola użytkownika, można je pogrupować w rodzaje pól. Rodzaje pól obejmują więc zestaw ustalonych właściwości dla pól zdefiniowanych przez użytkownika. Podczas korzystania z rodzaju pola odpowiednie właściwości są automatycznie przejmowane przez tworzone pole użytkownika.
Możliwe rodzaje pól użytkownika — a tym samym podstawa dla typów danych — mogą obejmować: tekst, adres e-mail, URL, datę, datę i godzinę, klasyfikację, kwotę, kwotę w walucie lokalnej, cenę, cenę w walucie lokalnej, liczbę dziesiętną, ilość, pole wyboru oraz Business Entity.
Metadane pól zdefiniowanych przez użytkownika – metadane opisują wszystkie właściwości pola zdefiniowanego przez użytkownika. Obejmują one między innymi: typ pola (liczba, ciąg znaków, pole wyboru…), nazwę, etykietę oraz dopuszczalne zakresy wartości.
To, jakie właściwości posiada dane pole, zależy — oprócz ogólnych atrybutów — od jego typu.
Metadane mogą zostać wprowadzone bezpośrednio podczas tworzenia nowego pola lub mogą zostać przejęte z istniejących rodzajów pól.
Dane użytkowe pól zdefiniowanych przez użytkownika – dane użytkowe to wprowadzone wartości pól użytkownika. To, jakie konkretne wartości są dozwolone, określają typ pola oraz ograniczenia zdefiniowane w jego metadanych. Dane użytkowe zawsze odnoszą się do instancji encji, w której pole użytkownika jest używane — są więc „powiązane z instancją”.
Tekst oddzielony separatorami (CSV) — CSV (comma separated values) to format pliku, w którym wartości poszczególnych kolumn są oddzielone separatorem. Wiersze są oddzielone znakami końca linii. Separator ten musi być znany w celu zaimportowania pliku. Typowymi separatorami są na przykład pojedynczy przecinek i średnik. Dane zapisane w tym formacie mogą być używane i edytowane w wielu aplikacjach. Ze względu na prostą, niehierarchiczną strukturę CSV, ten format danych nie nadaje się do mapowania złożonych struktur danych.
Tekst Unicode oddzielony tabulatorem (XLS) — Ten format pliku jest podobny do CSV, ale tabulator jest określony jako separator, a Unicode jako kodowanie znaków. Pliki w tym formacie mogą być używane między innymi przez program Microsoft Excel. Aby zapisać ten format pliku w programie Excel, może być konieczne określenie formatu pliku w programie Excel.
Informacje ogólne
W systemie ERP rozróżnia się dwa rodzaje wymiany danych:
- wymianę danych pomiędzy istniejącymi systemami Comarch ERP Enterprise
- import danych ze starego systemu do nowego systemu Comarch ERP Enterprise
Wymiana danych pomiędzy systemami Comarch ERP Enterprise została opisana w artykułach Import danych oraz Eksport danych.
Niniejszy artykuł opisuje import z systemów źródłowych przy użyciu aplikacji Import danych.
Można korzystać z różnych formatów importu. Dostępne są następujące formaty:
- XML
- CSV
- XLS
Każdy format ma specjalne właściwości, które mają wpływ na import danych, a zatem możliwe formaty mają zalety i wady.
W przypadku importu w formacie XML, wszystkie pożądane dane mogą zostać zaimportowane w jednej operacji importu.
Jeżeli import jest wykonywany w formacie CSV, konieczne jest inne podejście, ponieważ w jednym pliku importu nie mogą zostać przedstawione równoległe relacje 1:n między jednostkami biznesowymi. Możliwe jest jednak zastosowanie powiązań i w ten sposób zaimportowanie większości danych w ramach jednej operacji importu, również z wielu plików. Jest to bardzo istotne dla szybkości importu.
Jeżeli nie jest pewne, który format pliku importu jest odpowiedni, należy postępować w następujący sposób: za pomocą aplikacji Rodzaje pól zostaje utworzony przykładowy rodzaj pola, a następnie jest on eksportowany z filtrem do importu w żądanym formacie z pożądanymi atrybutami. Utworzony w ten sposób przykładowy plik może zostać użyty jako szablon dla plików importu. Aplikacja Rodzaje pól została użyta jedynie przykładowo; można również wykorzystać inne aplikacje do utworzenia takiego przykładowego pliku. Na przykład Zasoby w przypadku parametrów lub Artykuły dla Innych pól.
Cechy szczególne pól dodatkowych
Pola dodatkowe są stosowane w następujących jednostkach biznesowych (Business Entity):
-
Inne pola w aplikacjach Artykuły i Partnerzy oraz w Zarządzaniu dokumentami
-
Cechy artykułów
-
Parametry w danych podstawowych produkcji, takich jak zasoby, gniazda robocze i plany pracy
-
Cechy konfiguracji
Procedura importowania pól zdefiniowanych przez użytkownika w dużym stopniu zależy od danego przypadku użycia. Należy dokonać podstawowego rozróżnienia, czy pola są „niezależne od instancji”, jak w przypadku Innych pól w aplikacjach Artykuły i Partnerzy, czy „związane z instancją”, jak w przypadku parametrów w operacji. Obowiązują następujące zasady:
-
w przypadku pól niezależnych od instancji import danych użytkowych zawsze odbywa się oddzielnie od importu metadanych.
-
w przypadku pól zależnych od instancji metadane są importowane łącznie z danymi użytkowymi.
-
jeżeli w metadanych jawnie referencjonowane są typy pól, możliwe jest ich wcześniejsze zaimportowanie.
-
dla pól, w których dopuszczona jest „lista wartości”, dane użytkowe tych pól są traktowane jako jedna wartość. Oznacza to, że podczas eksportu wszystkie wartości wpisane w polu zostaną wyeksportowane, a podczas importu wszystkie wartości obecne w pliku XML zostaną zapisane.
-
Jeżeli w pliku XML brakuje wartości, które były wcześniej obecne w bazie danych, to po imporcie w bazie pozostają wyłącznie wartości znajdujące się w XML. Oznacza to, że usunięcia nie są wykonywane na podstawie atrybutu mode w XML.
Instrukcje
Sposób postępowania podczas importu pól użytkownika należy dobrać w zależności od konkretnego przypadku. Wyróżnia się następujące warianty:
-
Inne pola (metadane niezależne od instancji)
-
Parametry (metadane zależne od instancji)
-
Nadpisane parametry (metadane zależne od instancji)
-
Cechy artykułów (metadane niezależne od instancji)
W kolejnych rozdziałach przedstawiono procedury importu i eksportu pól użytkownika wraz z ich specyficznymi uwagami:
-
Import danych
-
Eksport danych
Import danych
Procedury oraz szczególne zasady dotyczące importu pól użytkownika zostały opisane w następujących rozdziałach:
Rodzaje pól
W pliku importu wszystkie atrybuty muszą być zgodne z wymaganą, poprawną strukturą (szczegóły w rozdziale: Przegląd: Atrybuty).
Instrukcja:
-
Otworzyć aplikację Import danych.
-
Wyświetlić filtr lub jeden z dostępnych filtrów dla tego obiektu biznesowego:
com.cisag.app.general.extension.obj.Datatype
Zostanie wyświetlony filtr dla importu typów pól. -
W razie potrzeby zduplikować istniejący filtr lub utworzyć nowy dla tego obiektu biznesowego.
-
Wybrane atrybuty filtra są już zaznaczone. W razie potrzeby można je dostosować.
-
Na standardowym pasku należy wybrać przycisk [Importuj dane]. Otwarte zostaje okno dialogowe Import danych.
-
W oknie dialogowym możliwe jest wprowadzenie dodatkowych ustawień pliku importu. Import można uruchomić przyciskiem [W tle] lub [Natychmiast].
<Datatype xmlns=”com.cisag.app.general.extension.obj.Datatype”>
<guid>522C0000-D7C3-101F-A0-86-00001D646484</guid>
<code>100</code>
<type>VALUESET</type>
<label>rozmiar roweru</label>
<description>rozmiar roweru</description>
<multiValue>false</multiValue>
<classification></classification>
<maxLength>0</maxLength>
<definedValues>0</definedValues>
<businessEntity xsi:nil=”true”/>
<dateRangeRestricted>false</dateRangeRestricted>
<dayTypeRestricted>false</dayTypeRestricted>
<dayOfWeekRestricted>false</dayOfWeekRestricted>
<currencyRestricted>false</currencyRestricted>
<numericRangeRestricted>false</numericRangeRestricted>
<uomTypeRestricted>false</uomTypeRestricted>
<uomRestricted>false</uomRestricted>
<organizationHierarchyType></organizationHierarchyType>
<Restrictions>
<ValueSetValues>
<description>26″</description>
<label>rozmiar ramy 26 cali</label>
<value>1</value>
</ValueSetValues>
<ValueSetValues>
<description>28″</description>
<label>rozmiar ramy 28 cali</label>
<value>2</value>
</ValueSetValues>
<ValueSetValues>
<description>30″</description>
<label>rozmiar ramy 30 cali</label>
<value>3</value>
</ValueSetValues>
<ValueSetValues>
<description>30″</description>
<label>rozmiar ramy 30 cali</label>
<value>3</value>
</ValueSetValues>
<NumericValues/>
</Restrictions>
</Datatype>
Specyfika importu rodzajów pól
Podczas importu/eksportu typów pól należy uwzględnić następujące aspekty:
W aplikacji Rodzaje pól dla typu pola Pole wyboru poszczególne elementy listy mogą zostać oznaczone jako przeznaczone do usunięcia. Informacja o tym, czy dany element listy posiada znacznik usunięcia, przechowywana jest w atrybucie updateInfo.
W filtrze eksportu udostępniany jest osobny folder zawierający atrybuty powiązane z updateInfo. Konkretnym atrybutem przekazującym informację o znaczniku usunięcia jest deleteTime. W atrybucie tym zapisywany jest czas ustawienia znacznika usunięcia w formie znacznika czasowego.
W rezultacie należy rozróżnić dwa przypadki związane z atrybutem deleteTime. Atrybut ten znajduje się w następującej strukturze: folder Restrictions, podfolder ValueSetValues, podfolder UpdateInfo.
-
Atrybut deleteTime jest wybrany – w takim przypadku eksportowane są wszystkie elementy listy.
-
Atrybut deleteTime nie jest wybrany – eksportowane są tylko elementy listy bez znacznika usuwania.
Podczas importu informacja o znaczniku usunięcia — jeśli jest obecna w pliku eksportu — zostaje normalnie zaimportowana do systemu docelowego. W systemie docelowym rekord oznaczony do usunięcia jest odpowiednio wizualizowany.
Import metadanych Inne pola
W pliku importu wszystkie atrybuty muszą być zgodne z wymaganą, poprawną strukturą (szczegóły w rozdziale: Przegląd: Atrybuty).
Instrukcja:
-
Otworzyć aplikację Import danych.
-
Wyświetlić filtr lub jeden z dostępnych filtrów dla tego obiektu biznesowego:
com.cisag.app.general.extension.obj.EntityExtensionSet
Zostanie wyświetlony filtr do importu Innych pól. -
W razie potrzeby zduplikować istniejący filtr lub utworzyć nowy dla tego obiektu biznesowego.
-
Wybrane atrybuty filtra są już zaznaczone. W razie potrzeby można je dostosować.
-
Na standardowym pasku należy wybrać przycisk [Importuj dane]. Otwarte zostaje okno dialogowe Import danych.
-
W oknie dialogowym możliwe jest wprowadzenie dodatkowych ustawień pliku importu. Import można uruchomić przyciskiem [W tle] lub [Natychmiast].
Import metadanych cech artykułów wykonywany jest poprzez następujący obiekt biznesowy:
com.cisag.app.general.obj.ItemPropertyDefinition
Dane opisane w artykule znajdują się poprzez relację: EntityExtension.
Eksport danych
Procedury oraz szczególne zasady dotyczące eksportu pól użytkownika zostały opisane w następujących rozdziałach:
-
Eksport metadanych Inne pola
-
Specyfika eksportu metadanych Inne pola
-
Metadane/dane użytkowe zależne od instancji
-
Metadane/dane użytkowe niezależne od instancji
Eksport metadanych Inne pola
Instrukcja:
-
Otworzyć aplikację Eksport danych.
-
Wyświetlić filtr lub jeden z dostępnych filtrów dla tego obiektu biznesowego:
com.cisag.app.general.extension.obj.EntityExtensionSet
Zostanie wyświetlony filtr do importu Innych pól. -
W razie potrzeby zduplikować istniejący filtr lub utworzyć nowy dla tego obiektu biznesowego.
-
Wybrane atrybuty filtra są już zaznaczone. W razie potrzeby można je dostosować.
- Przejść na zakładkę Ograniczenie, na której wyświetlone zostaną dostępne ustawienia.
-
W polu Wyszukiwanie wybrać wymagany obiekt biznesowy.
- Na standardowym pasku należy wybrać przycisk [Eksportuj dane]. Otwarte zostaje okno dialogowe Eksport danych.
-
W oknie dialogowym możliwe jest wprowadzenie dodatkowych ustawień pliku eksportu. Eksport można uruchomić przyciskiem [W tle] lub [Natychmiast].
Business objects z opcją Inne pola
Do zawężenia zakresu eksportowanych metadanych Inne pola dostępne są te obiekty biznesowe, które umożliwiają dodawanie dodatkowych pól. Dotyczy to na przykład następujących obiektów biznesowych:
| Obiekt biznesowy | Nazwa obiektu biznesowego | Nazwa wyszukiwania |
| com.cisag.app.general.obj.Item | Artykuł | Artykuł: dane podstawowe |
| com.cisag.app.purchasing.obj.PurchaseItem | Artykuł zakupowy | Artykuł: dane zakupowe |
| com.cisag.app.inventory.obj.InventoryItem | Artykuł magazynowy | Artykuł: dane logistyki magazynowej |
| com.cisag.app.production.obj.ProductionItem | Artykuł produkcyjny | Artykuł: dane produkcyjne |
| com.cisag.app.financials.obj.ItemAccountingData | Artykuł (dane rachunkowości) | Artykuł: dane rachunkowości |
| com.cisag.app.sales.obj.SalesItem | Artykuł sprzedażowy | Artykuł: dane sprzedażowe |
| com.cisag.app.sales.obj.CustomerSalesItem | Dane klienta do artykułu sprzedażowego | Artykuł: dane klienta |
| com.cisag.app.sales.obj.CustomerClassificationItem | Klasyfikacja klienta + artykuł sprzedażowy | Artykuł: dane klasyfikacji klienta |
| com.cisag.app.purchasing.obj.SupplierPurchaseItem | Dane dostawcy do artykułu zakupowego | Artykuł: dane dostawcy |
| com.cisag.app.general.obj.ItemPropertyCollection | Przypisanie cech artykułu | Artykuł: przypisania cech artykułu |
| com.cisag.app.general.docman.obj.Document | Dokument | Dokumenty |
| com.cisag.app.general.obj.Partner | Partner | Partner: dane podstawowe |
| com.cisag.app.sales.obj.Customer | Klient | Partner: dane klienta |
| com.cisag.app.purchasing.obj.Supplier | Dostawca | Partner: dane dostawcy |
| com.cisag.app.crm.obj.PartnerMarketingInfo | Partner marketingowy | Partner: dane marketingowe |
| com.cisag.app.general.obj.Employee | Pracownik | Partner: dane pracownika |
| com.cisag.app.financials.obj.PartnerAccountingData | Dane rachunkowości partnera | Partner: dane rachunkowości |
| com.cisag.app.internal.obj.SupportRequest | Zlecenie deweloperskie, Zapytanie supportowe, Zadanie wsparcia technicznego | Zlecenia deweloperskie/ Zapytanie supportowe |
W polu Wyszukiwanie w filtrze udostępniane są do wyboru wszystkie wymienione Business Objects. W tym polu wybiera się żądany Business Object, dla którego mają zostać wyeksportowane metadane jego dodatkowych pól. Plik eksportu zawiera w związku z tym metadane wszystkie Inne pola dla wybranego Business Object.
Poniższy przykład XML przedstawia ogólną strukturę pliku eksportu. W tym przypadku wyeksportowano metadane dla innych pól obiektu Business Object Artykuł Magazynowy.
<semiramis xmlns=”com.cisag.app.general.extension.obj.EntityExtensionSet” xsi:schemaLocation=”com.cisag.app.general.extension.obj.EntityExtensionSet EntityExtensionSet.xsd” created=”2005-12-02T16:15:49.253Z” locale=”en-US-XMLSchemaCompliant” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”>
<EntityExtensionSet xmlns=”com.cisag.app.general.extension.obj.EntityExtensionSet”>
<code></code>
<entity>com.cisag.app.inventory.obj.InventoryItem</entity>
<Metadata>
<EntityExtension>
<name>CATEGORY</name>
<label>Category</label>
<description>Category</description>
<sequence>3</sequence>
<required>false</required>
<status>RELEASED</status>
<DatatypeDefined>
<code></code>
<type>VALUESET</type>
<label></label>
<description></description>
<multiValue>false</multiValue>
<classification></classification>
<maxLength>0</maxLength>
<definedValues>0</definedValues>
<businessEntity xsi:nil=”true”/>
<dateRangeRestricted>false</dateRangeRestricted>
<dayTypeRestricted>false</dayTypeRestricted>
<dayOfWeekRestricted>false</dayOfWeekRestricted>
<currencyRestricted>false</currencyRestricted>
<numericRangeRestricted>false</numericRangeRestricted>
<uomTypeRestricted>false</uomTypeRestricted>
<uomRestricted>false</uomRestricted>
<organisationHierarchyType></organisationHierarchyType>.
<Restrictions>
<ValueSetValues>
<description>Premium</description>
<label>Premium</label>
<value>1</value>
</ValueSetValues>
<ValueSetValues>
<opis>Ultra</opis>
<label>Ultra</label>
<value>2</value>
</ValueSetValues>
<NumericValues/>
</Restrictions>
</DatatypeDefined>
</EntityExtension>
</Metadata>
</EntityExtensionSet>
</semiramis>
Funkcje specjalne podczas eksportowania metadanych Inne pola
Podczas eksportowania dodatkowych pól za pomocą filtra dla jednostki biznesowej Lista zdefiniowanych przez uzytkownika pól, parametrów i cech (com.cisag.app.general.extension.obj.EntityExtensionSet) eksportowane są tylko metadane Inne pola dla określonego obiektu biznesowego. Dane użytkownika są eksportowane poprzez eksport określonego użytkownika.
Ograniczenie zawsze dotyczy wyłącznie jednego, konkretnego obiektu biznesowego. Jeżeli zachodzi potrzeba wyeksportowania wszystkich Innych pól znajdujących się w systemie, eksport należy przeprowadzić oddzielnie dla każdego dostępnego obiektu biznesowego.
Dane meta/użytkownika związane z instancją
Podczas wymiany danych zależnych od instancji dla pól zdefiniowanych przez użytkownika import i eksport metadanych oraz danych użytkowych odbywa się zawsze łącznie, za pośrednictwem aplikacji, w której dane pola są wykorzystywane. Zależne od instancji pola zdefiniowane przez użytkownika są stosowane w następujących aplikacjach:
-
Zasoby
-
Grupy zasobów
-
Operacje
-
Listy zasobów
Należy rozróżnić, czy referencjonowane są typy pól, czy też metadane są podawane bezpośrednio. W przypadku wskazania typu pola następuje odwołanie do już istniejących typów pól, które zostały zdefiniowane w aplikacji Rodzaje pól. W pliku XML tworzony jest wówczas osobny znacznik, który zawiera niezbędne informacje umożliwiające rozwiązanie tej referencji.
<Datatype>
<code>100</code>
<type>VALUESET</type>
</datatype>
W tym przypadku typ pola jest określany kodem 100. Dotyczy to metadanych. Dane użytkownika są zdefiniowane w znaczniku <Value>.
<Value> <code></code> <date> <timeStamp xsi:nil="true"/> <timeZone xsi:nil="true"/> </date> <time> <timeStamp xsi:nil="true"/> <timeZone xsi:nil="true"/> </time> <string></string> <decimal>0</decimal> <quantity xsi:nil="true"/> <domesticAmount xsi:nil="true"/> <foreignAmount xsi:nil="true"/> <_organisation xsi:nil="true"/> <_conversionDate xsi:nil="true"/> <valueSet>26"</valueSet> </value>
Jeśli nie ma odniesienia do rodzaju pola, wszystkie atrybuty metadanych są określone w znaczniku <DatatypeDefined>. Struktura tego znacznika jest opisana w rozdziale Rodzaje danych (Datatype). Znacznik <Value> jest również tworzony dla danych użytkownika. Procedura importu/eksportu jest opisana w artykule dotyczącym konkretnej aplikacji.
<DatatypeDefined> <code></code> <type>VALUESET</type> <label></label> <description></description> <multiValue>false</multiValue> <classification></classification> <maxLength>0</maxLength> <definedValues>0</definedValues> <businessEntity xsi:nil="true"/> <dateRangeRestricted>false</dateRangeRestricted> <dayTypeRestricted>false</dayTypeRestricted> <dayOfWeekRestricted>false</dayOfWeekRestricted> <currencyRestricted>false</currencyRestricted> <numericRangeRestricted>false</numericRangeRestricted> <uomTypeRestricted>false</uomTypeRestricted> <uomRestricted>false</uomRestricted> <organisationHierarchyType></organisationHierarchyType>. <Restrictions> <ValueSetValues> <description>J</description> <label>Tak</label> <value>1</value> </ValueSetValues> <ValueSetValues> <opis>N</opis> <label>Nie</label> <value>2</value> </ValueSetValues> <NumericValues/> </Restrictions> </DatatypeDefined>
Metadane/użycie niezależne od instancji
Metadane niezależne od instancji odnoszą się do następujących aplikacji:
- Artykuły
- Partnerzy
- Dokumenty
- Cechy artykułu
W przypadku wyeksportowanych danych dla obiektu biznesowego com.cisag.app.production.obj.ProductionPlanDetail i zmienionych parametrów zasobu, importowane są tylko dane użytkownika, ponieważ metadane są zdefiniowane w instancji wyższego poziomu.
Szczegółowe informacje
Nowe rodzaje pól
Podczas importu Innych pól należy zwrócić uwagę na następujące kwestie:
Metadane Innych pól są importowane i eksportowane za pomocą filtra eksportu dla obiektu biznesowego Lista zdefiniowanych przez uzytkownika pól, parametrów i cech (com.cisag.app.general.extension.obj.EntityExtensionSet).
Jeżeli w sekcji filtra występuje odwołanie do innego obiektu biznesowego, odbywa się to poprzez relację klucza obcego. W takim przypadku w relacji tej atrybuty klucza obcego są automatycznie wstępnie wybierane przez system. Wybór ten jest również niezbędny do prawidłowego importu i powinien być zmieniany wyłącznie w wyjątkowych przypadkach. Dalsze informacje na temat tych relacji znajdują się w poszczególnych rozdziałach dotyczących atrybutów: Przegląd: Atrybuty.
Zmiany dokonywane za pomocą importu są możliwe wyłącznie wtedy, gdy nie uniemożliwiają ich mechanizmy kontroli.
Przegląd: Atrybuty
W tej sekcji wymieniono atrybuty dostępne do importowania pól zdefiniowanych przez użytkownika. Odpowiednia nazwa relacji jest również uwzględniona dla atrybutów klucza obcego. Atrybuty mogą podlegać zmianom i mogą być rozszerzane przez dostosowania.
Rodzaje pól
Rodzaje danych (Datatype)
| Atrybut | Relacja klucza obcego | Objaśnienie |
| code (K) | Rodzaj pola. | |
| type | Rodzaj pola. Rodzaje są zapisywane jako wartość typu Short. Dostępne są następujące wartości:
|
|
| label | Nazwa pola | |
| description | Opis pola | |
| multiValue | FALSE – jeżeli w polu zdefiniowanym przez użytkownika można wybrać tylko jedną wartość.TRUE – jeżeli można wybrać wiele wartości. | |
| classification | Opis klasyfikacji (uzupełniane tylko wtedy, gdy rodzaj pola to CLASSIFICATION – klasyfikacja). Uwaga Podawana jest jednoznaczna nazwa klasyfikacji zdefiniowanej przez użytkownika. Musi ona być wcześniej zaimportowana (com.cisag.app.general.extension.obj.EntityExtensionHierarchy). |
|
| maxLength | Maksymalna długość pola.Istotne wyłącznie dla typów tekstowych (STRING, EMAIL oraz URL). | |
| definedValues | Liczba zdefiniowanych wartości wyboru. Istotne tylko dla typu Pole wyboru. | |
| businessEntity | Odwołanie do wybranego obiektu biznesowego(uzupełniane tylko, gdy rodzaj pola to BUSINESSOBJECT) | Dla typu obiekt biznesowy zapisywany jest identyfikator Class-GUID wybranego obiektu biznesowego. |
| organizationHierarchyType | Typ organizacji wymagany przez rodzaj pola.Istotne wyłącznie dla typu obiekt biznesowy. Dostępne wartości:
|
Ograniczenia
Dla każdego rodzaju pola można zdefiniować ograniczenia dotyczące dozwolonych wartości. Umożliwia to na przykład dopuszczenie tylko podzbioru zdefiniowanych wartości dla pola typu Pole wyboru. Rodzaj ograniczenia zależy od typu pola.
Rodzaje pól i ich opcje ograniczeń
W zależności od rodzaju pola można zdefiniować różne ograniczenia. Poniższa tabela zawiera przegląd rodzajów pól i możliwych ograniczeń.
| Typ pola | Ograniczenie |
| Tekst | Długość |
| Długość | |
| URL | Długość |
| Data | Dzień tygodnia, typ dnia kalendarza roboczego, zakres dat(DayTypeValues, DayOfWeekValues, DateRangeValues) |
| Data i godzina | Dzień tygodnia, typ dnia kalendarza roboczego, zakres czasu(DayTypeValues, DayOfWeekValues, DateRangeValues) |
| Klasyfikacja | Klasyfikacja |
| Kwota | Waluta, zakres wartości (CurrencyValues, NumericRangeValues) |
| Cena | Waluta, zakres wartości (CurrencyValues, NumericRangeValues) |
| Kwota w walucie krajowej | Zakres wartości (NumericRangeValues) |
| Cena w walucie krajowej | Zakres wartości (NumericRangeValues) |
| Liczba dziesiętna | Zakres wartości (NumericRangeValues) |
| Ilość | Typ jednostki, jednostka, zakres wartości (UomTypeValues, UomValues, NumericRangeValues) |
| Pole wyboru | Lista wartości (ValueSetValues) |
| Obiekt biznesowy | — |
| Tekst długi | — |
Dozwolone wartości w polu wyboru (AllowedValueSetValues)
W konfiguracji produktu pola typu Pole wyboru mogą być ograniczone do określonych dozwolonych wartości wyboru. Na przykład typ pola Kolor można zdefiniować z następującymi wartościami: Czerwony, Żółty, Zielony, Niebieski. Z ograniczeniem, prawidłowy wybór może być ustawiony na Czerwony i Niebieski.
| Atrybut | Objaśnienie |
| value | Numeracja dozwolonej wartości wyboru (szczegóły w rozdziale: Lista wartości (ValueSetValues)) |
Lista wartości (ValueSetValues)
Lista wartości zawiera wartości pola typu Pole wyboru. Wartości są określane dla użytkownika, który może następnie wybrać dokładnie jedną wartość w polu.
<ValueSetValues>
<description>26″</description>
<label>26-calowy rozmiar ramy</label>
<value>1</value>
</ValueSetValues>
| Atrybut | Objaśnienie |
| description | Opis |
| label | Nazwa |
| value | Numeracja pola |
Waluta (CurrencyValues)
Waluty mogą być wprowadzane jako dozwolone wartości dla typów pól Amount i Price. W polu zdefiniowanym przez użytkownika można wybrać tylko te waluty.
<CurrencyValues>
<Currency>EUR</Currency>
</CurrencyValues>
| Atrybut | Objaśnienie |
| Currency | Kod ISO waluty (klucz biznesowy waluty) |
Zakres dat (DateRangeValues)
Zakres dat zawsze składa się z daty początkowej, która definiuje dolną granicę zakresu dat, oraz daty końcowej, która definiuje górną granicę zakresu dat.
<DateRangeValues>
<type>AFTER</type>
<dateFrom>2005-09-20T22:00:00.000Z</dateFrom>
<dateUntil>2005-09-23T22:00:00.000Z</dateUntil>
<_timeZone>CET</_timeZone>
</DateRangeValues>
Dni tygodnia (DayOfWeekValues)
Ograniczenia dotyczące dni tygodnia pozwalają użytkownikowi określić wybór dni tygodnia, które są następnie dostępne w zdefiniowanym przez użytkownika polu rodzaju Date.
<DayOfWeekValues>
<dayOfWeek>SUNDAY</dayOfWeek>
</DayOfWeekValues>
| Atrybut | Objaśnienie |
| dayOfWeek | Dzień tygodnia. Dopuszczalne wartości:
|
Typy dni (DayTypeValues)
Określony typ dnia jest określany za pomocą relacji klucza obcego (DayType). Typy dni są zdefiniowane w kalendarzu firmowym. Wybrana data musi przypadać na dzień tygodnia odpowiadający typowi dnia.
<DayTypeValues>
<DayType>10</DayType>
</DayTypeValues>
| Atrybut | Objaśnienie |
| DayType | Odwołanie do określonego typu dnia (aplikacja Rodzaje dni kalendarza firmowego) |
Unit (UomValues)
Relacja Uom odnosi się do prawidłowej jednostki miary.
<UomValues>
<Uom>cm</Uom>
</UomValues>
| Atrybut | Objaśnienie |
| Uom | Identyfikacja dozwolonej jednostki. |
Typ jednostki (UomTypeValues)
Ograniczenie do typu jednostki, np. (długość, objętość, gęstość, masa, …).
<UomTypeValues>
<uomType>LENGTH</uomType>
</uomTypeValues>
| Atrybut | Objaśnienie |
| uomType | Typ jednostki:
|
Zakres wartości (NumericRangeValues)
Zakresy wartości można definiować dla niektórych rodzajów pól.
<NumericValues>
<NumericRange>
<lowerLimit>0</lowerLimit>
<lowerRelOp>GREATER_EQUAL</lowerRelOp>
<upperLimit>10.000000</upperLimit>
<upperRelOp>LESS_EQUAL</upperRelOp>
</NumericRange>
</NumericValues>
| Atrybut | Objaśnienie |
| numericRangeSet | Identyfikacja techniczna |
| NumericRange.lowerLimit | Dolna granica |
| NumericRange.lowerRelOp | Operator relacyjny dla dolnej granicy. Dopuszczalne wartości:
|
| NumericRange.upperLimit | Górna granica |
| NumericRange.upperRelOp | Operator relacyjny dla górnej granicy.
Dopuszczalne wartości:
|
Wartości domyślne (DefaultValues)
Wartości domyślne można zdefiniować dla typu pola w aplikacji Rodzaje pól. W przypadku pola zdefiniowanego przez użytkownika, które jest oparte na typie pola, w którym zdefiniowano wartość domyślną, wartość ta jest następnie wyświetlana jako wartość początkowa. Ma to zastosowanie tylko do momentu zmiany zawartości pola przez użytkownika. Można także zdefiniować kilka wartości domyślnych dla rodzaju pola. W tym celu należy aktywować funkcję Lista wartości (w aplikacji Rodzaje pól.). Wartości dla klasyfikacji i obiektów biznesowych nie mogą być eksportowane ani importowane.
Poniższa tabela opisuje poszczególne atrybuty, które są dostępne podczas eksportowania typów pól. Pola identyfikacyjne i obowiązkowe/kluczowe są oznaczone symbolem „(K)”.
| Atrybut | Objaśnienie |
| code (K) | Sekwencja: istotne dla wartości wielokrotnych. |
| date.timeStamp | Wartość daty: istotne dla typu Data |
| date.timeZone | Wartość daty: istotne dla typu Data |
| time.timeStamp | Wartość czasu: istotne dla typu Data i godzina |
| time.timeZone | Wartość czasu: istotne dla typu Data i godzina |
| string | Wartość tekstowa: istotne dla typów URL, E-mail oraz Tekst |
| Decimal | Wartość dziesiętna: istotne dla typu Liczba dziesiętna |
| quantity.amount | Wartość ilościowa: istotne dla typu Ilość |
| quantity.uom | Jednostka (GUID) wartości ilościowej: istotne dla typu Ilość |
| quantity.Uom | Jednostka (klucz biznesowy) wartości ilościowej: istotne dla typu Ilość |
| domesticAmount.amount1 | Wartość w walucie krajowej: istotne dla typu Kwota/Cena w walucie krajowej |
| domesticAmount.currency1 | — |
| domesticAmount.amount2 | — |
| domesticAmount.currency2 | — |
| domesticAmount.amount3 | — |
| domesticAmount.currency3 | — |
| domesticAmount.exact | — |
| domesticAmount.exactAmountIndex | — |
| domesticAmount.Currency1 | — |
| domesticAmount.Currency2 | — |
| domesticAmount.Currency3 | — |
| foreignAmount.amount | Wartość w walucie obcej: istotne dla typu Kwota/Cena |
| foreignAmount.currency | — |
| foreignAmount.Currency | — |
| _organization | Organizacja odniesienia dla wartości w walucie krajowej: istotne dla typu Kwota/Cena w walucie krajowej |
| _conversionDate | Data przeliczenia dla wartości w walucie krajowej: istotne dla typu Kwota/Cena w walucie krajowej |
| valueSet | Wartość wyboru: istotne dla typu Pole wyboru |
Określeni użytkownicy pól zdefiniowanych przez użytkownika
W tej sekcji opisano konkretnych użytkowników pól zdefiniowanych przez użytkownika oraz różne sposoby ich zastosowania. Opisuje przede wszystkim poszczególne atrybuty zapewniane przez filtr eksportu.
- Inne pola
- Użyj jako parametrów
- Użyj jako parametrów nadpisywalnych
Inne pola
Inne pola zdefiniowane przez użytkownika są używane w wielu aplikacjach. Jednym z przykładów jest aplikacja Artykuły. Wprowadzone w aplikacji inne pola to metadane niezależne od instancji. Metadane dotyczą wszystkich artykułów (instancji), a dane użytkownika tylko pojedynczej instancji.
Na potrzeby importu/eksportu należy zwrócić uwagę na następujące kwestie:
Właściwości pola są opisywane za pomocą metadanych. Metadane te mogą być importowane i eksportowane.
Pola muszą istnieć przed importem danych użytkowych.
W filtrze, w folderze EntityExtensions, wszystkie inne pola zdefiniowane w danej aplikacji są wyświetlane w postaci osobnych folderów. W zależności od typu innego pola dostępne są różne atrybuty. Filtr ten jest generowany w tle w sposób generyczny.
W poniższej tabeli zestawiono poszczególne typy innych pól oraz ich atrybuty, które są udostępniane w filtrze.
| Typ innego pola | Atrybut |
| Tekst | Wartość pola |
| Wartość pola | |
| URL | Wartość pola |
| Data | Znacznik czasu, strefa czasowa |
| Data i godzina | Znacznik czasu, strefa czasowa |
| Klasyfikacja | Ścieżka węzła |
| Kwota | Ilość, waluta |
| Cena | Ilość, waluta |
| Kwota w walucie krajowej | Kwota 1, kwota 2, kwota 3, wartość kwoty zakodowana bajtowo, indeks wartości dokładnej, waluta 1, waluta 2, waluta 3 |
| Cena w walucie krajowej | Kwota 1, kwota 2, kwota 3, wartość kwoty zakodowana bajtowo, indeks wartości dokładnej, waluta 1, waluta 2, waluta 3 |
| Liczba dziesiętna | Wartość pola |
| Ilość | Ilość, jednostka miary |
| Pole wyboru | Wybrana wartość pola wyboru |
| Obiekt biznesowy | W tym przypadku wyprowadzany jest kompletny klucz biznesowy wybranego obiektu biznesowego |
Zastosowanie jako parametr
Wykorzystanie pól zdefiniowanych przez użytkownika jako parametrów ma następujące konsekwencje: w przypadku parametrów dane meta oraz dane użytkowe są zależne od instancji. Podczas eksportu lub importu zawsze przetwarzane są oba rodzaje informacji: z jednej strony opis typów pól (metadane), a z drugiej strony zawartość pól (dane użytkowe).
Zasoby: Grupy zasobów: Operacja / lista zasobów:
ResourceParameter / ResourceUseParameter
GroupParameter / ResourceParameter / ResourceUseParameter
Parameters (parametry bazowe)
W poniższej tabeli wyszczególniono poszczególne atrybuty dostępne podczas eksportu rodzajów pól. Pola identyfikacyjne oraz pola obowiązkowe/kluczowe zostały oznaczone symbolem (K).
| Atrybut | Objaśnienie |
|---|---|
| Name | Nazwa pola (wyłącznie znaki alfanumeryczne, bez znaków specjalnych) |
| Label | Oznaczenie pola |
| Description | Opis pola (tooltip) |
| Sequence | Kolejność wyświetlania |
| Required | Oznaczenie pola obowiązkowego |
| Status | Ustawiane przez system, służy wyłącznie do celów informacyjnych |
| DatatypeDefined | Rodzaj pola jest definiowany dla tego pola i może być używany wyłącznie przez to pole. Szczegóły w rozdziale Rodzaje danych (Datatype). |
| Datatype | Rodzajpola jest zdefiniowany w aplikacji Rodzaje pól, w związku z czym w polu zapisywana jest wyłącznie referencja. Oznacza to, że typ pola musi istnieć w systemie przed importem. |
| Datatype.code (K) | Nazwa rodzaju pola |
| Datatype.type | Rodzaj typu pola. Szczegóły w rozdziale Rodzaje danych (Datatype). |
| Value | Dane użytkowe pola. Szczegóły w rozdziale Wartości domyślne (DefaultValues). |
Wykorzystanie jako parametry z możliwością nadpisania
Wykorzystanie pól zdefiniowanych przez użytkownika jako parametrów, które mogą być nadpisywane przez aplikację, podlega następującemu warunkowi: metadane są w tym przypadku zdefiniowane wyłącznie na poziomie instancji nadrzędnej (np. zasób – grupa zasobów).
Zasób: W tym przypadku parametry grupy mogą być nadpisywane. W operacji parametry zasobów oraz pozycji list zasobów mogą być nadpisywane. To samo dotyczy planu pracy – w tym przypadku parametry mogą być nadpisywane na poziomie pozycji operacji. Poniższa struktura jest dostępna w filtrze dla obiektu biznesowego ProductionPlan w sekcjach Details.Parameters oraz Details.GroupParameter.
GroupResourceParameter / GroupResourceUseParameter
W poniższej tabeli wyszczególniono poszczególne atrybuty.
| Atrybut | Objaśnienie |
| Name | Nazwa pola (wyłącznie znaki alfanumeryczne, bez znaków specjalnych) |
| Value | Dane użytkowe pola. Szczegóły w rozdziale Wartości domyślne (DefaultValues). |



