x_insert_update.aspx combo

Pola typu Combo

Niektóre informacje na formularzu łatwiej jest wprowadzać użytkownikowi, gdy ma do dyspozycji listę rozwijaną z pozycjami do wyboru. Przykładem zastosowania takiej listy jest skorowidz jednostek miary.

W tym celu w definicji formularza wybieramy wiersz jednostka miary

konfiguracja informacji combo jednostka miary

 

Następnie ustawiamy w kolumnie Typ Kolumny jako combo.

konfiguracja informacji combo jednostka miary 1

 

Kolejnym krokiem konfiguracji programu jest wskazanie za pomocą zapytania SELECT do bazy SQL jakie dane mają być dostępne w skorowidzu. Jako dane do skorowidza pobierane są wartości z pierwszej kolumny zapytania, jeżeli zapytanie zwraca więcej kolumn to będą one ignorowane.

 

UWAGA: kontrolka COMBO nadaje się do wykorzystania dla danych słownikowych zawierających, kilka, kilkanaście wierszy do wyboru. W przypadku potrzeby rozbudowanej funkcjonalności należy skontaktować się z producentem oprogramowania. Nie należy w zapytaniu zwracać więcej niż 100 rekordów, gdyż program automatycznie ograniczy ich listę do pierwszych 100 pozycji.

 

Aby lista zawierała zdefiniowane kody jednostek miary należy wprowadzić zapytanie:

SELECT KOD FROM x_skorowidze where PRX=’JED’ and AKTYWNE=1 ORDER BY KOD

konfiguracja informacji combo jednostka miary 2

 

W efekcie na formularzu dostępna będzie lista do wyboru (combo)

konfiguracja informacji combo jednostka miary 3

 

Tekst i wartość

Istnieją sytuacje gdy tekst wyświetlany na liście wyboru COMBO nie jest tożsamy z wartością przypisaną do tekstu. Jeżeli potrzebujemy mieć zapisaną inną wartość niż wyświetlana w kontrolce Combo to należy w zapytaniu podać dwie kolumny zamiast jednej, gdzie druga kolumna oznacza tekst do wyświetlenia dla użytkownika, pierwsza natomiast to wartość, która będzie zapisana w bazie.

Przykład zapytania gdzie tekst i wartość będą takie same:

SELECT KOD FROM x_skorowidze where PRX=’JED’ and AKTYWNE=1 ORDER BY KOD

oraz zapytanie dla którego wyświetlanym tekstem będzie wartość odczytana z kolumny OPIS, a wartość zapisywana w bazie to KOD

SELECT KOD, OPIS FROM x_skorowidze where PRX=’JED’ and AKTYWNE=1 ORDER BY KOD

 

 Zmienne

W zapytaniu zwracającym listę skorowidza combo można wykorzystać zmienną @ODDZIAL aby pobierać wiersze danego oddziału w kontekście zalogowanego użytkownika. Zapytanie wówczas wyglądałoby następująco:

SELECT KOD, OPIS FROM x_skorowidze where PRX=’JED’ and ODDZIAL=@ODDZIAL and AKTYWNE=1 ORDER BY KOD

gdzie wartość @ODDZIAL zostaje zostąpiona symbolem oddziału przypisanym do użytkownika programu.