Lista

image_pdfimage_print

Kontrolka typu „Lista” umożliwia wybór jednej pozycji z rozwijalnej listy wartości kontrolki.

Wskazówka
Od wersji 2023.1.0 istnieje możliwość obserwowania przez kontrolkę typu Lista kontrolki typu Dane tabelaryczne (zob. przykład Obserwacja kontrolki typu Dane tabelaryczne przez kontrolkę typu lista).

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.

 

Gdy w polu „Inicjowanie” wybrano opcję „Słownik”, wówczas istnieje możliwość definiowania nowej wartości po kliknięciu w link „Dodaj” i ikonka usunięcia jej z listy (ikonka kosza).

 

Link „Dodaj” do dodawania nowych wartości i ikonka kosza do usuwania wartości z listy

 

Inicjowanie wartości

Pole Inicjowanie może przyjmować wartości: Słownik, SQL OD 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” lista pozycji jest inicjowana w oparciu o zapytanie SQL działające na bazie Comarch DMS.
  • W przypadku wartości „C# Script” możliwe jest zdefiniowanie kodu w języku C#, który będzie inicjował wartości w kontrolce.

 

Uwaga

Od wersji 2023.1.2 jeżeli operator w ramach pola „Inicjowanie” wybierze wartość  SQL OD, SQL ERP lub C# Script, ale nie kliknie w link „Ustaw”nie wprowadzi zapytania, wówczas przy próbie zapisu typu obiegu zostanie wyświetlony komunikat, a zmiany nie zostaną zapisane.

W takim przypadku należy zmienić wartość pola „Inicjowanie” na „Brak” albo wprowadzić brakujące zapytanie.

W ramach komunikatu podane są nazwa i identyfikator kontrolki, dla której nie wprowadzono wymaganego zapytania oraz opcja wybrana w polu „Inicjowanie”  tej kontrolki.

Przykładowy komunikat wyświetlany przy próbie zapisania typu obiegu, gdy na definicji kontrolki „Lista 1” w polu „Inicjowanie” wybrano opcję „SQL OD”, ale nie wprowadzono zapytania
  • 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.

 

Przykładowe zapytanie SQL w ramach kontrolki typu Lista

 

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

 

        1. Wygląd listy, gdy parametr „Prezentuj wartość domyślną” nie jest zaznaczony
        2. Wygląd listy, gdy parametr „Prezentuj wartość domyślną” jest zaznaczony

           

Parametr „Inicjuj przy każdym otwarciu dokumentu”

 

Wskazówka

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 – wypełnia kontrolkę pełną listą pozycji zdefiniowanych w oparciu o zapytanie SQL.

 

Właściwości kontrolki typu Lista, tryb pracy „Lista”

 

Kontrolka typu Lista przy ustawieniu „Tryb pracy: Lista”

 

  • 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’. Jeżeli parametr jest wyłączony, wówczas wyszukiwanie odbywa się po początkowych znakach danej wartości. W przypadku, gdy tryb pracy kontrolki zostanie ustawiony na Lista, parametr jest niedostępny.

 

Właściwości kontrolki typu Lista, tryb pracy „Wyszukiwanie”, zaznaczony parametr trybu pracy kontrolki: „Szukaj po dowolnym ciągu znaków”

 

Kontrolka typu lista, zawężanie wartości do dowolnego ciągu znaków

 

Właściwości kontrolki typu Lista, tryb pracy „Wyszukiwanie”,  odznaczony parametr trybu pracy kontrolki: „Szukaj po dowolnym ciągu znaków”

 

Kontrolka typu lista, wyszukiwanie według frazy początkowej

 

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.

 

Przyklad

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

 

 

Kontrolka Lista i jej właściwości

 

Przyklad

Administrator chce, aby można było w prosty sposób dodać do kontrolki typu Dokumenty w obiegu dokumenty pochodzące z różnych typów obiegów w Comarch DMS.

W tym celu dodaje 3 kontrolki:

  • kontrolkę typu Lista o nazwie „Typ obiegu” (identyfikator: Typ_obiegu)
  • kontrolkę typu Lista o nazwie ” Dokumenty wybranego obiegu” (identyfikator: wybrany_obieg), która obserwuje kontrolkę „Typ obiegu”
  • kontrolkę typu Dokumenty w obiegu o nazwie „Dowiązane dokumenty” (identyfikator: Dowiazane), która obserwuje kontrolkę ” Dokumenty wybranego obiegu”

 

Następnie  we właściwościach kontrolki „Typ obiegu” w polu „Inicjowanie” wybiera „SQL OD” i klika w link „Ustaw”. W ramach otwartego okna wpisuje następujące zapytanie:

select DFH_Id, DFH_Name from do.RO_ObjectsTypes
where DFH_Archives = 0

 

Inicjowanie kontrolki „Typ obiegu”

 

Później administrator we właściwościach kontrolki „Dokumenty wybranego obiegu” w polu „Inicjowanie” wybiera „SQL OD” i klika w link „Ustaw”. W ramach otwartego okna wpisuje następujące zapytanie:

select dwd_id, DWD_FullNumber 
from do.RO_Documents
where DFH_Id = @Typ_obiegu_Id@

 

Wprowadzanie zapytania w kontrolce „Dokumenty wybranego obiegu” – konieczne jest, aby  w ramach pola „Kontrolki powiązane” została dodana kontrolka „Typ obiegu”

 

Potem zaś administrator we właściwościach kontrolki „Dowiązane dokumenty” w polu „Wzór na wartość” wybiera „SQL OD” i klika w link „Ustaw”. W ramach otwartego okna wpisuje następujące zapytanie:

select  @wybrany_obieg_Id@

 

Wprowadzanie zapytania w kontrolce „Dowiązane dokumenty” – konieczne jest, aby  w ramach pola „Kontrolki powiązane” została dodana kontrolka „Dokumenty wybranego obiegu”

 

Następnie administrator zapisuje zmiany.

Od tej pory operator na nowym dokumencie może wybrać typ obiegu dokumentów w kontrolce „Typ obiegu”, a następnie w kontrolce „Dokumenty wybranego obiegu” –  numery dokumentów z tego typu obiegu – wówczas wybrane dokumenty zostaną dodane do kontrolki ” Dowiązane dokumenty”. Możliwe jest wybranie kolejno różnych dokumentów z różnych typów obiegu.

 

 

Kontrolka „Typ obiegu” – kontrolka typu Lista

 

 

Kontrolka „Dokumenty wybranego obiegu” – kontrolka typu Lista

 

Dodawanie dokumentów do kontrolki typu Dokumenty w obiegu za pomocą kontrolek typu Lista

Czy ten artykuł był pomocny?