Versions Compared

Key

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

Polecenia funkcji 'external'

Section


Column

Wiele zaawansowanych operacji wykonywanych jest poprzez zdefiniowane w poszczególnych modułach funkcje z grupy "external". Część z nich dostępna jest w serwerze aplikacji SOWA2 (kolumna DBF), a część tylko w SOWA2SQL (kolumna SQL). "Externale" "Externale" przeznaczone dla skryptów wykonywanych przez program klienta (ACT) są uniwersalne dla wszystkich serwerów aplikacji, ale można z nich korzystać tylko w skryptach akcji.

Zarówno nazwa jak i atrybuty "externali" podawane są jako pojedyńczy pojedynczy parametr funkcji external(line).


Column
width20%

Table of Contents


...

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:

...

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). Dostepne 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>

...

Dodaje i zwraca identyfikator nowego rekordu czytelnika (o kodzie rekordu "O"). Dalsze części do pary pole|wartść, które określają pola nowo tworzonego rekordu. Np. A.1|123|Z.1|michal@sokrates.pl|V.1|373298238232|. Polecenie to zawsze zwraca nowy rekord ID, nawet jeśli doszło do błędu, więc nie wiadomo czy dodano czytelnika, czy nie (smile)

UWAGA: w SOWA-SQL odpowiednikiem (ale zwracającym rezultat w razie błędu) jest external NEWOpole|wartość|...

...

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

E - sn - Usuwa egzemplarz ze wszystkich baz

Info

SowaSQL nie obsługuje operacji: E

...

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 funkcjiDBFSQL
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.NT
Q+snOznacza egzemplarz o podanym sn jako znajdujący się na półce, zwraca '+'NT
Q-snOznacza egzemplarz o podanym sn jako nie znajdujący się na półce, zwraca '-'NT
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 '+'NT
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>

 

TT
UsnCzy jest stały ubytek. Jeśli nie, zwracany jest pusty łańcuch.TT
-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.NT

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 funkcjiDBFSQL
+rekord

Oznaczenie dodania lub zmiany rekordu. Zwraca <rec_id>/<wersja>|<ipub_id>|<status>|<data>|<czas>|<lp>, gdzie:

<rec_id>/<wersja> - numer rekordu wraz z numerem wersji (numer wersji zwiększa się w przypadku ponownego dodania wcześniej usuniętego rekordu o tym samym numerze)
<ipub_id> - identyfikator powiązanego rekordu w IPUB
<status> - Status bieżący rekordu. N - nowy, U - zmieniony, D - usunięty
<data>, <czas> i <lp> - zarezerwowana dla operacji data, czas i numer pliku XML

TN
-rekord

Oznaczenie usunięcia rekordu. Zwraca j.w.

TN
?rekord|agenda

Pobranie informacji o wysłanym stanie egzemplarzy (nie trzeba podawać agendy). Zwraca listę wierszy (oddzielanych znakiem o kodzie #13):

<agenda>|<il_dostepnych>|<il_wypozyczonych>|<il_nieznane>|<il_namiejscu>

TN
#rekord|agendaAktualizuje informacje o wysłanym stanie egzemplarzy (nie trzeba podawać agendy)TN
*rekordZapisanie informacji o konieczności wysłania stanu egzemplarzy. Nic nie zwraca.TN
!rekord

Pobranie informacji o powiązaniu rekordu i zarezerwowanie daty, czasu i numeru pliku dla operacji.

W przypadku SOWA2 zwraca <rec_id>/<wersja>|<ipub_id>|<status>|<data>|<czas>|<lp> (znaczenie jak w +);
W przypadku SOWASQL zwraca <rec_id>|<ipub_id>

TT
:rekord

Pobranie informacji o powiązaniu rekordu i daty, czasu oraz numeru pliku ostatniej wykonanej na nim operacji.

W przypadku SOWA2 zwraca <rec_id>/<wersja>|<ipub_id>|<status>|<data>|<czas>|<lp> (znaczenie jak w +);
W przypadku SOWASQL zwraca <rec_id>|<ipub_id>

TT
=rekord|ipub_idZmiana wartości powiązania rekordu z IPUB .TN
M+rekord|nazwaInformacja o dodanym pliku multimedialnym (nazwa - nazwa zewnętrzna pliku, zob. BLO). Nic nie zwraca.TN
M-rekord|nazwaInformacja o usuniętym pliku multimedialnym. Nic nie zwraca.TN
NRod|doZwraca liczbę rekordów aktualizowanych w podanym czasie. Parametry od i do postaci rrrrmmddhhmmssTT
NLod|doZwraca liczbę rekordów które zmieniły stan dostępności aktualizowanych w podanym czasie. Parametry od i do postaci rrrrmmddhhmmssTN
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)

TT
TLod|do

Zwraca listę rekordów które zmieniły stan dostępności w podanym czasie. Parametry od i do postaci rrrrmmddhhmmss.

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

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

TN
LR 

Zwraca listę rekordów wraz z ich powiązaniami.

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

<rec_id>|<wersja>|<status_zmiany>|<ipub_id>

--

External BLO

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

cmdparamsWynik funkcjiDBFSQL
Bfilezawartość wskazanego plikuTT
Dfilenameusuwa plikTN
Erekord|pole|extWirtualna nazwa plikuTT
Hfilezawartość hehadecymalna wskazanego plikuTT
Irekord|fileWewnętrzna nazwa plikuTT
LrekordLista identyfikatorów multimediówTT
Mw|filepobranie miniatury - parametru w| (szerokość) nie trzeba podawać, wówczas przyjmuje 200pxTT
Next|treśćtworzy i zwraca unikalną nazwę pliku (treść szesnastkowo), niepowiązanego z rekordemTN
Xfileszerokość obrazkaTT
Yfilewysokość obrazkaTT

External STN w SowaSQL

cmdparamsWynik funkcjiDBFSQL
NazwaParamsOpis
DBFSQLAKCESJAfwykonuje jedną z funkcji akcesji (zob. dalej)TNBLOfwykonuje jedną z funkcji operacji na plikach binarnych (zob. dalej)TTCFGparametrPobiera wartość parametru głównej bazyTNCLEARDB 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.NTCMDkomendaWykonuje komendę administracyjną komendaTNCZTdata|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łęduNTCOLLECTION+rekord|kolekcja|kolekcja...Wymusza umieszczenie rekordu we wskazanych kolekcjach stałychTN?rekordZwraca listę nazw kolekcji stałych, w których jest rekordTNrekord|kolekcjaZwraca + jeśli rekord jest w kolekcji, '-' jeśli nie ma go w kolekcji lub '' jeśli nie ma takiej kolekcji stałejTNnazwaZwraca listę rekordów ze wskazanej kolekcji stałejTNDELETEidtUsunięcie rekordu o przesłanym idt (rec_type + rec_id)TTGETparametr

Dla skryptów uruchamianych na bazie czytelników, pobiera wartość parametru parametr z bazy głównej (uwaga: wymagana spacja między GET a nazwą parametru).

W SOWA-SQL jest to niepotrzebne, gdyż baza parametrów jest wspólna i można używać standardowej funkcji cfg(parametr).

TNHELLO Zwraca łańcuch znaków, za pomocą którego klient SOWY przedstawił się w serwerze (poleceniem hello)TTDEFpole

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
  • w SOWA2 ten external nie działa dla rekordów typu O - należy użyć zamiast eksternala WYP=?Opole
TTEGZod|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.NTFIELDrekord|poleZwraca wartość wskazanego polaTNINDEXixzwraca nazwę indeksu dla podanego identyfikatora indeksu ixTNINDEXES zwraca listę identyfikatorów indeksu "orders" aktywnych dla zalogowanego profilu (rezultat jest stringiem, w którym poszczególne identyfikatory są oddzielone pionową kreską)TTIPUBfWykonuje jedną z funkcji IPUB (zob. dalej) TISBNisbnKontrola poprawności ISBNu, jeśli kod jest poprany, zwraca pusty string, w przeciwnym wypadku komunikat błędu, TLICENCEsekcja|pole

Zwraca wartość pola z wybranej sekcji licencji

TNLICENCJA Zwraca wartość linia_1|linia_2 - gdzie linie oznaczają wartości dla dwóch lini drukowanych na nalepkachNTMAIL 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.TTMAIL 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
NTNEWdpolaTworzy nowy dokument typu d - pola to lista pole=wartość, rozdzielane znakiem o kodzie #13 (\r)TTOKtekstUstawia (tekst<>'')/ odczytuje (tekst='') zmienną lokalną OK operacji. Zmienna ustawiana jest automatycznie na N jeśli wystąpił błąd zapisu kolejnego rekordu.TNOBRZdata|whereUstawia datę zwrotu data w tabeli obrotów gdzie spełniony jest SQLowy warunek where.NTPROFILE Nazwa profilu bieżącego użytkownika TRANGEod|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

-TREPLACE

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.NTRIGHTrwartość atrybutu przypisanego do uprawnienia o nazwie r dla bieżącego użytkownika. Jeżeli użytkownik nie ma uprawnienia r to wynikiem jest '*' (gwiazdka)TTSEARCHidentyfikatorNa podstawie identyfikatora zwraca nazwę indeksu "orders" (np.: dla identyfikatora TY, zwróci "tytuł")?TSETparam wartośćUstawia nową wartość parametru Sowy o nazwie param?TSKOfWykonuje jedno z poleceń skontrum (zob. dalej) TSKR_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.NTSQLfWykonuje jedno z poleceń SQL (zob. dalej)NTSTArekord|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 rekorda propagowanego.NTUSER nazwa bieżącego zalogowanego użytkownikaTTUSERS

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".
NTWERSJA Zwraca datę wersji i opcjonalnie /ID10TNWRDUOP|rekord|pole  NWYPfwykonuje jedną z funkcji wypożyczalni (zob. dalej)TT

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 SOWY.

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)
SprefixZawartość słownika <prefix> (tylko Sowa1)
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'
Zpolewyszukaj numer zamówienia (SOWA2)
!fileUruchom program skojarzony z file
? zwraca położenie kursora
*ELZb (question)

External AKCESJA

Grupa poleceń do obsługi akcesji. Wywołanie: external('AKCESJA <cmd>|<params>'):

cmdparamsWynik funkcji
Lidzamówione|przyjęte|zrealizowane|, gdzie zamówione jest liczbą zamawianych egzemplarzy (bieżące zamówienie) rekordu id, przyjęte - liczbą egzemplarzy na zamówieniach zamkniętych, zrealizowane - liczbą dostarczonych egzemplarzy dla bieżąco zalogowanej placówki lub zbiorczo (logowanie w centrali)
N  
S2  
S3  
TidLista elementów postaci filia|zamówione|przyjęte|zrealizowane|, gdzie filia jest kodem placówki, zamówione - liczbą zamawianych egzemplarzy (bieżące zamówienie) dla rekordu id, przyjęte - liczbą egzemplarzy na zamówieniach zamkniętych, zrealizowane - liczbą dostarczonych egzemplarzy.
Udata|filia|id|akcesja|liczbaAktualizuje liczbę dostarczonych egzemplarzy dla podanych parametrów. Niepusty rezultat jest komunikatem błędu.
#  

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

W przypadku SOWYSQL można tym samym eksternalem 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 wypożyczeniu egzemplarza o identyfikatorze sn z uwzględnieniem prolongat. Zwraca:

<czytelnik>|W|<data_wyp>|<data_zwr>

...

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: w SOWA2 jeśli rozliczanie=zawiera A (w sowa.inf) lub CFG_ROZLICZANIE zawiera A (parametr) to działa jak wyżej, inaczej zwraca wartości globalne (nie w agendzie). Dla SOWA2SQL analogiczną rolę pełni parametr wyp.penalty.default.settlements 

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
PROTOCOL

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)
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.
THEM

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
N

T

STN-agenda|stanowisko|odkasuje określony wpis
NT
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ć ;)
N
T
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)
NT


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
DBFSQL
EXECUTE<query_id>komunikat błędu, lub pusty string jeśli OK 
 N T
FROM<query_id>|<nazwa_tabeli>komunikat błędu, lub pusty string jeśli OK
 N
 T
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
 N T

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
 N
 T
LIMIT<query_id>|<oczekiwana_ilość_rekordów>komunikat błędu, lub pusty string jeśli OK
 N T
ORDERBY<query_id>|<kolejność_sortowania>komunikat błędu, lub pusty string jeśli OK
 N T
PREPAREbrakQUERY_ID
 N T
SELECT<query_id>|<lista_pól>komunikat błędu, lub pusty string jeśli OK
 N T
UNPREPARE<query_id>komunikat błędu, lub pusty string jeśli OK
 N T
WHERE<query_id>|<warunek_zapytania>komunikat błędu, lub pusty string jeśli OK
 N T


Info

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