Development Lite jest trybem aplikacji WPF umożliwiającym kastomizację na słownikach w systemie Softlab ERP.
Warunki uruchomienia
Aby uruchomić aplikację w tym trybie, potrzebna jest licencja Development Lite oraz aplikacja odpowiednio skonfigurowana przez konsultanta Asseco BS.
Pracę w trybie Development Lite można rozpoznać po zielonej ikonce z narzędziami w lewym górnym rogu aplikacji.
Przygotowanie do kastomizacji
W celu ułatwienia kastomizacji w systemie Softlab dodano słownik Encje kastomizowalne, który umożliwia użytkownikowi dodawanie pól edytowalnych do wybranych słowników. Słownik jest dostępny z poziomu menu aplikacji (menu System → Narzędzia developerskie → Encje kastomizowalne). Aby słownik można było kastomizować, należy go odpowiednio przygotować, tj. w słowniku:
· musi być włączona możliwość kastomizacji,
· muszą być włączone pola dodatkowe.
To może zrobić konsultant AssecoBS lub inna osoba dysponująca pełną licencją developerską. Słownik Encje kastomizowalne wyświetla słowniki przygotowane do kastomizacji, a w polu Pola dodatkowe;Włączone wyświetlona jest informacja o włączeniu pól dodatkowych.
Na poniższym rysunku widać, że 3 słowniki są przygotowane do kastomizacji.

Rys. Słownik Encje kastomizowalne
Mechanizm działania nowej funkcjonalności przedstawiamy na przykładzie słownika kli_Kontrahenci.
Konfigurację pól dodatkowych w słowniku przeprowadzamy w szczególe Właściwości pól. Szczegół wyświetla 15 rekordów (tyle maksymalnie pól dodatkowych można skonfigurować w słowniku) podzielonych na 3 grupy:

Aby skonfigurować pole danego rodzaju należy rozwinąć daną grupę, zaznaczyć dany rekord i za pomocą przycisku Edycja przejść do jego edycji.

Rys. Formularz edycyjny szczegółu Właściwości pól, słownik Encje kastomizowalne
W formularzu edycyjnym w sekcji (groupbox) Pole w polu Nazwa wyświetla się nazwa kolumny dodatkowej, w której zostaną zapisane wprowadzone zmiany. W tym konkretnym przypadku jest to __exf__kli_Kontrahenci_s_01. Nazwa kolumny dodatkowej składa się z kilku części:

Formularz edycyjny zawiera ponadto inne opcje, które umożliwiają szczegółową konfigurację pola dodatkowego:

Dodanie pól dodatkowych
Jako przykład w słowniku Kontrahenci dodamy 3 pola do już istniejącej sekcji (groupbox) Informacje uzupełniające oraz 2 pola do nowej sekcji.
Przykładowa konfiguracja:

Rys. Słownik Encje kastomizowalne, szczegół Właściwości pól
Z konfiguracji możemy wyczytać, że:
· Dodano 3 pola do istniejącej sekcji (Informacje uzupełniające), z czego jedno z nich będzie checkboxem (polem wyboru), ponieważ jako jego typ podano TSLBoolean.
· W polu Numer konta próbowano dopasować szerokość, aby pasowała do innych kontrolek. Podano wartość szerokości kontrolki 240 oraz szerokość etykiety 100, dlatego pomijając etykietę kontrolka powinna mieć 140.
· Pole Nazwa Banku celowo zostało źle skonfigurowane, przykładowo doszło tu do wpisania wartości 24000 przeznaczonej na szerokość kontrolki. Przykład ma pokazać, że aplikacja nie dopuści do popsucia się całego układu i przytnie taką kontrolkę do maksymalnej, ale dozwolonej szerokości.
· Dodano 2 dodatkowe pola z myślą o umieszczeniu ich w gridzie, aby trafiły do grupy kolumn Samochód, a na formularzu edycyjnym do nowej sekcji (groupbox).
Po skonfigurowaniu pól dodatkowych możemy przejść do słownika Kontrahenci, aby obejrzeć zmiany.
Uwaga! Zmiany nie pojawią się samoczynnie. Aby je zobaczyć należy użyć akcji Przeładuj encję i otwórz w słowniku Encje kastomizowalne. Można również w trybie developerskim odświeżyć cały słownik, aby konfiguracja została pobrana.
W formularzu edycyjnym istniała sekcja (groupbox) Informacje uzupełniające, dlatego trafiła do niej część kontrolek. Jedna kontrolka jest polem wyboru (checkbox), kolejna ma mniejszą szerokość, a ostatnia mimo błędnej konfiguracji dopasowała się do maksymalnej szerokości wynikającej z reszty kontrolek w tej sekcji. Nowe kontrolki czyli Samochód;Marka oraz Samochód;Usterki pojawiły się w nowej sekcji na dole, co widać na poniższym rysunku.

Rys. Słownik Kontrahenci, podgląd formularza edycyjnego
W gridzie dodano nowe grupy kolumn Informacje uzupełniające oraz Samochód:

Rys. Słownik Kontrahenci, grid z dodatkowymi kolumnami
Uniwersalne listy wartości
Uniwersalna lista wartości to prosta lista, którą można zdefiniować w systemie i następnie wykorzystywać jako źródło danych dla pól dodatkowych. Do zarządzania uniwersalnymi listami wartości służy słownik Uniwersalne listy wartości dostępny w menu aplikacji System → Narzędzia developerskie → Uniwersalne listy wartości.
Nową listę tworzymy akcją Nowy, jej parametrem jest nazwa listy (w naszym przykładzie będzie to lista marek samochodów).

Rys. Słownik Uniwersalne listy wartości
Po zatwierdzeniu nazwy i utworzeniu nagłówka listy w szczególe Wartości dla list dynamicznych należy dodać pozycje listy, które będą się pokazywały w podpiętym do kontrolki lookupie.
W naszym przykładzie dodajemy kilka marek jako wartości.

Rys. Słownik Uniwersalne listy wartości, szczegół Wartości dla list dynamicznych
Następnie w słowniku Encje kastomizowalne dla pola z marką samochodu w listach wartości możemy wybrać jedną z opcji Uniwersalne listy wartości(…) i wskazać utworzoną przez nas listę.

Rys. Formularz edycyjny szczegółu Właściwości pól, słownik Encje kastomizowalne
Po zatwierdzeniu zmian i przeładowaniu encji możemy przejść do słownika Kontrahenci, aby w formularzu edycyjnym zobaczyć, czy nasz lookup został podpięty.

Rys. Formularz edycyjny, słownik Kontrahenci
Edycja raportów
Słownik Definicje raportów rozszerzono o kilka funkcjonalności umożliwiających szybką edycję raportu oraz wgranie go na serwer.

Rys. Słownik Definicje raportów
Po wybraniu akcji Edytuj wzorzec w zależności od typu raportu otworzy się odpowiednie narzędzie. Jeżeli wybrany raport jest raportem .docx, otworzy się aplikacja MS Word z rozszerzeniem umożliwiającym edycję raportu i zapisanie go w aplikacji z poziomu MS Word.

Rys. Aplikacja MS Word
Jeżeli aplikacja jest uruchomiona w trybie DevLite, to po wybraniu opcji zapisania raportu zostanie on wgrany do bazy danych jako ReportBody w słowniku Definicja raportów.
Generując raport w pierwszej kolejności jego wzorzec jest wyszukiwany właśnie w tej kolumnie (ReportBody). Jeżeli istnieje tam wpis dla danego raportu, to będzie on traktowany jako wzorzec.

Rys. Słownik Definicje raportów
Jeżeli chcemy przywrócić domyślny wzorzec raportu usuwając jednocześnie ten zapisany przez nas wcześniej, możemy skorzystać z akcji Usuń raport użytkownika, która jest dostępna tylko wtedy, gdy standardowy wzorzec został nadpisany.

Rys. Słownik Definicje raportów
Inaczej wygląda to podczas edycji raportów RPT, gdy klikniemy na jednym z nich akcję Edytuj wzorzec. Raport w dalszym ciągu otworzy się w domyślnym edytorze, jednak po jego zmianie i zapisaniu na dysku musimy jeszcze uruchomić akcję Wczytaj wzorzec.
Po uruchomieniu pojawi się prosta formatka z możliwością wskazania pliku, który po zatwierdzeniu zostanie ustawiony jako ReportBody w słowniku Definicja raportów.

Rys. Słowik Definicje raportów