Wprowadzenie
Definicje hook contract Artykuł <zastosowanie> służą do rozszerzenia funkcjonalności aplikacji Artykuły.
W artykule opisano, jakie rozszerzenia można wdrożyć za pomocą definicji hook contract oraz jakie ograniczenia i szczególne przypadki należy wziąć pod uwagę
Opis interfejsów znajduje się w odpowiadających im obiektach deweloperskich typu Hook contract.
Szczegółowe informacje o metodach zadeklarowanych w tych interfejsach znajdują się w odpowiednich klasach języka Java.
Informacje dotyczące infrastruktury hooków można znaleźć w artykule Hook Contracts.
Grupa docelowa
- Programiści
Opis
Definicje hook contract Artykuł <zastosowanie> zapewniają następujące opcje zarządzania:
- dodawanie i zarządzanie nowymi atrybutami dla głównego obiektu biznesowego
-
dodawanie i zarządzanie relacją 1:1 (dependent) z głównym obiektem biznesowym
-
dodawanie relacji 1:n (dependents) do głównego obiektu biznesowego
-
dodawanie nowych atrybutów do już istniejących relacji 1:1 powiązanych z głównym obiektem biznesowym
Zastosowanie | Hook contract | Główny obiekt biznesowy (Business Entity) |
---|---|---|
Podstawowe | com.cisag.app.general.item.hook.log.Item |
com.cisag.app.general.obj.Item |
Rachunkowość | com.cisag.app.general.item.hook.log.ItemFinancialData |
com.cisag.app.financials.obj.ItemAccountingData |
Logistyka magazynowa | com.cisag.app.general.item.hook.log.InventoryItem |
com.cisag.app.inventory.obj.InventoryItem |
Planowanie | com.cisag.app.general.item.hook.log.ItemPlanningData |
com.cisag.app.inventory.obj.ItemPlanningData |
Produkcja | com.cisag.app.general.item.hook.log.ProductionItem |
com.cisag.app.production.obj.ProductionItem |
Zakup | com.cisag.app.general.item.hook.log.PurchaseItem |
com.cisag.app.purchasing.obj.PurchaseItem |
Dostawcy | com.cisag.app.general.item.hook.log.SupplierPurchaseItem |
com.cisag.app.purchasing.obj.SupplierPurchaseItem |
Sprzedaż | com.cisag.app.general.item.hook.log.SalesItem |
com.cisag.app.sales.obj.SalesItem |
Klasyfikacja klientów | com.cisag.app.general.item.hook.log.CustomerClassificationItem |
com.cisag.app.sales.obj.CustomerClassificationItem |
Klienci | com.cisag.app.general.item.hook.log.CustomerSalesItem |
com.cisag.app.sales.obj.CustomerSalesItem |
Planowanie klienta | com.cisag.app.general.item.hook.log.CustomerPlanningData |
com.cisag.app.sales.obj.CustomerPlanningData |
Ograniczenia
Podczas rozszerzania aplikacji Artykuły obowiązują następujące ograniczenia:
-
nie jest możliwe rozszerzenie standardowych relacji 1:n (dependents) o nowe atrybuty ani o nowe zależności podrzędne (dependents)
-
dziedziczenie danych nie jest modyfikowalne za pomocą hooków, tzn. hooki nie umożliwiają wpływu na mechanizm sprawdzania dziedziczenia danych. Odpowiednie kontrole można zaimplementować wyłącznie w istniejących metodach walidacyjnych.
-
nie jest wspierane definiowanie nowych zależności pomiędzy różnymi zastosowaniami, np. w celu ustawienia blokad zależnych od danych podczas dziedziczenia zastosowań.
Funkcje specjalne
Widoki obiektów
Dla każdego wspieranego zastosowania istnieje odpowiedni widok obiektu (Data view), który jest przekazywany jako parametr do większości metod hooków.
Rozszerzalne relacje typu 1:1 (dependents) również są dostępne poprzez relacje w postaci widoków obiektów (Data view).
Podstawowe
com.cisag.app.general.item.model.Item
1:1 Dependents
cisag.app.general.item.model.ItemCountryData
(dane kraju)
Relacja: CommonItemCountryData
Interfejs użytkownika (GUI):
- Widok: Podstawowe
- Zakładka: Ogólne
- Sekcja: Intrastat
Rachunkowość
com.cisag.app.general.item.model.ItemAccountingData
1:1 Dependents
com.cisag.app.general.item.model.ItemValuationData
(wartości pozycji)
Relacja: CommonItemValuationData
Interfejs użytkownika (GUI):
- Widok: Rachunkowość
- Sekcja: Oszacowanie
Logistyka magazynowa
com.cisag.app.general.item.model.InventoryItem
1:1 Dependents
com.cisag.app.general.item.model.ItemStorageData
Relacja: CommonItemStorageData
Interfejs użytkownika (GUI):
- Widok: Logistyka magazynowa
- Zakładka: Ogólne
- Sekcja Klasyfikacje
com.cisag.app.general.item.model.ItemIdentifierData
- Planowanie
com.cisag.app.general.item.model.ItemPlanningData
Produkcja
com.cisag.app.general.item.model.ProductionItem
1:1 Dependents
com.cisag.app.general.item.model.ProductionItemMethod
Relacja: CommonProductionItemMethod
Interfejs użytkownika (GUI):
- Widok: Produkcja
- Zakładka: Ogólne
- Sekcja Metoda produkcji
com.cisag.app.general.item.model.ProductionItemPlanData
Relacja: CommonProductionItemPlanData
Interfejs użytkownika (GUI):
- Widok: Produkcja
- Zakładka: Ogólne
- Sekcja Metoda produkcji
Zakup
com.cisag.app.general.item.model.PurchaseItem
Dostawcy
com.cisag.app.general.item.model.SupplierPurchaseItem
Sprzedaż
com.cisag.app.general.item.model.SalesItem
Klasyfikacja klientów
com.cisag.app.general.item.model.CustomerClassificationItem
Klienci
com.cisag.app.general.item.model.CustomerSalesItem
Planowanie klienta
com.cisag.app.general.item.model.CustomerPlanningData
Import/eksport, szablony artykułów
Do rozszerzenia procesu importu/eksportu oraz aplikacji Szablony artykułów służy następująca definicja hook contract:
com.cisag.pgm.bi.Controller
(Hooki dla BIS-Controller i BIS-Registry)
Reorganizacja artykułów
Za pomocą aplikacji można dodawać nowe atrybuty do obiektów typu Business Entity, które odnoszą sie do artykułu. Istnieje również możliwość, że jedna z wersji zastosowania artykułu otrzyma nowe zależności (dependents).
Proces reorganizacji artykułu musi uwzględniać również te rozszerzenia.
W tym celu dostępny jest hook:
com.cisag.app.general.item.hook.log.ItemRegistryHook
pochodzący z definicji hook contract:
com.cisag.app.general.hook.log.RegistryExtensions
Hook ten umożliwia zarejestrowanie nowych zależności (dependents) lub referencji podczas reorganizacji artykułu.