logo-softwarestudio-2020-600

j_insert_update – zaawansowane programowanie – pozycje dokumentu cz. II

Zaawansowane języki programowania, takie jak C# i Java, dają programistom możliwość tworzenia zaawansowanych aplikacji z szeroką gamą funkcji i możliwości. Te języki są potężne i umożliwiają tworzenie aplikacji, które mogą obsługiwać duże ilości danych i zapewniają solidne interfejsy użytkownika. Deweloperzy mogą również korzystać z zaawansowanych funkcji, takich jak programowanie obiektowe i wątkowanie, co pozwala na tworzenie złożonych aplikacji przy minimalnym wysiłku.

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:

insert_update pozycje

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:

insert_update pozycje left obiekt

 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

insert_update left panel

Zakładka nagłówek

Zmieniam nazwę zakładki dla pola kontrahent na Nagłówek:

insert_update left panel nagłówek

W efekcie zmiany otrzymam nową zakładkę w której znajdzie się kontrolka wyboru kontrahenta

insert_update left panel nagłówek 1

Pozostałe kontrolki program umieścił w zakładce pozycje

insert_update left panel nagłówek 2

Ustawienie w zakładce nagłówek dodatkowych kontrolek:

  • Miejsce dostawy
  • Termin realizacji
  • Opis

W efekcie otrzymujemy

insert_update zakładka nagłówek

Konfiguracja

Całość ustawień prezentuje poniższa tabela:

insert_update konfiguracja

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