y_insert_update.aspx

Program StudioSystem za pomocą uniwersalnej transakcji y_insert_update.aspx pozwala użytkownikowi na wyświetlenie okna z kontrolkami do edycji informacji zapisanej we wskazanej tabeli. Transakcja podobna do transakcji x_insert_update.aspx, jednakże zasadniczą różnicą jest możliwość definiowania zakładek w formularzu dopisania/edycji.

UWAGA: ograniczenie rozwiązania polega na możliwości edycji danych tylko dla wskazanej jednej tabeli np. dane kartotekowe lub uzupełnianie danych dokumentów.

 

 

 

Z poziomu modułu KONFIGURACJI PROGRAMU można zaprojektować formularz z jakich elementów będzie się składać ekran dopisywania lub edycji danych.

 konfiguracja informacji insert update podglad

 

Konfiguracja programu

W celu ustawienia parametrów pozwalających zaprojektować formularz należy uruchomić moduł KONFIGURACJI.

 

konfiguracja informacji insert update

 

Dopisujemy definicję wprowadzając następujące informacje:

  • Kod transakcji – zalecane jest rozpoczęcie nazwy od INS_ + nazwa tabeli której edycja lub dopisywanie będzie obsługiwane, np. INS_KNASO przeznaczone jest jako formularz kartoteki asortymentowej
  • Nazwa – należy podać nazwę tabeli do której będą zapisywane dane, w naszym przykładzie będzie to tabela KNASO
  • Źródło danych – domyślnie SoftwareStudioConnectionString
  • Zapytanie SQL – należy podać zapytanie SELECT zawierające jakie kolumny mają być obsługiwane, dopuszcza się stosowanie symbolu *, np. SELECT TOP(1) * from knaso. Należy pamiętać o podaniu klauzuli TOP(1)
  • FILTR_KOLUMNA – podajemy nazwę kolumny w tabeli wg której będzie odszukiwanie właściwego rekordu dla odczytania w przypadku trybu pracy UPDATE, np. NRIDASN
  • SZEROKOŚĆ STRONY – wskazujemy w pikselach jaki chcemy mieć rozmiar w zakresie szerokości formularza, ponieważ program może być uruchamiany na urządzeniach z różną rozdzielczością, można wskazać jaką chcemy wymusić szerokość. Zalecana wielkość to 1000 lub więcej. Jeżeli chcemy aby okno było automatycznie dopasowane do rozmiaru okna klienta to wpisujemy wartość 0, wówczas program ustawi szerokość na 100%.

 

konfiguracja insert_update

 

Następnie należy wygenerować kolumny czyli jakie pola będą dostępne na formularzu, w tym celu uruchamiamy polecenie UTWÓRZ/ AKTUALIZUJ KOLUMNY.

Dla już utworzonych kolumn do edycji należy używać polecenia EDYTUJ KOLUMNY.

Wyświetlone zostanie okno edycji:

 

Edytuj_kolumny1

Parametry:

  • KOLEJNOŚĆ – pozwala określić jakie obiekty będą w jakiej kolejności umieszczane na formularzu
  • NAZWA KOLUMNY – nazwa z bazy SQL z jakiej dane są odczytywane i zapisywane
  • ZAKŁADKA – nazwa zakładki wyświetlona w formularzu (WYMAGANE)
  • TYTUŁ – etykieta wyświetlana obok okienka edycji
  • SZEROKOŚĆ KOLUMNY – w pikselach podajemy jakie chcemy mieć szerokie okno edycji, domyślnie 120 pikseli
  • WIDOCZNA – kolumna ustawiona jako niewidoczna nie będzie wyświetlana na formularzu mimo, że znajduje się w zapytaniu SQL
  • WYMAGANE – oznaczenie na TAK powoduje że dane okienko będzie wymagało wypełnienia, w przypadku braku danych, okienko będzie wyświetlane w czerwonym obramowaniu i nie będzie można zapisać danych
  • KLUCZ DOMYŚLNY – należy wskazać jaka kolumna stanowi unikalny identyfikator wiersza, np. NRIDASN, takie okienko może być wyświetlana ale bez możliwości edycji. Zaznaczenie klucza domyślnego skutkuje także autoatycznym nadaniem unikalnego identyfikatora rekordu w tabeli, w przypadku wywołania transakcji jako dopisania.
  • TYP KOLUMNY – pozwala wskazać w jaki sposób można dane edytować
    • Text – wprowadzanie danych tekstowych
    • Date – przeznacozny do wprowadzania dat
    • Numeric – umożliwia wporwadzanie wartości numerycznych
    • CheckBox – edycja pól logicznych, na zasadzie TAK/NIE
    • Combo – lista rozwijana dla wybrania pozycji ze słownika
    • Separator – możliwość rozdzielenia pozycji na formularzu linią poziomą
    • Password – pole tekstowe, którego wartość przy zapisywaniu jest szyfrowana w bazie, a przy odczycie wartość prezentowana jest za pomocą symboli zastępczych *. W celu odczytania wartości zaszyfrowanej należy skorzystać z metody deszyfrowania. Zastosowanie do zapisu newralgicznych danych w bazie np. haseł.
    • Image – pozwala na wyświetlanie oraz dodawanie plików graficznych (obrazków w formacie jpg)
  • SPOSÓB FORMATOWANIA pozwala wymusić sposób formatowania np. dla kolumn typu DATA należy wpisać yyyy-MM-dd
  • WYRÓWNANIE – skorowidz wyboru wyrównania danych w komórce
  • MAX ILOŚĆ ZNAKÓW – pozwala dla typu kolumny Text na określenie ile znaków można wpisać do okienka, domyślnie brak ograniczeń, należy więc precyzyjnie zabezpieczyć aby użytkownik nie przekraczał wielkości dopuszczalnych
  • WARTOŚĆ DOMYŚLNA – jeżeli wprowadzono wartość domyślną to będzie ona proponowana do zapisu. Można wprowadzać zmienne aby zamiast stałej wartości wpisywane zostały informacje systemowe lub przypisane dla użytkownika:
    • @KTO – zmienna podstawia nazwę aktualnie zalogowanego użytkownika, zmienną należy przypisywać w transakcji INSERT do kolumny LOGIN
    • @ODDZIAL – zmienna zwraca wartość symbolu oddział przypisanego do zalogowanego użytkownika
    • @ROLASYS – zmienna zwraca wartość symbolu ROLI przypisanej do zalogowanego użytkownika
    • @MPK – zmienna zwraca wartość symbolu KOMÓRKI przypisanej do zalogowanego użytkownika
    • @MAGAZYN – zmienna zwraca wartość symbolu MAGAZYNU przypisanej do zalogowanego użytkownika
    • @DATA – zwraca datę systemową
  • MULITLINE – ustawienie na TAK pozwala na wyświetlanie okienka do wpisywania dowolnie długich opisów, okienko jest wysokie na 2 wiersze
  • POGRUBIENIE – ustawienie na TAK powoduje, że etykieta opisu pola wyświetlana jest czcionką pogrubioną
  • BRAK EDYCJI INSERT – ustawienie na TAK pozwala na wyświetlenie informacji, ale brak jest możliwości wprowadzania zmian w transakcji w trybie dopisywanie
  • BRAK EDYCJI UPDATE- ustawienie na TAK pozwala na wyświetlenie informacji, ale brak jest możliwości wprowadzania zmian w transakcji w trybie modyfikacji
  • Zapytanie dla COMBO – w tym polu należy wpisać zapytanie do bazy zwracające wyniki dla pola Combo bądź parametry do definiowanego pola o określonym typie (np. DATA). W zapytaniu obsługiwane jest filtrowanie wg zmiennych systemowych:
    • @ODDZIAL – oddział odczytany z zalogowanego użytkownika
    • @MAGAZYN – magazyn odczytany z zalogowanego użytkownika
    • @ROLA – rola odczytana z zalogowanego użytkownika
    • @ROLASYS – rolasys odczytana z zalogowanego użytkownika
    • @MPK – MPK odczytane z zalogowanego użytkownika

np. SELECT NRIDWMS, ADRES FROM KNWMS WHERE AKTYWNE=’1′ AND ODDZIAL=@ODDZIAL AND MAGAZYN=@MAGAZYN ORDER BY ADRES

 

  UWAGA! Podczas konfiguracji pól w formularzu dopisania, pola, które maja przypisane zmienne, np. @MAGAZYN, @KTO itp. mozna oznaczyć jako niewidoczne, ale nalezy je przypisac koniecznie do zakładki, która jest aktywna, w przeciwnym wypadku dopisanie rekordu do bazy nie będzie możliwe – zostanie wyświetlony błąd.

 

Konfiguracja formularza dopisania/edycji

 

Dostępne parametry dla pól

Parametry dla definiowanego pola wpisujemy w kolumnie ZAPYTANIE DLA COMBO. Podając parametry można decydować o różnych właściwościach kontrolki. Jeżeli parametry nie zostaną zdefiniowane wówczas zostaną przyjęte  wartości domyślne.

Dostępne parametry przy definiowaniu pól:

  • typu DATA:
    • Mindate – wskazuje wartość minimalną daty np. mindate=-730 (ilość dni w stosunku do daty bieżącej)
    • Maxdate – wskazuje wartość maksymalna daty, np. Maxdate=365 (ilość dni w stosunku do daty bieżącej)

 

 

Parametry uruchomienia transakcji

Transakcja wymaga podania parametru identyfikującego jakie ustawienia mają zostać wykorzystane.

Jeżeli transakcja ma pracować w trybie dopisywania to parametr nazywa się kodtransakcji, jeżeli w trybie edycji to refno, który wskazuje jaki rodzaj konfiguracji ma być użyty, przykład uruchomienia:

dla aktualizacji zapisów (edycja – update)

role_sys/x_insert_update.aspx?refno=INS_KNASO

dla dopisania nowego rekordu (insert)

role_sys/x_insert_update.aspx?kodtransakcji=INS_KNASO

Opcjonalne parametry:

  • metoda=insert – zdefiniowanie parametru umożliwia wykorzystanie transakcji do kopiowania zapisanych juz rekordów w bazie, np. skopiowania kartoteki asortymentowej z przypisaniem do innego magazynu.
  • bufor=1 – udostępnieni przycisku BUFOR pozwalającego na zapis ACH=0
  • insert=1 – powoduje że wymuszonym trybem jest metoda dopisywania INSERT, a wartość klucza głównego jest zawsze nadawana jako kolejny unikalny numer referencyjny, nawet gdy ostatni parametr przekazuje wartość. Zastosowanie: gdy chcemy dopisywać dane pozycji do nagłówka, a wartość numer referencyjny ma być przekazana z tabeli nagłówkowej do pozycyjnej. Przykład: kodtransakcji=INT_INS_DPPRO&_REFNO_POZ=$REFNO&insert=1&id=123465798 – dla pola REFNO_POZ zostanie podstawiona wartość odczytana z tabeli nagłówkowej z kolumny REFNO, wartość klucza zostanie nadana nowa, a wartość id=123465798 zostanie zignorowana, ponieważ w wywołaniu znajduje się parametr insert=1

Jako ostatni parametr podajemy nazwę kolumny (pola) z bazy stanowiącego unikalny identyfikator dla danej tabeli np.

  • NRIDASN – dla KNASO
  • NRIDODN – dla KNKON
  • REFNO – dla dpmag

itp.

np. role_sys/y_insert_update.aspx?kodtransakcji=INS_KNASO&nridasn=

 

formularz dopisania kartoteki towarowej

 

Parametr return, pozwala na wskazanie jaka transakcja ma być uruchomiona po zapisaniu zamian lub kliknięciu w przycisk ANULUJ. Ponadto parametr return ustawiony z wartością off (return=off) powoduje, że przycisk anuluj nie jest wyświetlany a po zapisaniu zamian ukrywany jest przycisk zapisz, transakcja nie przekierowuje na inną. Zastosowanie ma gdy chcemy z niej korzystać w oknie na tabelą grid – okno dialogbox ustawione na TAK.

Przykład uruchomienia: role_sys/y_insert_update.aspx?refno=PAL_INS_KNASO&return=off&nridasn=

y_insert_update dialogbox

 

po zapisaniu danych

y_insert_update dialogbox zapisz

 

Parametry przekazujące wartość

Lista parametrów może zawierać dowolne parametry, które mogą przekazywać wartości. Wartości podane są podstawiane pod kontrolkę typu tekstowego jako wartość domyślną.

Przykładowo, chcemy aby transakcja automatycznie miała podstawioną wartość dla pola MAGAZYN jako SS. Uruchamiając transakcję dodajemy parametr zaczynający się od znaku podkreślenia _ + nazwa pola dla którego chcemy przypisać wartość. Parametr podstawiający wartość SS dla pola magazyn nazywać się musi _magazyn.

role_sys/y_insert_update.aspx?refno=PAL_INS_KNASO&_magazyn=SS&return=off&nridasn=

Rozwiązanie można połączyć z transakcją x_grid, gdzie wartość parametru będzie odczytywana z dowolnej kolumny tabeli.

http://www.programmagazyn.pl/studio-system/transakcje/role_sys/x_grid-aspx/x_grid-aspx-toolbar-menu/

 

 Przekierowanie na inną transakcję

Klikając na przycisk ZAPISZ po prawidłowym zapisaniu danych, program wraca do miejsca z którego została wywołana transakcja y_insert_update.aspx. Wdrożeniowiec może jednak zdecydować, że po zapisaniu zamian należy uruchomić wskazaną konkretną transakcję. W tym celu wykorzystując parametr return wskazujemy co ma być uruchomione.

Przykład uruchomienia: role_sys/y_insert_update.aspx?refno=PAL_INS_KNASO&return=x_grid.aspx?refno=PAL_DOST&nridasn=

po zapisaniu program przekieruje na transakcje x_grid.aspx?refno=PAL_DOST

 

 

Przycisk BUFOR

Możemy dodać przycisk BUFOR wyświetlany pomiędzy przyciskiem ZAPISZ i ANULUJ, który spowoduje zapis danych formularza z ACH=0 bez kontroli poprawności danych.

W tym celu należy uruchamiając transakcję podać parametr bufor=1

Przykład uruchomienia dla polecenia DOPISZ (w trybie edycji nie jest zalecane stosowanie polecenia do bufora)

kodtransakcji=INS_KNKON&bufor=1&nridasn=

 

y_insert_update bufor

 

Obsługa plików graficznych – typ Image

Dla dowolnego pola z zapytania można ustawić typ danych jako Image, w efekcie program będzie wyświetlał oraz pozwalał na zapisanie pliku graficznego jpg.

Przykładowo ustawiamy dla pola mail typ kolumny jako Image, w kolumnie sposób formatowania podajemy dowolne polecenie stylu HTML formatujące obrazek, domyślnie jest to określenie jego rozmiaru (width:100px; height: 100px;)

 

y_insert_update image konfiguracja

W efekcie przy edycji formularza mamy wyświetlone pole w rozmiarze 100 pikseli na 100,

y_insert_update image

 

Jeżeli plik nie istnieje to wyświetla się pusty element, poniżej którego może się wyświetlać poleceni pozwalające na dodawanie plików (Wybierz plik). Po kliknięciu na przycisk wyświetli się standardowe okno systemu Windows pozwalające na przeszukiwanie lokalnego komputera i wybranie pliku obrazku do wgrania (format jpg). Zapisanie danych automatycznie zapisuje także obrazek.

y_insert_update image podgląd

 

Dodawanie plików

Dostęp do funkcji dodawania plików (lub zamiany) zależy od ustawienia parametrów

  • brak edycji przy update
  • brak edycji przy insert

y_insert_update dodawanie plików

Po ustawieniu braku dostępu do edycji, polecenie Wybierz plik nie jest dostępne.

y_insert_update dodawanie plików brak

 

Ustawienie rozmiaru obrazka

Jeżeli w formatowaniu obrazka nie podamy rozmiaru pliku to będzie wyświetlany oryginalny rozmiar pliku, możemy jednak określić jaki rozmiar (kolumna SPOSÓB FORMATOWANIA) chcemy wyświetlać podając szerokość i wysokość, zmieniając na width:200px; height: 200px; spowodujemy, ze obrazek będzie większy.

y_insert_update image 200px

 

 Techniczne rozwiązanie

Pliki są zapisywane w folderze App_Fot\numer referecyjny\nazwa pola

Przykładowo, jeżeli w naszej konfiguracji ustawiamy obsługę obrazka dla pola o nazwie EMAIL to zapis obrazka dla rekordu z numerem referencyjnym 3033155339720 zostanie zapisany w następujący sposób:

App_Fot\3033155339720\email.jpg

 

Uwaga: Aplikacja wymaga ustawienia w systemie plików NTFS na serwerze pełnych praw do zapisu i modyfikacji dla użytkownika SYSTEM

folder App_Fot