StudioSystem zapewnia również potężne narzędzia do debugowania, które pozwalają programistom szybko identyfikować i naprawiać błędy. Dzięki temu programiści mogą znajdować i rozwiązywać problemy w kodzie, zanim staną się one większymi problemami. Ponadto platforma obsługuje różnorodne frameworki i technologie programistyczne, umożliwiając programistom korzystanie z najbardziej wydajnych i efektywnych narzędzi do tworzenia aplikacji.
W poprzednim artykule opisałem metodę wykorzystania transkacji j_insert_update.aspx do przygotowania formularza dopisywania pozycji dokumentu. Poniższy artykuł jest kontynuacją poprzedniego i opisuje dodatkowe zmiany w projektowaniu formularza.
W poprzednim artykule opisałem jak stworzyć formularz taki jak ten:
Wyświetlanie tabelki od lewej krawędzi
Dane na formularzu umieszczane są w dwóch kolumnach, lewa to opis (caption) danej kontrolki, w drugiej kolumnie kontrolka. W związku z tym opis Kontrahent, Asortyment, Ilość itp. są po lewej stronie ze stałą szerokością. W formularzu jak powyżej możemy chcieć, aby tabela była wyświetlana od lewej strony, by zapełnić wolne miejsce. Zrealizować to możemy zmieniając szerokość opisu (który w tym wypadku jest pusty, bo w konfiguracji kolumnie tytuł wpisałem znak -) dodając w funkcji uruchamianej onLoad na polecenie zmiany szerokości obiektu po lewej stronie tabelki (obiekt jest niewidoczny dla użytkownika). Identyfikator obiektu to słowo caption + zdefiniowana nazwa kontrolki, przykładowo kontrolkę do wyświetlania tabeli nazwałem TABELA, tak więc obiekt do zmiany szerokości identyfikuję jako captionTABELA
Dodaję więc polecenie ustawiające szerokość na 10 pikseli:
$('#captionTABELA').css('width', '10px');
Cała funkcja wygląda teraz tak:
function SsOnLoad() { $('#BTN_DODAJ').html("<span id='btnDodaj' onclick='return btnDodaj()' class='art-button art-buttonBlue' style='width: 200px; '>Dodaj</span>"); UstawDphanTable('TABELA'); $('#captionTABELA').css('width', '10px'); }
A dla użytkownika w programie:
Podział formularza na zakładki
Wywołując transakcję usuwam parametr ustawiający lewy panel na 0 pikseli, teraz uruchamiam z parametrami:
script=../role_crm/crm_dphan&scriptonload=SsOnLoad()&scriptonready=SsOnReady()&kodtransakcji=CRM_INS_DPHAN&refno=
W efekcie otrzymuję widoczny panel po lewej stronie z nazwą jednej zakładki
Zakładka nagłówek
Zmieniam nazwę zakładki dla pola kontrahent na Nagłówek:
W efekcie zmiany otrzymam nową zakładkę w której znajdzie się kontrolka wyboru kontrahenta
Pozostałe kontrolki program umieścił w zakładce pozycje
Ustawienie w zakładce nagłówek dodatkowych kontrolek:
- Miejsce dostawy
- Termin realizacji
- Opis
W efekcie otrzymujemy
Konfiguracja
Całość ustawień prezentuje poniższa tabela:
NRIDODN
W kolumnie zapytanie dla combo
TOP(20) UPPER(NRIDODN), SKROCO + ' (' +MIEJSCOWOSC + ')' AS OPIS FROM knkon WHERE ROLASYS=@ROLASYS AND (SKROCO + MIEJSCOWOSC LIKE '%$SearchString%') and (AKTYWNE = 1) ORDER BY SKROCO
W kolumnie parametry
ssplaceholder='Nazwa kontrahenta lub miejscowość (min 2 znaki)'
NRIDCRM
W kolumnie zapytanie dla combo
upper(NRIDCRM) AS NRIDCRM, NAZWA FROM KNCRM WHERE PRX='MDN' AND NRIDODN=$SearchString AND AKTYWNE=1 ORDER BY NAZWA
W kolumnie parametry
ssparentcombo="NRIDODN" ssselect="upper(NRIDCRM) AS NRIDCRM, NAZWA FROM KNCRM WHERE PRX='MDN' AND NRIDODN=$SearchString AND AKTYWNE=1 ORDER BY NAZWA"
NRIDASN
W kolumnie zapytanie dla combo
TOP(20) NRIDASN, INDEKS + ' ' + NAZWAAS AS INDKES FROM knaso WHERE (INDEKS + NAZWAAS LIKE '%$SearchString%' ) AND (AKTYWNE = 1) ORDER BY INDEKS
W kolumnie parametry
ssplaceholder='Indeks lub nazwa artykułu (min 2 znaki)'