Kontrolka typu „Lista” umożliwia wybór jednej pozycji z rozwijalnej listy wartości kontrolki.
Na definicji kontrolki dostępne są następujące pola:
- Nazwa wyświetlana – jest to pole, którego zawartość będzie widoczna na karcie obiegu, wartość pola nie musi być unikalna, dzięki temu możliwe jest dodanie kilku kontrolek, dla których wyświetlana jest taka sama nazwa.
- Nazwa (identyfikator) – jest to pole, którego wartość widoczna jest wyłącznie we właściwościach kontrolki. Wartość tego pola musi być unikalna w ramach karty obiegu.
- Prezentuj na całej szerokości – zaznaczenie tej właściwości spowoduje wyświetlenie kontrolki na całej szerokości okna „Karta obiegu”.
- Ustaw kontrolkę na początku wiersza – parametr odpowiada za ustawienie kontrolki na początku nowego wiersza karty obiegu, bez konieczności dodawania separatorów pomiędzy kontrolką bieżącą, a kontrolką poprzednią. Możliwość użycia parametru „Ustaw kontrolkę na początku wiersza” uzależniona jest od wartości parametru „Prezentuj na całej szerokości”. Gdy zaznaczono parametr „Prezentuj na całej szerokości”, nie ma możliwości użycia parametru „Ustaw kontrolkę na początku wiersza”. Gdy parametr „Ustaw kontrolkę na początku wiersza” jest zaznaczony, parametr „Prezentuj na całej szerokości” jest dostępny, jego zaznaczenie spowoduje wyłączenie i dezaktywację parametru „Ustaw kontrolkę na początku wiersza”.
- Pokaż na liście – parametr odpowiedzialny za to, czy na liście dokumentów zawężonej do typu obiegu, na którym dodano kontrolkę, będzie wyświetlana kolumna z wartościami kontrolki.
Inicjowanie wartości
Pole Inicjowanie może przyjmować wartości: Słownik, SQL OD, SQL ERP lub C# Script.
- Gdy wybrana jest wartość „Słownik”, operator może zdefiniować stałą listę pozycji kontrolki i wybrać pozycję prezentowaną w kontrolce jako wartość domyślna.
- W przypadku wartości „SQL OD” lub „SQL ERP”, lista pozycji jest inicjowana w oparciu o zapytanie SQL działające odpowiednio na bazie Comarch DMS lub Comarch ERP XL.
- W przypadku wartości „C# Script” możliwe jest zdefiniowanie kodu w języku C#, który będzie inicjował wartości w kontrolce.
- Parametr „Inicjuj przy każdym otwarciu dokumentu” (dostępny, gdy wybrano inicjowanie SQL lub C# Script). Zaznaczenie parametru powoduje, że wartości wyświetlane w kontrolce będą inicjowane każdorazowo, gdy dokument zostanie otwarty w etapie, w którego właściwościach włączono inicjalizację SQL/C#. Odznaczenie parametru oznacza, że wartość zostanie zainicjowana raz.
Kontrolka typu lista z wartościami zainicjowanymi słownikiem
Gdy parametr ‘Prezentuj wartość domyślną’ pozostanie odznaczony, wówczas na karcie obiegu w kontrolce domyślnie będzie wyświetlana pusta wartość (1), po rozwinięciu listy zostaną wyświetlone zdefiniowane wartości. Zaznaczenie parametru spowoduje, że domyślnie w kontrolce będzie wyświetlana zaznaczona wartość (2).
Przykład zapytania SQL dla kontrolki typu “Lista”:
select 1, 'abcd’
union
select 2, ‘xyz’
Rodzaj identyfikatora – pole umożliwia operatorowi określenie rodzaju identyfikatorów kolejnych pozycji na liście. Przyjmuje wartości:
- Int – gdy identyfikatory kolejnych pozycji na liście określone są liczbą. Dla metody inicjowania listy słownikiem, rodzaj identyfikatora to zawsze int.
- Text – gdy identyfikatory kolejnych pozycji na liście określone są wartością tekstową (np. GUID).
W przypadku, gdy w kontrolce lista określono rodzaj identyfikatora jako int, w edytorze zapytań SQL w mechanizmach inicjowania i obserwowania wyświetlane będą parametry:
- <identyfikator_kontrolki_typu_lista>_Id
- <identyfikator_kontrolki_typu_lista>_Text
W przypadku, gdy w kontrolce lista określono rodzaj identyfikatora jako text, w edytorze zapytań SQL w mechanizmach inicjowania i obserwowania wyświetlane będą parametry:
- <identyfikator_kontrolki_typu_lista>_IdText
- <identyfikator_kontrolki_typu_lista>_Text
Pole Tryb pracy przyjmuje wartości: „Lista” lub „Wyszukiwanie”. Wartość „Lista” wypełnia kontrolkę pełną listą pozycji zdefiniowanych w oparciu o zapytanie SQL. Wartość „Wyszukiwanie” inicjuje kontrolkę listą pozycji spełniających kryteria wyszukiwania wprowadzone przez operatora. W trybie pracy „Wyszukiwanie” umożliwiono szukanie wartości po dowolnym ciągu znaków. Taki tryb pracy uzależniony jest od wartości parametru ‘Szukaj po dowolnym ciągu znaków’. W przypadku, gdy tryb pracy kontrolki zostanie ustawiony na „Lista”, parametr jest niedostępny.
Właściwości kontrolki typu lista, parametr trybu pracy kontrolki: „Szukaj po dowolnym ciągu znaków”
Kontrolka typu „Lista” może być wykorzystywana, jako kontrolka, z której użytkownik wybiera na karcie obiegu zdefiniowane wartości z konfiguracji kontrolki np. formy płatności. Jeżeli w konfiguracji tej kontrolki wprowadzone jest zapytanie SQL-owe, można na jego podstawie z bazy pobrać konkretną listę wartości, którą aplikacja automatycznie wprowadzi do pola kontrolki.
Na bazie Comarch DMS utworzono dodatkową tabelę (do.wdrKontrahenci), w której przechowywane będą dane kontrahentów:
Na definicji typu obiegu dodano kontrolkę typu lista:
Wartości w kontrolce typu lista będą inicjowane zapytaniem SQL:
Na podstawie zapytania w kontrolce „Kontrahent” na karcie obiegu dostępna będzie lista wszystkich kontrahentów znajdujących się w tabeli:
Kontrolka typu „Lista” na karcie obiegu wypełniana jest wartością domyślną, jeżeli w danym etapie dla tej kontrolki nie została zapisana wartość. Operator może edytować i zmieniać domyślną wartość na dokumencie. Wprowadzona wartość zostanie zapisana i zapamiętana. Dla kontrolek typu lista została oprogramowana możliwość ponownego inicjowania wartości na kolejnych etapach. Jeżeli dla kontrolki została zaznaczona (na kilku etapach) właściwość „Inicjalizacja SQL” to na każdym etapie kontrolka zostanie zainicjonowana ponownie wartością domyślną.
Umożliwiono odwołanie się do nazwy oraz pozycji wybranego elementu w kontrolce typu „Lista”.