Import pól zdefiniowanych przez użytkownika

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:

  1. Otworzyć aplikację Import danych.

  2. 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.

  3. W razie potrzeby zduplikować istniejący filtr lub utworzyć nowy dla tego obiektu biznesowego.

  4. Wybrane atrybuty filtra są już zaznaczone. W razie potrzeby można je dostosować.

  5. Na standardowym pasku należy wybrać przycisk [Importuj dane]. Otwarte zostaje okno dialogowe Import danych.

  6. W oknie dialogowym możliwe jest wprowadzenie dodatkowych ustawień pliku importu. Import można uruchomić przyciskiem [W tle] lub [Natychmiast].

Przykład
Poniższy przykład XML przedstawia ogólną strukturę pliku eksportu dla typów pól. W przykładzie zaprezentowano eksport typu pola Pole wyboru.

<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.

Uwaga
Jeżeli podczas definiowania filtra eksportu atrybut deleteTime zostanie wyłączony, elementy listy oznaczone do usunięcia nie zostaną uwzględnione w pliku eksportu i tym samym nie będą dostępne podczas importu.

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:

  1. Otworzyć aplikację Import danych.

  2. 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.

  3. W razie potrzeby zduplikować istniejący filtr lub utworzyć nowy dla tego obiektu biznesowego.

  4. Wybrane atrybuty filtra są już zaznaczone. W razie potrzeby można je dostosować.

  5. Na standardowym pasku należy wybrać przycisk [Importuj dane]. Otwarte zostaje okno dialogowe Import danych.

  6. 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:

  1. Otworzyć aplikację Eksport danych.

  2. 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.

  3. W razie potrzeby zduplikować istniejący filtr lub utworzyć nowy dla tego obiektu biznesowego.

  4. Wybrane atrybuty filtra są już zaznaczone. W razie potrzeby można je dostosować.

  5. Przejść na zakładkę Ograniczenie, na której wyświetlone zostaną dostępne ustawienia.
  6. W polu Wyszukiwanie wybrać wymagany obiekt biznesowy.

  7. Na standardowym pasku należy wybrać przycisk [Eksportuj dane]. Otwarte zostaje okno dialogowe Eksport danych.
  8. 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.

Przykład
<?xml version=”1.0″ encoding=”UTF-8″?>

<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.

Przykład
Następuje eksport Innych pól artykułu sprzedażowego. Odpowiednie dane są eksportowane za pomocą filtra dla obiektu biznesowego Artykuł sprzedażowy (com.cisag.app.sales.obj.SalesItem).

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

Poniżej przedstawiono wskazówki dotyczące następujących zagadnień:

Nowe rodzaje pól

Nowe rodzaje pól mogą zostać utworzone w wyniku importu. Przykładowy plik XML do importu znajduje się w tym rozdziale: Rodzaje pól.

Nowe domyślne rodzaje pól to rodzaje pól, które np. zostały zdefiniowane w zasobie (parametry). Mogą one zostać utworzone przez system w trakcie importu dla konkretnej aplikacji (w tym przypadku: zasobów). Są one jednak zależne od instancji i obowiązują wyłącznie dla importowanej instancji.

Nowe rodzaje pól jawnych importu, np. zasobu, może zostać użyte odwołanie do typu pola. W takim przypadku dany typ pola musi już wcześniej istnieć w systemie. Import rodzajów pól powinien być wówczas zakończony przed wykonaniem tego importu.

Nowe dane użytkowe w przypadku domyślnych rodzajów pól dane użytkowe są importowane bezpośrednio wraz z nimi. Odbywa się to w ramach importu dla konkretnej aplikacji. W przypadku eksplicytnych typów pól dane użytkowe mogą zostać zaimportowane wyłącznie wtedy, gdy metadane są już dostępne w systemie (np. Inne pola).

Wykaz atrybutów znajduje się w rozdziale: Przegląd: Atrybuty.

Cechy szczególne podczas importowania Innych 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)

Obiekt biznesowy Datatype opisuje właściwości pola zdefiniowanego przez użytkownika. W poniższej tabeli pola identyfikacyjne oraz pola obowiązkowe/kluczowe zostały oznaczone symbolem „(K)”.

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:

  • STRING – tekst
  • EMAIL – adres e-mail
  • URL – Uniform Resource Locator (URL)
  • DATE – data
  • TIME – data i godzina
  • CLASSIFICATION – klasyfikacja
  • FOREIGNAMOUNT – kwota
  • FOREIGNPRICE – cena
  • DOMESTICAMOUNT – kwota w walucie krajowej
  • DOMESTICPRICE – cena w walucie krajowej
  • DECIMAL – liczba dziesiętna
  • QUANTITY – ilość
  • VALUESET – pole wyboru
  • BUSINESSOBJECT – obiekt biznesowy
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:

  • COSTING
  • EXTERNAL – zewnętrzny
  • SALES – sprzedaż
  • FINANCIALS – księgowość
  • INVENTORY – logistyka
  • PURCHASING – zakupy
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ść
E-mail 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.

Przykład

<ValueSetValues>

<description>26″</description>

<label>26-calowy rozmiar ramy</label>

<value>1</value>

</ValueSetValues>

Atrybut Objaśnienie
description Opis
label Nazwa
value Numeracja pola
Uwaga
Pola są numerowane w kolejności, w jakiej zostały zdefiniowane.
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.

Przykład

<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.

Przykład

<DateRangeValues>

<type>AFTER</type>

<dateFrom>2005-09-20T22:00:00.000Z</dateFrom>

<dateUntil>2005-09-23T22:00:00.000Z</dateUntil>

<_timeZone>CET</_timeZone>

</DateRangeValues>

Atrybut Objaśnienie
type Typ zakresu daty. Dopuszczalne są następujące wartości:

  • BEFORE – przed datą
  • AFTER – po dacie
  • BETWEEN – pomiędzy dwiema datami
dateFrom Data początkowa zakresu
dateUntil Data końcowa zakresu
_timeZone Strefa czasowa
Uwaga
Atrybuty dateFrom i dateUntil muszą być identyczne dla typu przed i po dacie.
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.

Przykład

<DayOfWeekValues>

<dayOfWeek>SUNDAY</dayOfWeek>

</DayOfWeekValues>

Atrybut Objaśnienie
dayOfWeek Dzień tygodnia. Dopuszczalne wartości:

  • MONDAY – poniedziałek
  • TUESDAY – wtorek
  • WEDNESDAY – środa
  • THURSDAY – czwartek
  • FRIDAY – piątek
  • SATURDAY – sobota
  • SUNDAY – niedziela
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.

Przykład

<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.

Przykład

<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, …).

Przykład

<UomTypeValues>

<uomType>LENGTH</uomType>

</uomTypeValues>

Atrybut Objaśnienie
uomType Typ jednostki:

  • LENGTH dla długości
  • VOLUME dla objętości
  • DENSITY dla gęstości
  • MASS dla masy
  • TIME dla czasu
  • OTHER dla wszystkich jednostek handlowych
Zakres wartości (NumericRangeValues)

Zakresy wartości można definiować dla niektórych rodzajów pól.

Przykład

<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:

  • EQUAL – równe
  • UNEQUAL – nierówne
  • LESS_THAN – mniejsze niż
  • GREATER_THAN – większe niż
  • LESS_EQUAL – mniejsze lub równe
  • GREATER_EQUAL – większe lub równe
NumericRange.upperLimit Górna granica
NumericRange.upperRelOp Operator relacyjny dla górnej granicy.

Dopuszczalne wartości:

  • EQUAL – równe
  • UNEQUAL – nierówne
  • LESS_THAN – mniejsze niż
  • GREATER_THAN – większe niż
  • LESS_EQUAL – mniejsze lub równe
  • GREATER_EQUAL – większe lub równe
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
E-mail 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).

Przykład

Zasoby:
ResourceParameter / ResourceUseParameter

Grupy zasobów:
GroupParameter / ResourceParameter / ResourceUseParameter

Operacja / lista zasobów:
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).

Przykład

Zasób:
GroupResourceParameter / GroupResourceUseParameter

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.

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).

Czy ten artykuł był pomocny?