Nowoczesne Rozwiązanie do Zarządzania Danymi
Program StudioSystem, będący częścią oferty SoftwareStudio, wyróżnia się funkcją uniwersalnych transakcji. Jedną z kluczowych jest y_insert_update.aspx, która rewolucjonizuje edycję danych w tabelach. Użytkownik ma możliwość łatwego dostępu do okna edycyjnego, co umożliwia efektywne zarządzanie informacjami.
Unikalne Cechy Transakcji y_insert_update.aspx
Co wyróżnia y_insert_update.aspx od innych podobnych funkcji, takich jak x_insert_update.aspx? Kluczową różnicą jest możliwość definiowania zakładek w formularzu edycji. Dzięki temu, użytkownicy mogą precyzyjniej zarządzać danymi, co zwiększa funkcjonalność i wydajność pracy.
Ograniczenia i Możliwości
Chociaż transakcja y_insert_update.aspx umożliwia edycję danych wyłącznie w jednej tabeli, otwiera to szerokie możliwości. Użytkownicy mogą modyfikować zarówno dane kartotekowe, jak i dokumenty, co jest dostosowane do specyficznych potrzeb danej tabeli.
Personalizacja Formularza Edycyjnego
Aby w pełni wykorzystać potencjał transakcji y_insert_update.aspx, użytkownik powinien przejść do modułu KONFIGURACJI PROGRAMU. Tutaj można zaprojektować formularz, decydując o jego wyglądzie i funkcjach. To daje pełną kontrolę nad procesem edycji.
Podsumowanie
Podsumowując, transakcja y_insert_update.aspx w programie StudioSystem oferuje zaawansowane narzędzie do edycji danych. Dzięki personalizacji formularza i możliwości definiowania zakładek, użytkownicy mogą dostosować proces edycji do swoich indywidualnych potrzeb i wymagań, co znacząco ułatwia zarządzanie danymi.
Udoskonalona Edycja Danych w StudioSystem – Transakcja 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 programu
W celu ustawienia parametrów pozwalających zaprojektować formularz należy uruchomić moduł KONFIGURACJI.
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%.
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:
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.
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=
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=
po zapisaniu danych
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=
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;)
W efekcie przy edycji formularza mamy wyświetlone pole w rozmiarze 100 pikseli na 100,
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.
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
Po ustawieniu braku dostępu do edycji, polecenie Wybierz plik nie jest dostępne.
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.
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