Versions Compared

Key

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

Polecenia funkcji 'external'

...

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łędu
DELETEidtUsunię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 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
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_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.
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.
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 
nazwa bieżącego zalogowanego użytkownika
USERS

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)

...

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>'):

cmdparamsWynik funkcji
Asn|rekord|agendaUdostępnij egzemplarz sn rekordu rekord w agendzie agenda. W razie błędu zwracany jest komunikat o owym.
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 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

DrekordUsunięcie danych czytelnika. W razie błędu zwracany jest komunikat.
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ść.
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|
#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.
&parametryWykonuje polecenie zgodne z protokołem samoobsługowego zamawiania i rezerwowania.
-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

*urlJako rezultat zwraca wynik operacji HTTP GET na przesłanym URL.
:agenda

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.

...

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.

...

Note

Każdy z externali STN zwraca: 


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

...

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