Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Polecenia funkcji 'external'

...

To są pojedyncze polecenia, których wywołanie polega na przekazaniu do funkcji external parametru line, złożonego z nazwy i parametrów externala (bez spacji). o wartości podanej w poniższej tabeli:

Jak MAIL S, ale wymaga podania dodatkowych wartości

  • mime_type
  • kind - rodzaj maila (taki sam jak litera przesyłana do skryptu generującego mail określająca rodzaj operacji)
  • czyt_id - identyfikator rekordu czytelnika (sama liczba)
  • set_time - zakres godzin kiedy e-mail może
    NazwaParamsOpis
    BLOfwykonuje jedną z funkcji operacji na plikach binarnych (zob. dalej)CLEARDB Kasuje całą bazę poza tabelami tbl_users, tbl_params, tbl_params_templates, tbl_kinds, tbl_versions BEZZWROTNIE... I ustawia wewnętrzne liczniki indeksów, na podstawie zawartości wyczyszczonej bazy.CZTdata|agenda|rejestr|liczbado zmiany wpisu w tabeli czytelni dla podanej daty, agendy i kodu (jeśli liczba = 0, wiersz zostanie wykasowany), próba aktualizacji nie istniejącego wiersza, będzie ignorowana i nie zwróci błęduDELETEidtUsunięcie rekordu o przesłanym idt (rec_type + rec_id)HELLO Zwraca łańcuch znaków, za pomocą którego klient SOWY przedstawił się w serwerze (poleceniem hello)DEFpole

    zwraca kind rekordu, np: DEFU245T (rekord U, pole 245T) zwróci XTY, gdzie X - oznacza, że pole jest indeksowane.

    Info
    • w SowaSQL każde pole zwracane jest jako X, ponieważ nie ma podziału na bazę pól indeksowalnych i nie indeksowalnych
    EGZod|doKasuje wszystkie egzemplarze z przesłanego zakresu (od - do). Operacja kasowania wykonywana jest wyłącznie na tabelach wypożyczalni (obroty, egzemplarze, ubytki, itd). External nie ma wpływu na tabelę z opisem rekordów (tbl_items_idx i tbl_items_full). Format przesłanych sn jest bez znaczenia (mogą być z kreskami, lub bez). Jeśli chcemy wykasować tylko jeden sn, wówczas podajemy go w obu parametrach, aczkolwiek, z punktu widzenia wydajności kasowanie zakresu jest dużo lepszym rozwiązaniem.INDEXES zwraca listę identyfikatorów indeksu "orders" aktywnych dla zalogowanego profilu (rezultat jest stringiem, w którym poszczególne identyfikatory są oddzielone pionową kreską)IPUBfWykonuje jedną z funkcji IPUB (zob. dalej)ISBNisbnKontrola poprawności ISBNu, jeśli kod jest poprany, zwraca pusty string, w przeciwnym wypadku komunikat błędu,LICENCJA Zwraca wartość linia_1|linia_2 - gdzie linie oznaczają wartości dla dwóch linii drukowanych na nalepkachMAIL Ssmtp|mail|tytuł|treśćWysyła maila przez konfigurację SMTP o symbolu smtp (pusta wartość to konfiguracja domyślna, pozostałe wartości są zdefiniowane w CFG_MAIL_SENDERS), na adres odbiorcy mail o podanych tytule i treści.MAIL Xsmtp|mail|tytuł|mime_type|kind| czyt_id|set_time|treść
    CZTdata|agenda|rejestr|liczbado zmiany wpisu w tabeli czytelni dla podanej daty, agendy i kodu (jeśli liczba = 0, wiersz zostanie wykasowany), próba aktualizacji nie istniejącego wiersza, będzie ignorowana i nie zwróci błędu
    DELETEidtUsunięcie rekordu o przesłanym idt (rec_type + rec_id)
    DEFpole

    zwraca kind rekordu, np: DEFU245T (rekord U, pole 245T) zwróci XTY, gdzie X - oznacza, że pole jest indeksowane.

    Info
    • obecnie każde pole zwracane jest jako X, ponieważ nie ma podziału na bazę pól indeksowalnych i nie indeksowalnych


    EGZod|doKasuje wszystkie egzemplarze z przesłanego zakresu (od - do). Operacja kasowania wykonywana jest wyłącznie na tabelach wypożyczalni (obroty, egzemplarze, ubytki, itd). External nie ma wpływu na tabelę z opisem rekordów (tbl_items_raw i tbl_items_full). Format przesłanych sn jest bez znaczenia (mogą być z kreskami, lub bez). Jeśli chcemy wykasować tylko jeden sn, wówczas podajemy go w obu parametrach, aczkolwiek, z punktu widzenia wydajności kasowanie zakresu jest dużo lepszym rozwiązaniem.
    INDEXES
    zwraca listę identyfikatorów indeksu "orders" aktywnych dla zalogowanego profilu (rezultat jest stringiem, w którym poszczególne identyfikatory są oddzielone pionową kreską)
    IPUBfWykonuje jedną z funkcji IPUB (zob. dalej)
    ISBNisbnKontrola poprawności ISBNu, jeśli kod jest poprany, zwraca pusty string, w przeciwnym wypadku komunikat błędu,
    LENGTH<kodowanie><napis>

    Zwraca długość napisu w określonym kodowaniu tekstu.

    Kodowanie:

    U - liczba 16-bitowych znaków Unicode
    8 - liczba 8-bitowych znaków w kodowaniu UTF-8

    LICENCJA
    Zwraca wartość linia_1|linia_2 - gdzie linie oznaczają wartości dla dwóch linii drukowanych na nalepkach
    MAIL Ssmtp|mail|tytuł|treśćWysyła maila przez konfigurację SMTP o symbolu smtp (pusta wartość to konfiguracja domyślna, pozostałe wartości są zdefiniowane w CFG_MAIL_SENDERS), na adres odbiorcy mail o podanych tytule i treści.
    MAIL Xsmtp|mail|tytuł|mime_type|kind| czyt_id|set_time|treść

    Jak MAIL S, ale wymaga podania dodatkowych wartości

    • mime_type
    • kind - rodzaj maila (taki sam jak litera przesyłana do skryptu generującego mail określająca rodzaj operacji)
    • czyt_id - identyfikator rekordu czytelnika (sama liczba)
    • set_time - zakres godzin kiedy e-mail może być wysłany w formacie hh,hh
    NEWdpolaTworzy nowy dokument typu d - pola to lista pole=wartość, rozdzielane znakiem o kodzie #13 (\r)
    OBRZdata|whereUstawia datę zwrotu data w tabeli obrotów gdzie spełniony jest SQLowy warunek where.
    PROFILE
     

    Nazwa profilu bieżącego użytkownika
    RANGE
    PROTOCOL
    od|do|kind

    Polecenie zwraca listę rekordów (oddzielonych pionową kreską) dla których zostanie wykonane następujące zapytanie SQL:

    Code Block
    languagesql
    SELECT * FROM TBL_ITEMS_IDX WHERE FLD_STR_FIELD >= OD AND FLD_STR_FIELD <= DO AND FLD_KIND = KIND

    czyli zostanie zwrócona lista rekordów, których wartość pola fld_str_field znajduje się w zakresie wartości od - do

    REPLACE

    typ_rekordu|sql_where|

    stary|nowy

    Wyszukuje POLA należące do rekordów typu typ_rekordu, zgodne z SQLowym warunkiem sql_where, następnie w tak znalezionych polach, jest zamieniany ciąg znaków stary na nowy. Nie są wykonywane skrypty otwarcia, zamknięcia czy propagacji, tabela items_idx_full jest automatycznie aktualizowana o przeprowadzone zmiany. External jest dostępny wyłącznie dla użytkownika sokrates, z maszyny lokalnej (jeśli mamy lokalną wersję serwera), lub zalogowanego zdalnie z naszego IP.

    agenda|nr_prot

    agenda|nr_prot|nowa_data|nowy_numer|nowy_nr_rej|

    Zwraca dane protokołu: data|agenda|nr_prot|rejestr|nr_rej|status|

    Zmienia wypełnione nowe pola protokołu. Zwraca dane poprawionego protokołu.

    W przypadku błędu zwraca jego opis poprzedzony znakiem |

    RANGEod|do|kind

    Polecenie zwraca listę rekordów (oddzielonych pionową kreską) dla których zostanie wykonane następujące zapytanie SQL:

    Code Block
    languagesql
    SELECT * FROM TBL_ITEMS_RAW WHERE FLD_STR_FIELD >= OD AND FLD_STR_FIELD <= DO AND FLD_KIND = KIND

    czyli zostanie zwrócona lista rekordów, których wartość pola fld_str_field znajduje się w zakresie wartości od - do

    RIGHTrwartość atrybutu przypisanego do uprawnienia o nazwie r dla bieżącego użytkownika. Jeżeli użytkownik nie ma uprawnienia r to wynikiem jest '*' (gwiazdka)
    SEARCHidentyfikatorNa podstawie identyfikatora zwraca nazwę indeksu "orders" (np.: dla identyfikatora TY, zwróci "tytuł")
    SETparam wartośćUstawia nową wartość parametru Sowy o nazwie param
    SKOfWykonuje jedno z poleceń skontrum (zob. dalej)
    SKR_SETDONT_CHECK Wywołanie tego externala, spowoduje, że program wykonywany na kolekcji NIE zostanie przerwany, jeśli podczas obróbki któregoś z rekordów wystąpi błąd.SQL
    SQLfWykonuje jedno z poleceń SQL (zob. dalej)
    STArekord|operacja|rekord nadrzędnyDodaje wpis do tabeli statystycznej dla rekordu rekord, z informacją o rodzaju operacji operacja (P - propagacja, A - dodanie, U - aktualizacja, D - usunięcie). Jeśli operacją jest propagacja, wówczas wymagany jest jeszcze trzeci parametr rekord nadrzędny, który zawiera identyfikator rekordu propagowanego.
    USER
    THEM
     nazwa bieżącego zalogowanego użytkownikaUSERS

    USERS?

    USERS#user,profil,prawa

    Składnia praw dla komendy USERS# jest identyczna jak dla komendy user klienta administracyjnego.

    External USERS? zwróci listę wszystkich użytkowników systemu, w formacie identycznym jak komenda users export klienta administracyjnego, z tą różnicą iż zamiast podziału na linie, poszczególne wpisy są oddzielone pionowa kreską (|).

    Komenda USERS#, przyjmuje argumenty w identycznym formacie, można przy jej pomocy zmieniać prawa i profil już istniejącego użytkownika, bądź dodać nowego (zostanie utworzony z hasłem: 1).

    Komenda USERS# ma dwa dodatkowe znaczniki. Jeśli przed nazwą użytkownika wstawimy:

    • "-" - wówczas konto danego użytkownika zostanie zdezaktywowane i nie będzie można się na niego zalogować, konto można aktywować wykonując komendę z tymi samymi parametrami, ale bez znaku "-"
    • "*" - resetujemy hasło danego użytkownika do wartości "1".
    WYPfwykonuje jedną z funkcji wypożyczalni (zob. dalej)

    Externale skryptów ACT

    Są to polecenia dedykowane dla skryptów ACT (akcje formularzy w programie klienta systemu SOWA) i niedostępne w innych typach skryptów, które uruchamiane są po stronie serwera SowaSQL.

    NazwaParamsOpis
    At|listawprowadź nowy rekord typu t
    Lista to kolejne pola nowego rekordu rozdzielone znakiem o kodzie #13 (\r), np. 159Z.1.1.1.1=aaa
    Bi|swydruk naklejki o identyfikatorze i oraz sygnaturze s
    CVadres|typ|ix|kluczPrzeglądanie CKHW, np. CV$CFG_CKHW_A$|A|HH
    DE|napisokno dialogowe z opisem błędu
    DF|polewybór czcionki
    DL|listawybór z listy - gdzie lista jest zdefiniowana jako ciąg par <kod>#1<opis>#1 - wynikiem jest wybrany z z okna <kod>.
    DM|napisokno dialogowe z informacją
    DO|file|opis|extdialog pobrania nazwy pliku (odczyt)
    DP|fld|before|after|linesuaktywnienie menu tekstów dla wskazanego pola
    DQ|napisokno dialogowe z zapytaniem tak/nie
    DS|file|opis|extdialog pobrania nazwy pliku (zapis)
    DT|listawybór z listy prezentowanej w formie drzewa - elementy drzewa to krotki <poziom>|<kod>|<opis> rozdzielane znakiem #13
    DW|napisokno dialogowe z ostrzeżeniem
    ELZbkod|pole(question) znajdź ostatni wpis w bazie - ELZb<kod>|949Z
    FO|filepobranie zawartości pliku
    FS|file|contentszapisanie pliku
    FT|filepobranie pliku tekstowego bez sygnalizacji braku
    FW ścieżka do katalogu roboczego
    Ffile|opis|extwyszukanie pliku
    HO lista rekordów otwieranych
    HZ lista rekordów zapisywanych
    If|x|hwywołanie formatowania KHW (<format>|<ix>|<hardkey>)
    Jfilewyszukanie pliku
    Lixwartość ostatniego wpisu w indeksie ix
    opcjonalnie można podać prefix w L<ix>|<prefix>
    MCidpozaekranowa edycja rekordu - anuluj edycję rekordu
    MOidpozaekranowa edycja rekordu - otwórz rekord bez formularza
    MSid|datapozaekranowa edycja rekordu - zapisz rekord bez formularza
    Nd|polaDodaje bez edycji nowy rekord typu d i ustawia pola (pole=wartość)
    OrekordOtwiera rekord do edycji
    PO edycja helpów - pobierz plik pomocy
    PS edycja helpów - zapisz plik pomocy
    Rddialog wyszukiwania rekordu danego typu (np. RU) (szukania referencji dokumentu)
    UN Nazwa bieżącego użytkownika
    UP Profil bieżącego użytkownika
    UR Prawa bieżącego użytkownika
    Vidwynik skryptu referencja dla rekordu id
    Vid|namewynik skryptu o podanej nazwie name dla rekordu id
    Wf|idznajdź opis dokumentu <format>|<idt>
    Xx|ldialog wyszukiwania KHW w indeksie x dla pola l (np. XXa|pole)
    Yix|kluczwybiera z KHW wartość pola 'full'
    !fileUruchom program skojarzony z file
    ? zwraca położenie kursora
    *ELZb (question)

     

    External WYP

    Grupa poleceń do obsługi wypożyczalni. Wywołanie: external('WYP<cmd><params>'):

    ...

    Zmiana danych czytelnika. Drugi znak komendy precyzuje operację (i dereminuje też op_params, które zawierają kolejne parametry). Dostepne wartości op:

    K - kod kreskowy. Rejestruje nowy kod kreskowy dla czytelnika i wizytę czytelnika w agendzie. op_params zawierać winno nowy kod kreskowy. jeśli zostanie podany pusty - unieważnia bieżący kod kreskowy czytelnika.

    L - limit wypożyczeń. op_params zawiera nowy limit wypożyczeń.

    W - data ważności. op_params zawiera nową datę ważności konta

    B - blokada. op_params zawiera treść blokady konta

    Z - korekta daty zapisu. op_params zawiera nową datę zapisu czytelnika

    ...

    Pobiera pole f rekordu czytelnika o identyfikatorze rekord. Np. WYPFO123|Z.1 pobiera pierwsze wystąpienie pola Z rekordu O123

    Tym samym eksternalem można pobierać pola rekordu bazy podstawowej. (zob. eksternal WYPP).

    ...

    Informacja o globalnym stanie konta czytelnika (we wszystkich agendach). Zwraca:

    <wyp>|<rez>|<zam>|<kary>|<prz>

    <wyp> - liczba wypożyczonych pozycji
    <rez> - liczba rezerwacji
    <zam> - liczba zamówień
    <kary> - kwota niezapłaconych kar
    <prz> - liczba pozycji przetrzymanych (których data zwrotu upłynęła)

    ...

    Informacja o stanie konta czytelnika w agendzie. Zwraca:

    <wyp>|<rez>|<zam>|<kary>|<kaucje>|<wizyta>|<prz>

    <wyp> - liczba wypożyczonych pozycji
    <rez> - liczba rezerwacji
    <zam> - liczba zamówień
    <kary> - kwota niezapłaconych kar
    <kaucje> - kwota wpłaconych kaucji
    <wizyta> - data ostaniej wizyty
    <prz> - liczba pozycji przetrzymanych (których data zwrotu upłynęła)

    UWAGA1: jeśli parametr wyp.penalty.default.settlements zawiera A to działa jak wyżej, inaczej zwraca wartości globalne (nie w agendzie).  

    UWAGA2: jeśli parametr wyp.penalty.default.settlements zawiera C to kwota niezapłaconych kar zwracana jest globalnie, inaczej zwraca wartości w agendzie. 

    ...

    Informacja o zawartości konta czytelnika. Drugi znak komendy precyzuje operację i determinuje op_params. W przypadku zwracania listy - kolejne wiersze rozdzielane są znakiem o kodzie #13 (\r). Dostępne wartości op:

    A - informacja o agendzie zapisu (zwraca numer agendy)

    W - bieżący stan wypożyczeń. Zwraca listę wartości <sn>|<agenda>|<data_wyp>|<data_zwr>

    H - historia wypożyczeń. Zwraca listę wartości <sn>|<agenda>|<data_wyp>|<data_zwr>

    R - bieżący stan rezerwacji. Zwraca listę wartości <sn>|<agenda>|<status>|<data_rez>|<czas_rez>

    Z - bieżący stan zamówień. Zwraca listę wartości <rekord>|<agenda>|<data_zam>|<czas_zam>|<data_max>

    K - kary do zapłacenia. Zwraca listę wartości <agenda>|<data_nal>|<flag>|<sn>|<wartość>

    P - wpłaty/wypłaty. Zwraca listę wartości <agenda_w>|<data_wpl>|<rodzaj>|<kwit>|<wartość>

    O - odwiedziny. Jako op_params można podać numer agendy, jeśli się nie poda, zwraca listę dla wszystkich agend. Zwraca listę: <data>|<agenda>

    o - Jako op_params należy podać <data>| lub <data>|<agenda> - Jeśli data odwiedzin wskazanej agendy jest większa lub równa podanej, zwracana jest ta data. W przypadku nie podania agendy, sprawdzane są wszystkie agendy.

    ...

    M - czyt|sn - zwraca liczbę wygenerowanych monitów

    ...

    Informacja o rezerwacji egzemplarza o identyfikatorze sn. Zwaca:

    <czytelnik>|<agenda>|<status>|<data_rez>|<czas_rez>

    ...

    Sprawdza status dostępności i agendę dla egzemplarza o identyfikatorze sn. Zwraca łańcuch postaci <dostępność>|<agenda> - gdzie <dostępność> wyrażona jest kodem: D - dostępne, Nx - niedostępne z powodu x (Z - zarezerwowane, W - wypożyczone). Np. NZ|0 - egzemplarz należy do agendy o numerze "0", nie jest dostępny gdyż jest zarezerwowany.

    W przypadku pozycji ubytkowanej dodatkowo zwracane jest <agenda>|<data>|<dokument>|<pozycja>|<nr_kol>

    W przypadku pozycji zgłoszonej do ubytkowania (dostępność Nx gdzie x <> W i Z): <ubytek>|<data_wp><agenda>, zaś jeśli <ubytek>=P, dodatkowo <dokument>|<pozycja>

    ...

    Informacja o wypożyczeniu egzemplarza o identyfikatorze sn. Zwraca:

    <czytelnik>|<kas>|<data_wyp>|<data_zwr>

    ...

    Informacja o wypożyczeniu egzemplarza o identyfikatorze sn. Zwraca:

    <czytelnik>|<kas>|<data_wyp>|<data_zwr>|<prolongaty_automatyczne>

    ...

    Usuwanie pozycji. Drugi znak precyzuje operację i determinuje op_params (niżej podane zaraz za kodem operacji). DOstępne wartości op:

    Z - rekord_ks|rekord_czt - Usunięcie zamówienia na rekord_ks dla czytelnika rekord_czt

    R - sn - Usunięcie rezerwacji bez obsługi zamówienia

    A - sn - Realizacja zamówienia na egzemplarz

    ...

    Zamienia ustawienia prawa wypożyczanie (&W) oraz inne (&I) dla aktualnie zalogowanego użytkownika.

    Ustawia przesłaną agendę jako nową agendę główną dla prawa wypożyczanie, jednocześnie przenosząc agendę z tego prawa, do prawa inne

    Code Block
    titleprzykład
    przed: &W=01;&I=00,03,04,05,06
    operacja: WYP:03
    po: &W=03;&I=00,04,05,06,01

    Zwraca komunikat błędu, lub pusty string.

    External SKO

    Grupa poleceń do obsługi skontrum. Wywołanie: external('SKO<cmd> <params>'):

    cmdparamsWynik funkcji
    Q?snZwróci 'S' jeśli egzemplarz o podanym sn jest brakiem stałym, '+' jeśli jest oznaczony jako "na półce" lub pusty string, jeśli status jest nie określony.
    Q+snOznacza egzemplarz o podanym sn jako znajdujący się na półce, zwraca '+'
    Q-snOznacza egzemplarz o podanym sn jako nie znajdujący się na półce, zwraca '-'
    Q*snJeśli egzemplarz o podanym sn jest "na półce" ściąga go i zwraca '-', jeśli go nie ma dodaje go i zwraca '+'
    Ssn

    Status egzemplarza. Zawsze zwraca co najmniej: <dostęp><powód>|<agenda>.

    Jeśli <dostęp>=U dodatkowo zwraca informację o pozycji ubytkowanej, tj: <data>|<dokument>|<pozycja>|<nr_kol>

    Jeśli <dostęp>=N zaś <powód> nie jest W lub Z dodatkowo zwraca informację o pozycji zgłoszonej do ubytkowania, tj: <ubytek>|<data_wp>, a jeśli <ubytek>=P to jeszcze <dokument>|<pozycja>

     

    UsnCzy jest stały ubytek. Jeśli nie, zwracany jest pusty łańcuch.
    -rekord|lista snAktualizuje bazę skontrum na podstawie przesłanej listy snów i identyfikatora rekord. Porównuje listę egzemplarzy należących do rekordu i tych które znajdują się w tabeli skontrum. Jeśli w tabeli skontrum znajduje się egzemplarz, który nie został przesłany na liście sn, wówczas jest on kasowany z tabeli skontrum.

    External IPUB

    Grupa poleceń do obsługi powiązań rekordów z IPUBem oraz dostępu i zmiany informacji o stanie zmian w opisach bibliograficznych i dostępności egzemplarzy.

    W zwracanych wartościach znaczenie poszczególnych elementów jest nastepJeśli nie podano inaczej, funkcje zwracają: <rec_id>/<wersja>|<ipub_id>|<status>|<data>|<czas>|<lp>

    Wywołanie: external('IPUB <cmd><params>'):

    cmdparamsWynik funkcji
    !rekord

    Pobranie informacji o powiązaniu rekordu.

    Zwraca <rec_id>|<ipub_id>

    :rekord

    Pobranie informacji o powiązaniu rekordu

    Zwraca <rec_id>|<ipub_id>

    NRod|doZwraca liczbę rekordów aktualizowanych w podanym czasie. Parametry od i do postaci rrrrmmddhhmmss
    TRod|do

    Zwraca listę rekordów aktualizowanych w podanym czasie. Parametry od i do postaci rrrrmmddhhmmss.

    Zwraca listę wierszy (oddzielanych znakiem o kodzie #13):

    <datoczas>|<rec_id>|<wersja>|<status_zmiany>

    gdzie jako status zmiany można otrzymać:

    N - rekord nowo dodany do katalogu
    U - rekord zaktualizowany w katalogu
    D - rekord usunięty z katalogu (lub unieważniony)

    External BLO

    Grupa poleceń do obsługi załączników do rekordów (plików binarnych). Wywołanie: external('BLO<cmd><params>'):

    cmdparamsWynik funkcjiBfilezawartość wskazanego plikuErekord|pole|extWirtualna nazwa plikuHfilezawartość hehadecymalna wskazanego plikuIrekord|fileWewnętrzna nazwa plikuLrekordLista identyfikatorów multimediówMw|filepobranie miniatury - parametru w| (szerokość) nie trzeba podawać, wówczas przyjmuje 200pxNext|treśćtworzy i zwraca unikalną nazwę pliku (treść szesnastkowo), niepowiązanego z rekordem (TODO: sprawdzić, czy działa w SowaSQL)Xfileszerokość obrazkaYfilewysokość obrazka

    l

    ls

    la

    Zwraca listę publicznych kolekcji tematycznych - jako napis id_kolekcji|opis kolekcji|...

    j/w - ale wszystkie kolekcje (także niepubliczne)

    Zwraca pełną informację o kolekcjach tematycznych w postaci wierszy zakończonych znakiem o kodzie #13 (\r). Każdy wiersz zawiera: id_kolekcji|waga|właściciel|flagi|opis kolekcji|

    Jako flagi mogą wystąpić: private oraz published.

    USER
    nazwa bieżącego zalogowanego użytkownika
    WYPfwykonuje jedną z funkcji wypożyczalni (zob. dalej)

    Externale skryptów ACT

    Są to polecenia dedykowane dla skryptów ACT (akcje formularzy w programie klienta systemu SOWA) i niedostępne w innych typach skryptów, które uruchamiane są po stronie serwera SowaSQL.

    Zob. /wiki/spaces/sqldoc/pages/1888223263


    External WYP

    Grupa poleceń do obsługi wypożyczalni. Wywołanie: external('WYP<cmd><params>'):

    cmdparamsWynik funkcji
    A

    sn|rekord|agenda

    sn|rekord|agenda|tryb

    Udostępnij egzemplarz sn rekordu rekord w agendzie agenda. W razie błędu zwracany jest komunikat o owym.

    Opcjonalne wywołanie z atrybutem tryb pozwala ustawić tryb udostępniania (zob. WYPM)

    aczytelnik|rekord|dniProlongata zamówionego przez czytelnika rekordu o podaną ilość dni.
    Bsn|rekord|agenda|powod|agenda_dZgłoś do wycofania egzemplarz sn rekordu rekord z agendy agenda z powodu powod. Gdy agenda ubytkowania jest inna niż udostępniania, podać należy agenda_d. W razie błędu zwracany jest komunikat.
    Coprekord|agenda|op_params

    Zmiana danych czytelnika. Drugi znak komendy precyzuje operację (i determinuje też op_params, które zawierają kolejne parametry). Dostępne wartości op:

    K - kod kreskowy. Rejestruje nowy kod kreskowy dla czytelnika i wizytę czytelnika w agendzie. op_params zawierać winno nowy kod kreskowy. jeśli zostanie podany pusty - unieważnia bieżący kod kreskowy czytelnika.

    L - limit wypożyczeń. op_params zawiera nowy limit wypożyczeń.

    W - data ważności. op_params zawiera nową datę ważności konta

    B - blokada. op_params zawiera treść blokady konta

    Z - korekta daty zapisu. op_params zawiera nową datę zapisu czytelnika

    C - zmiana kategorii czytel;nika. op_params zawiera nową kategorię czytelnika

    Frekord|f

    Pobiera pole f rekordu czytelnika o identyfikatorze rekord. Np. WYPFO123|Z.1 pobiera pierwsze wystąpienie pola Z rekordu O123

    Tym samym eksternalem można pobierać pola rekordu bazy podstawowej. (zob. eksternal WYPP).

    Grekord

    Informacja o globalnym stanie konta czytelnika (we wszystkich agendach). Zwraca:

    <wyp>|<rez>|<zam>|<kary>|<prz>

    <wyp> - liczba wypożyczonych pozycji
    <rez> - liczba rezerwacji
    <zam> - liczba zamówień
    <kary> - kwota niezapłaconych kar
    <prz> - liczba pozycji przetrzymanych (których data zwrotu upłynęła)

    KsnZwraca kwotę kary za przetrzymanie egzemplarza o identyfikatorze sn. Dotyczy przetwarzania rekordu czytelnika.
    Irekord|agenda

    Informacja o stanie konta czytelnika w agendzie. Zwraca:

    <wyp>|<rez>|<zam>|<kary>|<kaucje>|<wizyta>|<prz>

    <wyp> - liczba wypożyczonych pozycji
    <rez> - liczba rezerwacji
    <zam> - liczba zamówień
    <kary> - kwota niezapłaconych kar
    <kaucje> - kwota wpłaconych kaucji
    <wizyta> - data ostaniej wizyty
    <prz> - liczba pozycji przetrzymanych (których data zwrotu upłynęła)

    UWAGA1: jeśli parametr wyp.penalty.default.settlements zawiera A to działa jak wyżej, inaczej zwraca wartości globalne (nie w agendzie).  

    UWAGA2: jeśli parametr wyp.penalty.default.settlements zawiera C to kwota niezapłaconych kar zwracana jest globalnie, inaczej zwraca wartości w agendzie. 

    JbarkodSprawdza czy podany barkod jest wolny. Jeśli jest to barkod egzemplarza, wraca <rekord>|<sn>, jeśli jest to barkod czytelnika zwraca <rekord>|<czy_ważny>, a jeśli jest wolny to zwraca pustą wartość.
    M

    sn

    sn=tryb

    Sprawdza lub ustawia tryb udostępniania. Obecnie jedynym obsługiwanym trybem jest "nobooking".
    Nn lub prefix|nZnajduje wolny kod kreskowy n-znakowy. Jeśli podano prefix, znajduje wolny kod zaczynający się od podanego prefiksu.
    Ooprekord|op_params

    Informacja o zawartości konta czytelnika. Drugi znak komendy precyzuje operację i determinuje op_params. W przypadku zwracania listy - kolejne wiersze rozdzielane są znakiem o kodzie #13 (\r). Dostępne wartości op:

    A - informacja o agendzie zapisu (zwraca numer agendy)

    W - bieżący stan wypożyczeń. Zwraca listę wartości <sn>|<agenda>|<data_wyp>|<data_zwr>

    H - historia wypożyczeń. Zwraca listę wartości <sn>|<agenda>|<data_wyp>|<data_zwr>

    R - bieżący stan rezerwacji. Zwraca listę wartości <sn>|<agenda>|<status>|<data_rez>|<czas_rez>

    Z - bieżący stan zamówień. Zwraca listę wartości <rekord>|<agenda>|<data_zam>|<czas_zam>|<data_max>

    K - kary do zapłacenia. Zwraca listę wartości <agenda>|<data_nal>|<flag>|<sn>|<wartość>

    P - wpłaty/wypłaty. Zwraca listę wartości <agenda_w>|<data_wpl>|<rodzaj>|<kwit>|<wartość>

    O - odwiedziny. Jako op_params można podać numer agendy, jeśli się nie poda, zwraca listę dla wszystkich agend. Zwraca listę: <data>|<agenda>

    o - Jako op_params należy podać <data>| lub <data>|<agenda> - Jeśli data odwiedzin wskazanej agendy jest większa lub równa podanej, zwracana jest ta data. W przypadku nie podania agendy, sprawdzane są wszystkie agendy.

    w - Jako op_paramsnależy podać <data>| lub <data>|<agenda> - Jeśli data wypożyczenia we wskazanej agendzie jest większa lub równa podanej, zwracana jest ta data. W przypadku nie podania agendy, sprawdzane są wszystkie agendy.

    M - czyt|sn - zwraca liczbę wygenerowanych monitów

    Rsn

    Informacja o rezerwacji egzemplarza o identyfikatorze sn. Zwaca:

    <czytelnik>|<agenda>|<status>|<data_rez>|<czas_rez>

    Od wersji 1.74.07 zwraca dodawkowo |<odbior>|<timeout>

    Ssn

    Sprawdza status dostępności i agendę dla egzemplarza o identyfikatorze sn. Zwraca łańcuch postaci <dostępność>|<agenda> - gdzie <dostępność> wyrażona jest kodem: D - dostępne, Nx - niedostępne z powodu x (Z - zarezerwowane, W - wypożyczone). Np. NZ|0 - egzemplarz należy do agendy o numerze "0", nie jest dostępny gdyż jest zarezerwowany.

    W przypadku pozycji ubytkowanej dodatkowo zwracane jest <agenda>|<data>|<dokument>|<pozycja>|<nr_kol>

    W przypadku pozycji zgłoszonej do ubytkowania (dostępność Nx gdzie x <> W i Z): <ubytek>|<data_wp><agenda>, zaś jeśli <ubytek>=P, dodatkowo <dokument>|<pozycja>

    Wsn

    Informacja o wypożyczeniu egzemplarza o identyfikatorze sn. Zwraca:

    <czytelnik>|<kas>|<data_wyp>|<data_zwr>

    Xsn

    Informacja o wypożyczeniu egzemplarza o identyfikatorze sn. Zwraca:

    <czytelnik>|<kas>|<data_wyp>|<data_zwr>|<prolongaty_automatyczne>

    Zrekord|agendaCzy wydanie było zamawiane. Nie podanie agendy sprawdza wszystkie agendy. Zwraca liczbę zamówień.
    Z?rekord|agendaZwraca identyfikatory rekordów czytelników, którzy zamawiali wydanie. Nie podanie agendy sprawdza wszystkie agendy. Rekordy separowane są znakiem |, np. O123|O345|
    $typ_kary|kwota|data_od|data_do [#13 data_wpl|kwota_wpl|...]

    Wyznacza odsetki od podanej kwoty. Jeśli mają być wzięte pod uwagi wpłaty cząstkowe (co pomniejsza odsetki), to po znaku #13 należy podać kolejne wpłaty.

    Jeśli podany jest prawidłowy typ kary, to odsetki są wyznaczane tylko jeśli parametry systemu są skonfigurowane do naliczania kar dla tego typu. Podanie zamiast typu wartości * powoduje wyliczanie odsetek niezależnie od tego, czy system jest pod to skonfigurowany.

    #sn|rekordPrzenieś egzemplarz sn do innego rekordu rekord. W razie błędu zwracany jest komunikat o owym.
    >sn|nsnZmiana identyfikatora egzemplarza z sn na nsn w bazach wypożyczalni.
    -opop_params

    Usuwanie pozycji. Drugi znak precyzuje operację i determinuje op_params (niżej podane zaraz za kodem operacji). DOstępne wartości op:

    Z - rekord_ks|rekord_czt - Usunięcie zamówienia na rekord_ks dla czytelnika rekord_czt

    R - sn - Usunięcie rezerwacji bez obsługi zamówienia

    A - sn - Realizacja zamówienia na egzemplarz

    External SKO

    Grupa poleceń do obsługi skontrum. Wywołanie: external('SKO<cmd> <params>'):

    cmdparamsWynik funkcji
    Q?snZwróci 'S' jeśli egzemplarz o podanym sn jest brakiem stałym, '+' jeśli jest oznaczony jako "na półce" lub pusty string, jeśli status jest nie określony.
    Q+snOznacza egzemplarz o podanym sn jako znajdujący się na półce, zwraca '+'
    Q-snOznacza egzemplarz o podanym sn jako nie znajdujący się na półce, zwraca '-'
    Q*snJeśli egzemplarz o podanym sn jest "na półce" ściąga go i zwraca '-', jeśli go nie ma dodaje go i zwraca '+'
    Ssn

    Status egzemplarza. Zawsze zwraca co najmniej: <dostęp><powód>|<agenda>.

    Jeśli <dostęp>=U dodatkowo zwraca informację o pozycji ubytkowanej, tj: <data>|<dokument>|<pozycja>|<nr_kol>

    Jeśli <dostęp>=N zaś <powód> nie jest W lub Z dodatkowo zwraca informację o pozycji zgłoszonej do ubytkowania, tj: <ubytek>|<data_wp>, a jeśli <ubytek>=P to jeszcze <dokument>|<pozycja>


    UsnCzy jest stały ubytek. Jeśli nie, zwracany jest pusty łańcuch.
    -rekord|lista snAktualizuje bazę skontrum na podstawie przesłanej listy snów i identyfikatora rekord. Porównuje listę egzemplarzy należących do rekordu i tych które znajdują się w tabeli skontrum. Jeśli w tabeli skontrum znajduje się egzemplarz, który nie został przesłany na liście sn, wówczas jest on kasowany z tabeli skontrum.

    External IPUB

    Grupa poleceń do obsługi powiązań rekordów z IPUBem oraz dostępu i zmiany informacji o stanie zmian w opisach bibliograficznych i dostępności egzemplarzy.

    W zwracanych wartościach znaczenie poszczególnych elementów jest nastepJeśli nie podano inaczej, funkcje zwracają: <rec_id>/<wersja>|<ipub_id>|<status>|<data>|<czas>|<lp>

    Wywołanie: external('IPUB <cmd><params>'):

    cmdparamsWynik funkcji
    !rekord

    Pobranie informacji o powiązaniu rekordu.

    Zwraca <rec_id>|<ipub_id>

    :rekord

    Pobranie informacji o powiązaniu rekordu

    Zwraca <rec_id>|<ipub_id>

    External STN

    cmdparamsWynik funkcji
    STN+agenda|stanowisko|status|czytelnik|od|dododaje nowy status
    STN-agenda|stanowisko|odkasuje określony wpis
    STN!agenda|stanowisko|do
    zwrot (zamiana W na w) i ustawienie nowego do
    UWAGA: w wyniku tej operacji, może nastąpić przecięcie zakresów, gdy ktoś odda komputer po terminie rozpoczęcia innej rezerwacji albo blokady, jest to sytuacja dopuszczalna i trzeba z nią żyć ;)
    STN*agenda|stanowisko|od|do
    zmiana do na nowe, (czyli skrócenie, albo przedłużenie, bez zmiany statusu) skrócić można zawsze przedłużyć, tylko, jeśli przedłużenie nie zahaczy o nowy zakres (np. rezerwacji)


    Note

    Każdy z externali STN zwraca: 


    |rezultat - jeśli wszystko jest ok
    komunikat błędu| gdy wystąpi błąd

    ...

    Grupa poleceń do wykonywania zapytań SQL (UWAGA: używanie ich jest niezalecane i powinny być stosowane w ostateczności). Wywołanie: external('SQL<cmd> <params>'):

    cmdparamsWynik funkcji
    EXECUTE<query_id>komunikat błędu, lub pusty string jeśli OK 
    FROM<query_id>|<nazwa_tabeli>komunikat błędu, lub pusty string jeśli OK
    FULL<query_id>|<lista_pól>|<nazwa_tabeli>|<warunek_zapytania>|<kolejność_sortowania>|<oczekiwana_ilość_rekordów>komunikat błędu, lub pusty string jeśli OK

    GET

    <query_id>
    • 0|komunikat błędu
    • 1|lista pól z wynikami (wartości poszczególnych pól są oddzielone pionową kreską)
    • 2|EOF
    LIMIT<query_id>|<oczekiwana_ilość_rekordów>komunikat błędu, lub pusty string jeśli OK
    ORDERBY<query_id>|<kolejność_sortowania>komunikat błędu, lub pusty string jeśli OK
    PREPAREbrakQUERY_ID
    SELECT<query_id>|<lista_pól>komunikat błędu, lub pusty string jeśli OK
    UNPREPARE<query_id>komunikat błędu, lub pusty string jeśli OK
    WHERE<query_id>|<warunek_zapytania>komunikat błędu, lub pusty string jeśli OK


    Info

    Szczegółowe informacje na temat externali SQL są dostępne tutaj