Wstęp
Atrybuty stanowią dodatkowy opis kontrahentów, transakcji, dokumentów i innych obiektów rejestrowanych w systemie Comarch ERP XL. Dzięki temu są znakomitym narzędziem służącym dokładnemu zdefiniowaniu obiektów i wyróżnieniu ich spośród wielu innych znajdujących się w systemie, a to sprzyja analizie tych obiektów. Dzięki mechanizmowi kopiowania atrybutów funkcjonalność ta ma bardzo szerokie zastosowanie niezależnie od dziedziny jaką zajmuje się firma.
Poniżej przedstawiono podstawowe informacje odnośnie atrybutów oraz opis funkcjonalności związanych z ich działaniem w systemie.
Atrybuty definiuje się w module Administrator/Narzędzia/Atrybuty. Najpierw definiuje się klasy atrybutów, a następnie można (ale nie jest to wymagane) przypisać wartość dla takiej klasy. Ponadto klasy atrybutów mogą być grupowane. W sytuacji, gdy jest kilka klas atrybutów, którymi można opisać dany obiekt, wtedy zamiast przypisywać kolejno klasy do obiektu, można przypisać daną grupę, obejmującą wymagane klasy.
Definiowanie atrybutów
Na wszystkich obiektach, na których znajdują się atrybuty, klasy atrybutów wyświetlane są w lewej części okna, natomiast wartości atrybutów w prawej. Aby mogły być wykorzystane na poszczególnych obiektach, należy je do nich przypisać. Odbywa się to w oknie: Definicja atrybutów, na zakładce Obiekty. Jedna klasa atrybutu może być dodawana do kilku obiektów.
Od wersji 2017.0 Systemu Comarch ERP XL na zakładce Atrybuty dostępnej dla danego obiektu czy dokumentu wyświetlany jest dodatkowy panel prezentujący listę grup, do których przypisane są klasy atrybutów dodane do tego obiektu lub dokumentu. Jeżeli dla danego obiektu dodana zostanie klasa atrybutu, wówczas po lewej stronie automatycznie zostanie wyświetlona nazwa grupy, do której ta klasa jest przypisana, nie ma tu znaczenia czy dana grupa atrybutów jest powiązana z danym rodzajem obiektu, czy nie.
Klasa atrybutu ‘data ‘przypisana jest do obiektu [Towary].[Wzorce towarowe].[Towar] i jednocześnie do grupy atrybutów ‘Właściwości’ i ‘Ważne do’. Grupa ta nie jest przypisana do obiektu [Towary].[Wzorce towarowe].[Towar]. Atrybut na obiekcie docelowym [Towar] prezentowany jest jak poniżej mimo że grupy ‘Właściwości’ i ‘Ważne do’ nie są bezpośrednio związane z obiektem [Towar], są prezentowane z uwagi na to, że klasa atrybutu ‘data’ została do nich przypisana.
Jeżeli klasa atrybutu jest przypisana do kilku grup, wówczas zostanie wyświetlona w kontekście każdej grupy, zawsze z jedną przypisaną jej wartością. Jeżeli jednak klasa atrybutu nie jest przypisana do żadnej grupy, będzie prezentowana tylko w kontekście wszystkich atrybutów (grupa Wszystkie).
Listę klas atrybutów można wyświetlać zbiorczo (grupa Wszystkie) oraz po zawężeniu do danej grupy. Użytkownicy nie korzystający z grup atrybutów mogą ukryć nowo dodany panel tak, aby zachowany był dotychczasowy widok zakładki Atrybuty.
Obiekty jako atrybuty
System ERP XL umożliwia przypisanie do wybranych obiektów atrybutów w postaci innych obiektów. np.: kontrahenta, towaru, pracownika, konta, noty memoriałowej, środków trwałych, dokumentu (handlowego, magazynowego, importowego), zamówienia, oferty, zlecenia (produkcyjnego, kompletacji, dekompletacji, serwisowego, remontowego), technologii, danych binarnych bądź do obiektu wskazanego zapytaniem SQL’owym.
Typy atrybutów
Typ atrybutów można wybrać spośród listy rozwijalnej – jest do wyboru typ: tekst, flaga, liczba, lista, adres URL, SQL (SQL Obiektowy – przy jego pomocy zapisywana jest do tabeli Atrybuty nie tylko informacja typu tekstowego (Atr_Wartosc), ale także wskazanie na dowolny obiekt XLowy (czyli wypełnienie pól Atr_OBIGID)) oraz wszystkie te, które zostały wymienione w poprzednim pkt. Poza tym wśród najważniejszych zmian w tym zakresie należy wymienić: przypisanie do obiektu atrybutu, który jest innym obiektem – prezentuje to poniższy przykład:
Zarejestrowano kartę towaru. Towar ma charakter zabytkowy i wymaga opieki konserwatora. Ze względu na unikalność towaru i niezbędną specjalizację konserwatora, zachodzi potrzeba wskazania dla towaru podmiotu, który może dokonywać odpowiednich czynności. W tym celu należy:
– Zdefiniować klasę atrybutu: Konserwator (moduł Administrator, okno Definicja atrybutów, zakładka Klasa atrybutów), typ Kontrahent
– Przypisać klasę atrybutu do obiektu: Towar (moduł Administrator, okno Definicja atrybutów, zakładka Obiekty)
– Na karcie towaru (o charakterze zabytkowym), na zakładce Atrybuty, przypisać klasę atrybutu: Konserwator i po naciśnięciu przycisku: wybrać wartość – nazwę/nazwisko konserwatora (kontrahenta).
W ten sposób dla obiektu: towar, zostanie przypisany atrybut, który również jest obiektem (kontrahent).
Format atrybutu
Atrybuty mogą być zdefiniowane w wybranym przez Użytkownika formacie. Dostępne są warianty:
- Tekst – atrybut, którego wartość będzie wyrażona dowolnym tekstem 256 – znakowym
- Data – atrybut, którego wartość będzie wyrażona jako data w kolejności: rok – miesiąc – dzień/dzień - miesiąc - rok
- 1234 – atrybut, którego wartość będzie wyrażona jako liczba całkowita
- 1234.56 – atrybut, którego wartość będzie wyrażona jako liczba z dwoma miejscami po przecinku
- 1234,5678 – atrybut, którego wartość będzie wyrażona jako liczba z czterema miejscami po przecinku
- (*) Zaawansowany – po wybraniu tego formatu, do edycji zostanie udostępnione pole dla opisywania atrybutów w formacie clarionowym. (Wybranie jednego z wyżej wymienionych formatów spowoduje wypełnienie tego pola wartością domyślną, niedostępną do edycji). Format: Zaawansowany, sprzyja dużej elastyczności atrybutu, który może zostać określony wartościami przydatnymi dla konkretnego Użytkownika.
Postać, w jakiej będzie wyrażony atrybut, będzie zależała od wybranego formatu. Poniżej przedstawiono przykład przypisania do obiektu: Kontrahent, atrybutu w formacie: Data.
Dla obiektu: Kontrahent, przypisano atrybut o nazwie ''DATA''. Atrybut ten jest zdefiniowany w formacie: Data.
Po przypisaniu do kontrahenta klasy atrybutu:'' DATA'', w kolumnie: Wartość atrybutu, możliwe będzie wpisanie jedynie daty w polach: dzień - miesiąc – rok
Lista wartości atrybutów
Klasie atrybutu może zostać przyporządkowana lista wartości, które będą określały konkretny obiekt. Lista ta może mieć charakter:
- zamknięty
- otwarty
Zamknięty charakter listy oznacza, że na obiekcie możliwy będzie wybór wartości atrybutu jedynie ze zdefiniowanej uprzednio listy. Uniemożliwi on określenie wartości w ramach klasy atrybutu, poprzez jej zdefiniowanie na obiekcie.
Jeżeli lista wartości ma charakter otwarty, wtedy po przypisaniu klasy atrybutu do obiektu możliwe będzie nadanie jakiejkolwiek wartości do przypisanej klasy.
Stosowanie listy zamkniętej ma zastosowanie w sytuacji, gdy wartości dla klasy danego atrybutu mają charakter ściśle określony, wyznaczony np. normami ustalonymi przez regulamin firmy. Zastosowanie wtedy listy zamkniętej, uchroni przed wprowadzeniem ewentualnych błędnych zapisów na obiekcie.
Lista otwarta będzie miała zastosowanie bardziej powszechne, umożliwiając opisanie obiektu w sposób szczegółowy, w odniesieniu do konkretnej sytuacji, okoliczności itp. Wskazane jest, aby tam, gdzie nie jest to konieczne, nie stosować listy zamkniętej, gdyż może to ograniczyć funkcjonalność atrybutów.
Aby lista wartości atrybutów miała charakter zamknięty, należy w definicji klasy atrybutu zaznaczyć parametr: Lista zamknięta, który zostanie uaktywniony po wybraniu typu atrybutu: Lista.
Wartości dla takiego atrybutu określa się w oknie: Definicja atrybutów, na zakładce: Klasy atrybutów, po naciśnięciu przycisku: [Dodaj wartość.]
Atrybuty wielowartościowe
Zdarzają się sytuacje, gdzie dany atrybut może przyjmować wiele wartości. Można wtedy wykorzystać opcję: Wielowartościowy. Jeśli zostanie określony typ jako Lista, wtedy można obsłużyć np. sytuację taką, że chcemy zapisywać odbyte przez pracownika szkolenia. W przypadku, gdy oferta szkoleniowa jest szeroka, trudno dla każdego z dostępnych szkoleń definiować osobną klasę atrybutu i określać jego wartość jako „tak” lub „nie”. W takim przypadku najlepszym rozwiązaniem jest postąpić następująco:
- założyć klasę atrybutu „szkolenia”
- określić typ Lista (może być w szczególnym przypadku listą zamkniętą)
- zaznaczyć opcję: Wielowartościowy
- dodać wartości tego atrybutu – nazwy szkoleń
- atrybut ten dołączyć do obiektu Pracownicy
Na pracowniku będzie można wybrać spośród całej listy szkoleń, te w których on uczestniczył.
Atrybuty okresowe
Zaznaczając na klasie atrybutu parametr: Okresowy, uzyskamy taką sytuację, że na obiekcie, do którego jest dodany ten atrybut, będzie można określić kilka wartości atrybutu w danych okresach czasu. Przy czym kontrolowane jest, aby zakresy dat były rozdzielne.
Wartość domyślna atrybutów
Definiując klasę atrybutu można ustalić jego wartość domyślną. Wartość ta będzie podpowiadana za każdym razem, gdy wybrany atrybut będzie przypisywany do danego obiektu. Możliwa jest modyfikacja wartości tego atrybutu.
Wartość dla operacji wsadowych
Wartość dla operacji wsadowych jest niezbędna przy atrybutach wymaganych (więcej informacji w rozdziale: Atrybuty wymagane).
Wartość wsadowa jest wprowadzana wszędzie tam, gdzie program nie będzie mógł wymusić wprowadzenia wartości dla atrybutu, a atrybut ten będzie wymagany.
W odróżnieniu od powyższej sytuacji, wygenerowanie faktury ręcznie spowoduje, że na element faktury zostanie przypisany atrybut wymagany ze „zwykłą” wartością domyślną.
Zestaw znaków dla atrybutów
Wartość atrybutu może być wyrażona w jednym ze zdefiniowanych w systemie zestawu znaków. Wybór zestawu znaków jest możliwy, jeżeli wybrano typ atrybutu:
- Tekst
- Lista
- SQL
- SQL obiektowy
- Adres URL
Zestaw znaków wskazuje alfabet, w jakim określona będzie wartość atrybutów. Funkcja ta może być wykorzystana np. w sytuacjach, gdy dokonywane są transakcje międzynarodowe lub obrót towarami pochodzenia zagranicznego. Umożliwiają określenie cech, zdefiniowanych przez producenta danego towaru, które z różnych przyczyn nie mogą zostać przetłumaczone bezpośrednio na język polski (np. oznaczenie modelu danego towaru).
Należy zwrócić uwagę, aby przy wyborze danego zestawu znaków, została odpowiednio skonfigurowana klawiatura, co umożliwi wykorzystanie wybranych w atrybucie znaków.
Atrybuty wymagane
Obiekty w ERP XL mają pola wymagane i opcjonalne. Wypełnienie pól wymaganych jest niezbędne dla zarejestrowania danego obiektu w systemie. Pola wymagane są zdefiniowane w systemie i ta ich cecha nie podlega modyfikacji przez Użytkownika. Użytkownik może jednak zdefiniować dodatkową cechę na wybranych obiektach, która będzie musiała zostać określona, aby można było zarejestrować ten obiekt. Cechami takimi są atrybuty.
Dla obiektu: Kontrahent, ma być zawsze określana branża, w jakiej ma on specjalizację. Branżę taką określać może atrybut: Branża, zdefiniowany przez Użytkownika. Dla pewności, że branża kontrahenta będzie zawsze określana przy jego rejestracji, należy nadać temu atrybutowi cechę wymagalności. Dzięki temu nie będzie możliwe zapisanie karty kontrahenta bez wskazania jego branży. Aby atrybuty były wymagane, należy w definicji klasy atrybutu:
- zaznaczyć parametr: Wymagany,
- zaznaczyć parametr: Automat, co spowoduje, że atrybut zostanie automatycznie przypisany do obiektu podczas dodawania nowego obiektu,
- w polu: Dla operacji wsadowych, wpisać wartość klasy atrybutu dla operacji wsadowych. Niemożliwe będzie zapisanie klasy atrybutu (wymaganej), która nie będzie miała wprowadzonej tej wartości (zostanie wyświetlony odpowiedni komunikat).
Atrybut wymagany odznacza się następującymi cechami:
- Przypisanie klasy atrybutu z zaznaczonym parametrem: Wymagany, do wybranego obiektu, spowoduje, że atrybut ten będzie wymagany, przy rejestrowaniu obiektu (zapisywaniu), do którego został on przypisany.
- Nie jest możliwe usunięcie atrybutu wymaganego z obiektu z zaznaczonym parametrem Automat, do którego został przypisany.
Atrybut wymagany, na liście atrybutów oraz na wybranym obiekcie będzie wyświetlony w kolorze czerwonym
Atrybuty Business Intelligence
Atrybut Business Intelligence to taki, który na definicji ma zaznaczone pole: BI. Na podstawie tych atrybutów, DTS - y będą konstruować wymiary analityczne, w oparciu o które, możliwe będzie tworzenie raportów i analizowanie danych na podstawie tych atrybutów.
Atrybuty historyczne
Atrybut historyczny, to atrybut z zaznaczonym parametrem: Historia. Zaznaczony parametr umożliwia podgląd historycznych wartości atrybutów przypisanych do obiektów. Jeżeli do obiektu przypisano atrybut historyczny: A z wartością: a, a następnie (po zapisaniu i ponownej edycji) zmieniono jego wartość na: b, wtedy, możliwe jest wybranie z menu kontekstowego, otwieranego prawym przyciskiem myszy funkcji:
- Historia atrybutu lub
- Historia atrybutu obiektu.
Parametr klasy atrybutu dla wskazanego typu obiektu
Niektóre parametry, uległy rozdzieleniu. Jeden atrybut może być przypięty do kilku obiektów. Można określić, dla którego obiektu jakie ustawienia mają obowiązywać. Lista opcji poniżej:
- Wymagany
- Automat
- Tylko do odczytu
Dopuszczalna może być sytuacja, że parametry na typie obiektu będą inne niż na samej klasie atrybutu.
Okno otwierane z poziomu klasy atrybutu przypiętej do obiektu zawiera wspomniane wyżej parametry zaprezentowane w sposób podobny jak poniżej: Opcja Wymagany/Automat/Tylko do odczytu jest nieaktywna, jeżeli jest zaznaczone radio wg klasy atrybuty – oznacza to, że ta opcja jest „dziedziczona” z klasy atrybutu.
Zakładka Tłumaczenia
Ideą zakładki tłumaczenia jest przedstawienie Nazwy i Opisu danej Klasy atrybut w dowolnym języku obcym wybieranym ze składnika kategorii.
Aby nazwę i opis Klasy atrybutu móc pisać w obcym alfabecie np. rosyjskim należy na karcie Operatora zaznaczyć parametr: Przełączanie wersji językowej. Dalsze wykorzystanie informacji zapisanych na zakładce Tłumaczenia będzie w aplikacjach web’owych np. Pulpicie kontrahenta.
Wyszukiwanie zasobów wg atrybutów
Udostępniona została możliwość filtrowania istniejących zasobów według wartości atrybutów. W tym celu, w oknie zasobu został dodany obszar z nazwą Klasy i Wartością atrybutu, które odpowiednio wypełnione mogą stanowić parametr filtrujący dostępne zasoby.
Zasoby mogą być wyszukiwane wg klasy atrybutów przypisanych do obiektu Dostawa. Po otwarciu listy zasobów, automatycznie zostają wyświetlone Klasy atrybutów, dla których jako obiekt docelowy została wskazana Dostawa. Aby wyszukać zasób, należy dla Klasy atrybutu wskazać odpowiednią wartość i użyć przycisku [Ogranicz do wskazanej cechy].
Konfiguracja ustawień dostępności do atrybutów
W definicji klasy atrybutu została dodana nowa zakładka {Dostępność} pozwalająca ograniczyć listę operatorów do tych, dla których dostępna będzie dana klasa atrybutu. Możliwe jest określenie praw dostępu odrębnie w zakresie możliwości wprowadzania wartości dla klasy atrybutu (parametr Wprowadzenie) oraz edycji/zmiany tej wartości (parametr Zmiana).
Na zakładce Dostępność możliwe jest:
- Przypisywanie operatorów – za pomocą przycisku Dołącz operatora można przypisać wybranego operatora lub wielu operatorów jednocześnie.
- Odłączanie – za pomocą przycisku Odłącz operatora można odłączyć wybranego operatora lub wielu operatorów jednocześnie (operacja dla zaznaczonych).
Domyślnie przypisując nowego operatora na listę dostępności parametr Wprowadzenie jest zawsze zaznaczony. Natomiast parametr Zmiana zależny jest od ustawienia w definicji klasy ogólnego parametru Tylko do odczytu:
- jeśli parametr zaznaczony, wówczas parametr Zmiana jest niezaznaczony i nieaktywny,
- jeśli parametr niezaznaczony, wówczas parametr Zmiana jest zaznaczony i aktywny (możliwość zmiany ustawienia).
Analogiczne ustawienie pojawiło się na grupie klas atrybutów. Oznacza ono jedynie wzorzec dla klas atrybutów dodawanych do tej grupy, czyli nie decyduje bezpośrednio o widoczności danej grupy dla konkretnego operatora. Podczas przypisywania klasy atrybutów do grupy, dla której lista Dostępność nie jest pusta, można dokonać przeniesienia ustawień dostępności z grupy do przypisywanej klasy (lub klas) atrybutów – wybór należy do użytkownika. Analogiczną operację można wykonać z poziomy listy Grupy klas atrybutów, za pomocą przycisku pioruna ‘Przypisz uprawnienia do atrybutów’ dostępnego pod listą. W przypadku, gdy na grupie nie ma ustawionych żadnych operatorów zostanie wyświetlony komunikat:
Dopiero wybranie odpowiedzi TAK pozwoli na wykasowanie operatorów z listy powiązanych klas atrybutów.
Ograniczenie dostępności atrybutów jest możliwe również z poziomu karty operatora, poprzez dopisanie na zakładce Uprawnienia do atrybutów konkretnych klas atrybutów. A następnie określenie dostępu w zakresie wprowadzenia lub zmiany.
Dane wprowadzone na klasie atrybutu mają automatycznie odzwierciedlenie na karcie operatora i odwrotnie. Również na karcie wzorca operatora można dopisywać uprawnień do klas atrybutów, które następnie przenoszone są na karty operatorów przypisanych do tego wzorca. Działanie zgodne ze standardem pozwala na pobieranie danych z wzorca podczas dodawania nowych operatorów lub aktualizacji istniejących.
Od wersji 2018.2 Comarch ERP XL na zakładce uprawnienia do atrybutów:
- dodano panel z listą grup, do których są przypisane wybrane klasy atrybutów
- umożliwiono dodawanie własnych kolumn
- dodano możliwość sortowania listy po kliknięciu na nagłówek kolumny (domyślne sortowanie po nazwie klasy atrybutu)
- dodano obsługę lokatora
Prezentowana jest data ostatniej modyfikacji dla powiązania klasy atrybutu z operatorem. Data jest widoczna w osobnej kolumnie Data modyfikacji na zakładkach [Dostępność na klasie atrybutu] oraz [Uprawnienia do atrybutów] na karcie wzorcu/operatora.
Podczas dodawania nowego atrybutu na zakładce [Uprawnienia do atrybutów] na karcie operatora oraz na wzorcu operatora, na wołanej spod plusa liście wyświetlane są tylko te klasy atrybutów, które nie są jeszcze przypisane do operatora. Dodatkowo kolorem zielonym wyróżniane są te klasy atrybutów, które zostały dodane do bazy po dacie ostatniej zmiany na tej liście.
Dostęp do atrybutów dla uprawnionych operatorów
Dostęp do atrybutu na obiekcie będzie możliwy, jeśli w definicji klasy atrybutu:
- Nie został dodany żaden operator ani centrum praw – co oznacza, że jest on dostępny dla wszystkich operatorów.
- Został dodany konkretny operator/operatorzy – wtedy tylko oni mają dostęp do tej klasy
Tryb dostępu do wartości klasy atrybutów na obiekcie zależny jest od ustawienia dostępności:
- Wartość dostępna do edycji, jeśli:
- klasa nie ma przypisanej wartości i w nowej tabeli parametr Wprowadzenie jest zaznaczony,
- klasa ma przypisaną wartość i w nowej tabeli parametr Zmiana jest zaznaczony
- Wartość dostępna do Podglądu, jeśli:
- klasa nie ma przypisanej wartości i w nowej tabeli parametr Wprowadzenie jest niezaznaczony.
- klasa ma przypisaną wartość i w nowej tabeli parametr Zmiana jest niezaznaczony
Również dodawanie klas atrybutów do obiektów jest uzależnione od nowych uprawnień dostępu. Jeśli dana klasa atrybutu nie ma w definicji przypisanych operatorów, wówczas będzie traktowana na dotychczasowych zasadach, czyli będzie możliwa do dodania przez każdego operatora. Natomiast jeśli w definicji klasy są przypisani operatorzy, wówczas tylko oni będą mieli możliwość przypisywania nowych klas na zakładkach Atrybuty poszczególnych obiektów. Tak samo działa to dla atrybutów dodawanych automatycznie (parametr Automat w definicji klasy) – będą dodawane do nowych obiektów tylko pod warunkiem, że operator dodający te obiekty ma do nich uprawnienia. Również w trakcie wykonywania operacji Seryjna zmiana wartości atrybutów na dekretach (z poziomu zakładki Konto), przy opcji Dodaj lista atrybutów zostanie zawężona do tych, do których operator ma uprawnienia.
Wyjątek stanowią natomiast wartości domyślne ustawione na klasie atrybutu. Niezależnie od uprawnień operatora do wprowadzania wartości dla atrybutów, są one zawsze automatycznie przypisywane do atrybutu. Dotyczy to również wartości domyślnej dla operacji wsadowych.
Operacje kopiowania atrybutów pozostają bez zmian, czyli kopiowanie pomiędzy różnymi obiektami nie sprawdza uprawnień operatora do kopiowanej klasy atrybutu. Kontrola odbywa się jedynie przy wyświetlaniu listy klas przypisanych do obiektu. Skutkuje to tym, że nawet jeśli klasa, do której operator nie ma uprawnienia, zostanie dodana do obiektu, to operator ten nie będzie jej widział.
Ustawienie na karcie klasy atrybutu może być zupełnie inne niż na grupie klas, dlatego wyświetlając atrybuty na karcie obiektu widoczność grup zostaje ograniczona do tych, w których operator ma dostępny chociaż jeden atrybut. Ustawienie na grupie atrybutów nie będzie więc decydowało o tym, czy grupa jest widoczna na karcie obiektu, czy nie.
Kopiowanie atrybutów
W ramach funkcjonalności kopiowania atrybutów udostępniony został mechanizmy do definiowania powiązań pomiędzy kopiowanymi obiektami, z możliwością określania warunków, kiedy takie kopiowanie ma nastąpić.
W oknie: Definicja atrybutów, z poziomu zakładki: Kopiowanie atrybutów, po naciśnięciu przycisku: , zostanie otworzone okno: Klasa atrybutu dla obiektu - klasa atrybutu wpięta do tego obiektu i podświetlona w czasie naciśnięcia przycisku. Na taj właśnie formatce ustawia się warunki kopiowania.
Aby było możliwe określenie źródła i akcji trzeba zaznaczyć parametr: Zaawansowane. Warunki:
- Źródło – kontrolka z przyciskiem. W kontrolce wyświetlana informacja o źródle pochodzenia atrybutu, jeśli wartość jest pusta – to atrybut dodawany na obiekt będzie z ręki. Naciśnięcie przycisku obok kontrolki otwierać będzie listę z odfiltrowanymi obiektami źródłowymi, z możliwością ich wyboru
- Akcja – kontrolka z listą rozwijalną umożliwia wybór akcji inicjującej kopiowanie z predefiniowanego słownika.
Akcje
Kopiowanie atrybutów może mieć miejsce:
- W czasie dodawania nowego obiektu.
- W czasie zapisu lub odczytu obiektu.
W szczególnym przypadku za pomocą tego mechanizmu można zrealizować funkcjonalność atrybutów wyliczanych.
- W innych wybranych miejscach aplikacji.
Należy zwrócić uwagę, że powyższa funkcjonalność umożliwia realizację (przynajmniej częściowo) „atrybutów wyliczanych” – zapis, odczyt może wymusić ponowne wyliczenie wartości atrybutu.
Źródła
Rejestracja powiązań pomiędzy kopiowanymi obiektami odbywa się z poziomu obiektu, do którego będzie kopiowanie (CEL), poprzez wskazanie jaką klasę atrybutu, skąd (z którego obiektu) należy przepisać (ŹRÓDŁO).
Lista dostępnych obiektów, z których można kopiować (ŹRÓDŁO) jest predefiniowana i kontekstowa (zależna od rodzaju obiektu, do którego chcemy atrybut skopiować).
Lista powiązań między obiektem źródłowym a obiektem docelowym jest wyświetlana na zakładce: Kopiowanie atrybutów, w oknie: Definicja atrybutów. Jest ona definiowalna przez Użytkownika.
Pod listą dostępne są przyciski (podobnie rozmieszczone jak na zakładce „Klasy atrybutów) o funkcjach:
- Dodanie nowego połączenia obiektów źródłowego i docelowego
- Edycja powiązania
- Usunięcie połączenia – kontrola usuwania oparta o relacje.
Parametr: Pokazuj nieaktywne – odznaczenie powoduje filtrowanie wyświetlanych rekordów do aktywnych, zaznaczenie – wszystkie. Rekordy nieaktywne na liście będą w kolorze szarym.
Niezależnie od predefiniowanych ŹRÓDEŁ możliwe jest zdefiniowanie dowolnego ŹRÓDŁA, którego atrybut będzie skopiowany. Taką operację definiuje się za pomocą wyrażenia SQL-owego.
W zapytaniu definiujemy jaka wartość powinna być przypisana do atrybutu na obiekcie docelowym. Na zakładce: Obiekty docelowe, w tym przypadku dodajemy obiekt ZS.
Edycja danych w kontrolkach zależna jest od parametru: Predefiniowane. Użytkownik może przejąć taką definicję i dowolnie ją wyedytować – warunkiem jest odznaczenie opcji: Predefiniowane. Odznaczenie parametru jest operacją jednorazową – po zapisie okienka nie ma możliwości ponownego jego zaznaczenia. Odtworzenie definicji predefiniowanych możliwe jest wywołując funkcję z apteczki.
Kopiowanie atrybutów (dokładniej: określenie wartości dla atrybutów na obiektach docelowych) oparte jest na definiowanym zapytaniu SQL. Wynik zapytania (select) jest podstawą określenia wartości atrybutu na obiekcie docelowym, dlatego powinien być zwrócony jako jednowierszowy recordset zbudowany z min:1 – max:6 kolumn o typach odpowiednio: Atr_Wartosc, Atr_AtrTyp, Atr_AtrFirma, Atr_AtrNumer, Atr_AtrLp, Atr_AtrSubLp. Przy budowie zapytań dostępne są predefiniowane „zmienne”: {FiltrSQL}, {Ato_AtkID} ustawiane w momencie wykonania zapytania.
Kopiowanie atrybutu z pozycji ZS na pozycję FS.
Kopiowanie uwzględnia przekształcenie wielu ZS do jednej FS (towary na ZS-ach są różne, nie powtarzają się. SQL:
select Atr_Wartosc, Atr_AtrTyp, Atr_AtrFirma,Atr_AtrNumer, Atr_AtrLp
from CDN.ZamNag join CDN.zamElem on ZaN_gidnumer=zae_gidnumer join CDN.TraSElem on TrS_ZlcTyp=ZaN_GIDTyp and TrS_ZlcNumer=ZaN_GIDNumer and zae_GIDLp=TrS_zlcLp
join CDN.TraElem on TrE_GIDTyp=TrS_GIDTyp and TrE_GIDNumer=TrS_GIDNumer and TrE_GIDLp=TrS_GIDLp
join cdn.Tranag on Trs_GIDNumer=trn_GIDNumer
join cdn.atrybuty on Atr_ObiTyp = zan_GIDTyp AND Atr_ObiNumer =zan_GIDNumer and Atr_ObiLp = zaE_GidLP and Atr_AtkId = {Ato_AtkID}
WHERE {FiltrSQL}
Przepisywaniem atrybutów rządzą następujące reguły:
- Jeśli na obiekcie docelowym (CEL) klasa nie istnieje, zostanie utworzona z nową wartością
- Jeśli kopiowany atrybut już istnieje, to jego wartość zostanie nadpisana wartością atrybutu z ŹRÓDŁA
- Jeśli w wyniku zmiany obiektu ŹRÓDŁOWEGO, nowe ŹRÓDŁO nie zawiera atrybutu przepisanego ze „starego” ŹRÓDŁA, to atrybut taki powinien zostać usunięty z obiektu docelowego.
Na ZS dodano kontrahenta posiadającego atrybut „Partner złoty”, który został przepisany na nagłówek dokumentu. Następnie zmieniono kontrahenta na takiego, który nie posiada tego atrybutu – atrybut zostanie usunięty z dokumentu.
Atrybuty z natychmiastowym zapisem do bazy (zapis on-line)
Aktualizacja atrybutów dodanych na obiekcie (lub edytowanych) dopiero w momencie zapisu obiektu (np. formatki dokumentu czy karty towaru) bywa czasami niewystarczająca.
W związku z tym zapisywanie atrybutów zostało sparametryzowane (każda zmiana od razu zapisywana do tabeli).
Włączenie może spowodować spadek wydajności systemu.
Konstrukcja atrybutów determinuje to, że ‘zapisywalność’ atrybutów jest cechą niekonkretnego atrybutu, ale wszystkich atrybutów na obiekcie. Dlatego zmiana nowopowstałego parametru będzie synchronizowana na wszystkich klasach podpiętych do obiektu.
Od wersji 2020.0 Comarch ERP XL w systemie umożliwiono tworzenie zapisów historii zmian na większości dokumentów. Operacją, która jest zapisywana do historii to rownież modyfikacja obiektów powiązanych. Modyfikacja obiektów powiązanych, to każda zmiana, która została wykonana z poziomu formatki dokumentu m.in. na zakładce [Atrybuty].
Dla klas atrybutów, które mają ustawiony natychmiastowy zapis do bazy (zaznaczony parametr na formatce Klasa atrybutu dla obiektu) w Historii zapisów będzie tyle wpisów o modyfikacji atrybutów, ile zmian zostało wykonanych podczas jednej edycji dokumentu. Wystarczy, że do dokumentu będzie przypisana jedna klasa atrybutu z takim ustawieniem, a każda zmiana w atrybutach na formatce obiektu będzie logowana jako osobny wpis.
Zakazy do atrybutów
Ograniczenia uprawnień do operacji na atrybutach są poszerzone i zbudowane na bazie istniejącego mechanizmu zakazów, czyli dotyczą:
- Całej listy atrybutów na obiekcie (a nie poszczególnych atrybutów)
- Wskazanego operatora.
Rozbudowana została formatka definiowania zakazów o dodatkową sekcję dotyczącą atrybutów, dostępne są opcje:
- zakazu dodawania nowych atrybutów (brak możliwości dodawania atrybutu),
- zakazu usuwania atrybutów (brak możliwości usuwania atrybutu),
- zakazu modyfikacji atrybutów (brak edycji, dodawania i usuwania atrybutów),
- zakazu podglądu – pusta lista, brak edycji.
Odbudowa źródeł predefiniowanych - apteczka
Z poziomu modułu Administrator wybierając Funkcje specjalne tzw. apteczkę możliwe jest wykorzystanie funkcji: Naprawa atrybutów źródłowych. Funkcja ta odbudowuje (lub nadpisuje istniejące) rekordy w tabelach CDN.AtrybutyZrodla, CDN.AtrybutyZrodlaObiekty wg takich samych zasad jak w konwersji.
Atrybuty a ECOD
Przykłady zastosowań funkcjonalności atrybutów podczas eksportu dokumentów do ECOD:
Należy wykonać następujące kroki:
- Założyć klasę atrybutu: FeeValue, typ liczba, format tekst.
- Dodać do niej obiekty: Towar, FS Pozycje i WZ Pozycje
W tym przypadku atrybut na Towarze może być, ale nie musi, więc na klasie atrybutu na obiekcie Towar nie trzeba ustawić żadnych dodatkowych parametrów. Wymagane jest jednak, aby w przypadku, gdy na FS/ WZ dodajemy towar z określonym atrybutem to ten atrybut ma się przepisać, więc na klasie obiektu dla Pozycji FS/WZ zaznaczamy Wymagany wg. klasy obiektu.
Ustawiamy źródło na Towar i Akcję Zmiana towaru. Akcja ta powoduje, że w przypadku pierwszego wpisania towaru na pozycję atrybut się przepisze z jego karty, a w przypadku zmiany towaru na inny, atrybut ten zostanie zaktualizowany – bądź jak na nowym towarze nie będzie zdefiniowanego atrybutu to na pozycji zakładka Atrybuty zostanie pusta.
Definiuje klasę atrybutu: OrderType, typ liczba, format tekst. Dodajemy obiekty: Kontrahent, ZZ. Na klasach atrybutu dla obiektów ustawiamy (o ile potrzeba) parametry odnośnie wymagalności. Dodatkowo na ZZ klasy obiektu ustawiamy źródło na Kontrahent i akcję Zmiana kontrahenta.
Więcej na temat zastosowania funkcjonalności atrybutów podczas eksportu dokumentów do ECOD w biuletynie ''Wymiana dokumentów za pomocą systemu ECOD''.
Atrybuty grupujące
Aby klient e-Sklepu mógł wskazać, jaki konkretnie rodzaj danego towaru chce zamówić, koniecznym jest ustalenie po stronie Comarch ERP XL, wg jakich atrybutów mają być grupowane towary. W tym celu, na karcie towaru na zakładce [Atrybuty] dodana została możliwość potwierdzenia danego atrybutu jako grupującego.
Parametr jest dostępny wówczas, gdy na zakładce [Aplikacje] zaznaczona jest dostępność w e-Sklepie oraz dana klasa jest oznaczona jako dostępna w e-Sklepie. Dodatkowo, atrybut, po którym ma być wybierany towar w e-Sklepie musi być atrybutem typu lista. Grupujący umożliwia określenie tych atrybutów, które są wyświetlane w e-Sklepie dla towarów zgrupowanych – fantomów.
Wraz z ww. zmianami wprowadzono zmiany w synchronizacji. Do obsługi wyświetlania zgrupowanych kart towarowych wykorzystywane jest pole „Nadrzędny” w TWRI (-1 towar nie jest zgrupowany; >0 towar jest zgrupowany, wówczas podawane jest ID towaru nadrzędnego)
Do obsługi atrybutów grupujących wykorzystywane jest pole „Grupuj” (0 nie; 1 tak – atrybut jest grupującym).
Od wersji 2019.0 Comarch ERP XL dostosowano synchronizację atrybutów do aktualnych e-Sklepu. Atrybuty typu lista będą prezentowane w następujący sposób:
- Jeśli dla atrybutu typu lista zostanie wybrana konkretna wartość, wówczas atrybut ten będzie widoczny w sekcji Cechy towaru wraz z wybraną wartością.
- Jeśli do towaru zostanie dodany atrybut typu lista bez wskazanej wartości, wówczas podczas zamawiania towaru dostępna będzie opcja wyboru wartości atrybutu z całej dostępnej listy.
- Jeśli do towaru zostanie dodany atrybut typu lista, z zaznaczoną opcją: wielowartościowy, a na towarze zostanie wybranych kilka wartości z całej listy, wówczas podczas zamawiania towaru dostępne będą tylko te wartości, które zostały ustawione na towarze.
Więcej na temat zastosowania funkcjonalności atrybutów we współpracy z Comarch e-Sklep w podręczniku do e-Sklepu.
Wysyłka atrybutu do KSeF jako dodatkowy opis
Dotychczas w sekcji Dodatkowy Opis wysyłany był opis z nagłówka dokumentu oraz opisy z poszczególnych elementów dokumentu, o ile w Konfiguracji/KSeF włączono parametr Podczas eksportu wysyłaj/Opis elementu. Tak więc zarówno dla nagłówka, jak i danego elementu można był wysłać tylko jedną informację dodatkową. W wersji 2024.0 funkcjonalność ta została rozwinięta i odtąd oprócz ww. opisów w ww. sekcji wysyłane są również te atrybuty przypisane czy to do nagłówka dokumentu, czy to do danego elementu faktury, które zostały oznaczone parametrem KSeF.
Na podstawie każdego z tak oznaczonych atrybutów wysyłana jest sekwencja danych:
- Nr wiersza: numer elementu faktury, dla której zdefiniowano ten atrybut, pole nie jest wysyłane, jeżeli atrybut zdefiniowany został dla nagłówka dokumentu
- Klucz: nazwa klasy atrybutu
- Wartość: wartość atrybutu