Standardowe wykorzystanie transakcji j_insert_update.aspx ogranicza się do dopisywania i edycji pojedyńczych rekordów - najczęściej zapisów kartotekowych. Pojedynczy zapis to taki, który zawiera unikalny identyfikator pozycji i jest w tabeli zapisy jeden raz np. NRIDASN to unikalny identyfikator wiersza tabeli KNASO.
Artykuł opisuje jak za pomocą JQuery możemy przekonfigurować transakcję j_insert_update.aspx, aby móc stworzyć transakcję pozwalajacą na dopisywanie wielu rekordów jako pozycję dokumentu.
Uwaga: opis dla osób zaawansowanych w programowaniu JQuery + StudioSystem, zakładam że znane są poprzednie artykuły dotyczące zaawansowanego programowania transakcji j_insert_update.aspx w tym dodawania własnego pliku js i wskazywania funkcji.
Zadanie do wykonania
W efekcie zmian w konfiguracji chcemy otrzymać w pełni funkcjonalny formularz za pomocą którego będziemy mogli dopisywać pozycje zamówienia.
Krok 1
Przygotowujemy szablon insert update CRM_INS_DPHAN, i definiujemy jego zawartość:
Krok 2
Dodajemy polecenie uruchamiające transakcję j_insert_update.aspx która wyświetlać będzie nasz formularz w następujący sposób:
gdzie w kolumnie parametry transakcji podajemy
Krok 3
przygotowujemy plik role_crm/crm_dphan.js
w którym umieszczamy funkcje
SsOnLoad()
Funkcja dodaje w kontrolce o nazwie BTN_DODAJ przycisk i wskazuje że po jego kliknięciu ma być uruchomiona funkcja btnDodaj().
SsOnReady()
Funkcja ukrywa przycisk ZAPISZ w górnym pasku formularza, pozostaje tylko przycisk ANULUJ.
UstawDphanTable()
Zadaniem funkcji jest zbudowanie tabelki na podstawie zapytania do bazy i umieszczenie jej we wskazanym obiekcie, nazwa przekazana jako zmienna cKontrolka.
btnDodaj()
Zadaniem funkcji jest wykonanie zadań związanych z obsługą zdarzenia kliknięcia myszką przez użytkownika na przycisk DODAJ. Po kliknięciu kontrolka wyboru kontrahenta (NRIDODN) jest ustawiana jako nieedytowalna.
DodajSucceeded(wynik)
Funkcja jest wykonywana po prawidłowym zakończeniu dopisywania danych do bazy. Jeżeli program zwraca jakiś komunikat błędu związanego z zapisem to obsługiwany jest przez zmienną wynik, jeżeli coś zwraca to wyświetla się okno z komunikatem.
Podsumowanie
Powyższy opis zawiera komplet do stworzenia zapisu wielopozycyjnego dokumentu zamówień dla kontrahenta, w efekcie w programie transakcja dla użytkownika wygląda tak:
A jak zatwierdzić dokument ?
Zatwierdzenie dokumentu polega na zmianie zapisu w kolumnie ACH na 1 oraz wygenerowaniu kolejnego numeru dokumentu.

j_insert_update - zaawansowane programowanie - pozycje dokumentu

j_insert_update - zaawansowane programowanie - pozycje dokumentu
Dokumentacja techniczna StudioSystem. Pytania wdrożeniowe: kontakt z SoftwareStudio.