AQL server je jedan od modula App-a i koristi se za komunikaciju eksternih programa sa App-om (web serveri, WebAql, …). Komunikacija se obavlja preko upita koji se zadaju u obliku ASCII fajla, a rezultat je takođe ASCII file. Ako se upit zada kao file REQUEST.AQL, rezultat je RESULT.AQL. Ako se upiti zadaju kao REQ001.AQL, REQ002.AQL, … rezultati se redom upisuju u RES001.AQL, RES002.AQL, … Zahtevi se mogu upisivati bez obzira što prethodni nije izvršen.
Kada se zada upit (na primer, REQUEST.AQL) Aql izvršava upit i rezultat upisuje u RESULT.AQL. Kada se izvršenje završi, briše se REQUEST.AQL. Zato program koji zadaje upit treba da čeka na brisanje fajla sa upitom, jer to označava kraj obrade.
Eksterni program zadaje upit kreiranjem odgovarajućeg REQxxx.AQL fajla i čeka dok se ovaj file ne izbriše, što označava kraj obrade. Rezultat je u RESxxx.AQL. Kolone u okviru rezultata su razdvojene sa Chr(9) (Tab). Zbog preglednosti separator neće biti prikazivan. Na primer, umesto <id><tab><sifra> pisaće samo <id> <sifra>.
U osnovnoj varijanti podržani su sledeći upiti:
Pregled artikala po željenim kolonama. Ovaj upit može prikazati željene kolone, ali se nešto sporije izvršava nego upit LAGER.
WITH Artikli LIST Id, Naziv, Sifra, Kol, Jm, Cena, Vrsta END
Pregled svih artikala koji imaju kolicinu > 0:
WITH Artikli FOR Kol > 0 LIST Id, Naziv, Sifra, Kol, Jm, Cena, Vrsta END
Za upisivanje novih artikala koristi se sledeći zahtev:
WITH Artikli SetName Cokolada NENA SetName2 Cokolada u komerc.pakovanju SetSif A-002 SetVrs 5001 SetTA R SetJM kom SetNap Ovo je napomena SetBK 9987123456789 SetPak 10 SetPakJM kut SetPor P18 AddArt END
Ovako se definišu elementi artikla i metod AddArt upisuje novi artikal u evidenciju. Vraća se ID broj novog artikla. NAPOMENA: za vrstu se upisuje ID broj.
Listanje svih atributa artikala:
WITH Artikli AttrList END
Dobija se sledeća tabela:
<id_attr> <naziv_attr> <id_vrste>
Upis atributa se obavlja sledecim pozivom:
WITH Artikli AddAttr <art_id>, <attr_id>, <vrednost> ... END na primer: WITH Artikli AddAttr 1200, 34, Maticna ploca AddAttr 1200, 35, Intel END
Takođe se može dobiti tabela svih atributa:
WITH Artikli ATTRALL END
Brzi pregled lagera ima osnovni oblik:
WITH Lager List [nMag], [nPar], [nVar] END
nMag - ID magacin nPar - ID partnera nVar - Varijanta upita
Primeri:
LIST 5, 123, 0 <sifra>, <naziv>, <kol>, <rez>, <refn>, <refp>, <x-cena>
LIST 5, 123, 1 <sifra>, <naziv>, <kol>, <rez>, <ref>, <refn>, <refp>, <x-cena>
LIST 5, , 2 <memo>, <sifra>, <vrsta>, <kol>
LIST 5, 123, 3 LIST 5, 123 LIST <id>, <sifra>, <naziv>, <jm>, <kol>, <rez>, <cena>, <por>, <pop>, <vrsta>, <bar-kod>, <proizvodjac>, <boja-kol>, <namena>, <pakovanje>, <pak_jm> <id> - N10 <sifra> - C15 <naziv> - C30 <jm> - C3 <kol> - N12,3 <rez> - N12,3 <cena> - N18,3 <por> - C5 <pop> - N6,2 <vrsta> - C10 <bar_kod> - C20 <proizvođač> - C25 <boja> - C5 <namena> - C35 <pakovanje> - N12,3 <pak_jm> - C3
LIST 5, , 4 <id>, <kol>, <rez>, <cena>, <boja-kol>, <rab>
LIST ,,5,<rec> <id>, <sifra>, <naziv>, <jm>, <por>, <vrsta>, <bar-kod>, <proizvodjac>, <namena>
LIST ,,6,<rec> <id>, <alt>
Listanje pojedinih artikala sa zadatim ID-om se izvodi sledecom varijantom upita:
WITH Lager DEFART 5012 DEFART 1023 LIST 5, 123, 3 END
LIST ,,7,<rec> ##<id1> <Napomena 1> <Napomena 2> ... <Napomena n> ##<id2> <Napomena 1> ...
Pregled vrsta artikala:
WITH Vrste LIST ID, Sifra, Naziv END
Šifarnik kupaca i dobavljača
WITH Partneri LIST KD END rezultat: <id> <sifra> <naziv> <adr1> <adr2> <tel1> <tel2> <status> <pib> <rabat> <id_komercijaliste> <kontakt> <mobilni> <mail> <radno_vreme> <mb> <limit> <račun> <id> - N10 <sifra> - C15 <naziv> - C35 <adr1> - C35 <adr2> - C35 <tel1> - C35 <tel2> - C35 <status> - C10 <pib> - C13 <rabat> - N6,2 <id_komercijaliste> - N10 <kontakt> - C35 <mobilni> - C35 <mail> - C35 <radno_vreme> - c15 <mb> - C10 <limit> - N7 <račun> - C18
- Pregled podataka za kupca 00234:
WITH Kupci Seek 00234 LIST Sifra, Naziv, Adresa1, Adresa2, Tel, Status, Pib, Rab END
- Pregled kartice kupca, najvise 999 stavki:
WITH Kartica SetPar 1234 SetLim 9999 List Datum, Valuta, Doc, Dug, Pot Saldo Dospelo END
- Logovanje kupca. Unet user i pass mora da odgovara podacima na partneru.
WITH Partner Login PERA, PP END
Pregled objekata partnera na osnovu ID-a partnera:
WITH Partneri QObjList 257 END rezultat: <id> <sifra> <naziv> <adr1> <adr2> <tel1> <tel2> <id_komercijaliste> <kontakt> <mobilni> <mail> <id> - N10 <sifra> - C15 <naziv> - C35 <adr1> - C35 <adr2> - C35 <tel1> - C35 <tel2> - C35 <id_komercijaliste> - N10 <kontakt> - C35 <mobilni> - C35 <mail> - C35
Metoda QList podržava učitavanje tabele iz delova: ukoliko ima više od 5000 stavki, ispisuje se poruka CONTINUE <naredni_rec> <ukupno_rec>. Kasnije se zadavanjem
QLIST <status>, <naredni_rec>
dobija nastavak tabele.
Dodavanje novog kupca:
WITH Partneri SetName XY KOMERC SetSif KOMXY SetAdr1 Bajeva BB SetAdr2 Beograd SetTel 123-456 SetKom 134 SetPib 123456789 SetKon Mika SetFax 77766553 SetMob 063/2356789 SetMail mika@laza.com SetRV 8-15 SetKD K SetKla A1 SetKontakt Mika AddPar END
- Kreira se racun sa artiklima 001, 002 i 623. Moze se zadati samo kolicina, kolicina i cena, rabat. Mogu se upisivati i usluge. NUMBER opciono forsira broj fakture, KOMERC forsira komercijalistu, VALUTA zadaje datum valute.
WITH Invoice AddArt 001, 1 AddArt 002, 2, 100 AddArt 623, 1, 100, 5 AddUsl "Usluga 001", 5, 10, [5] Number 1200 Komerc 456 Valuta 22.12.05 LimKol YES -- da li se limitira kolicina SetKD K -- forsira status kupca Memo Ovo je napomena Memo u dva reda. Print 2 -- print u 2 kopije AddInv f-, K-001, O-3, PDV, VP END
- Predracun:
WITH ProInvoice AddArt 001, 1 AddArt 002, 2, 100 AddArt 623, 1, 100, 5 Number 1200 Komerc 456 Valuta 22.12.05 DPR 27.12.05 SetKD K -- forsira status kupca Datum 22.12.05 Memo Ovo je napomena! Print 1 -- stampa AddPro pf-, K-001, O-3, PDV18, VP END
Kreiranje internog prenosa:
WITH IntDoc AddArt <art>, <kol>, <nab_cen>, <pro_cen> Datum <datum> Memo <napomena> Print <broj_kopija> AddDoc <reg>, <mag1>, <mag2> END
- Logovanje korisnika:
WITH User LogUser PERA,12345 END
- Sinhronizacija sa PocketPC
WITH PocketPC Receive Send END
- Ucitavanje tekuce kursne liste.
WITH Valute GetVal GetVal EUR END
- Pregled svih komercijalista:
WITH Komerc LIST Id, Ime, Sifra, Jmbg END
- Pregled svih nacina placanja:
WITH NacinPlacanja LIST Id, Naziv END
Kreiranje racuna za KU kasu:
WITH KuRacun Art 001,2,100 Art 003,1,120 Art 004,1,45 Placanje 2, 1000 Placanje 3, 500 AddKu 2,101 END
- Sistemske informacije: Quit gasi Aql server, Version vraća verziju Aql-a, a Parameters vraća sve parametre iz App-a.
WITH System Quit Version Parameters END
Nalozi za prijem
WITH MagCmd LIST DOS, <reg> END
rezultat - dobija se lista svih naloga u registratoru <reg>:
D<id> <idu> <lock> <datum> <dobavljac> <br_stavki> <napomena> id - id naloga za prijem N10 idu - user id naloga C10 lock - da li je nalog lokovan C1 datum - D dobavljac - C35 br_stavki - N5 napomena - C35
WITH MagCmd LIST_ART D<id> END
rezultat - lista stavki na izabranom dokumentu <id>: <art_id> <art_sifra> <art_naziv> <bar_kod> <kolicina> <cena>
WITH MagCmd LIST_MAG [ALL] END
rezultat - lista magacina sa ID, šifrom i nazivom. Uzimaju se samo magacini koji su selektovani za prikaz u AQL, a ako se stavi opcija ALL, listaju se svi magacini.
<mag_id> <mag_sifra> <mag_naziv>
WITH MagCmd LOCK D<id> END
rezultat - lokuje se dokument <id>. Vraća se tekst True ili False u zavisnosti od toga da li je operacija uspela.
WITH MagCmd UNLOCK D<id> END
rezultat - unlokuje se dokument <id>. Vraća se tekst True ili False u zavisnosti od toga da li je operacija uspela.
WITH MagCmd AddART <art1_id>, <kol1> AddART <art2_id>, <kol2> AddART <art3_id>, <kol3> ... DONE D<id> END
rezultat - potvrđuje se realizacija dokumenta <id>. Ukoliko su zadate AddART stavke, menja se originalni dokument u skladu sa ovim stavkama.
Nalozi za izdavanje (fakture)
WITH MagCmd LIST FAK, <reg> END
rezultat - dobija se lista svih naloga u registratoru <reg>: F<id> <idu> <lock> <datum> <kupac> <br_stavki> <napomena> <id-komercijaliste> id - id naloga za prijem idu - user id naloga lock - da li je nalog lokovan datum - kupac - br_stavki - napomena - id-komercijaliste -
WITH MagCmd LIST_ART F<id> END
rezultat - lista stavki na izabranom dokumentu <id>: <art_id> <art_sifra> <art_naziv> <bar_kod> <kolicina> <cena>
WITH MagCmd LOCK F<id> END
rezultat - lokuje se dokument <id>. Vraća se tekst True ili False u zavisnosti od toga da li je operacija uspela.
WITH MagCmd UNLOCK F<id> END
rezultat - unlokuje se dokument <id>. Vraća se tekst True ili False u zavisnosti od toga da li je operacija uspela.
WITH MagCmd AddART <art1_id>, <kol1> AddART <art2_id>, <kol2> AddART <art3_id>, <kol3> ... DONE F<id> END
rezultat - potvrđuje se realizacija dokumenta <id>. Ukoliko su zadate AddART stavke, menja se originalni dokument u skladu sa ovim stavkama.
Primeri: Bar-kod terminal komunicira sa Aql-om prilikom izdavanja robe. Prvo se traži spisak naloga koje treba isporučiti:
WITH MagCmd LIST FAK, if- END
dobija se lista: F105 265 22.05.10 XY Trade 3 Hitna isporuka F106 266 L 26.05.10 Pera komerc 10 F107 268 29.05.10 BB trade 5
Zaključava se nalog id=105, pa ostali korisnici ne mogu da mu pristupe.
WITH MagCmd LOCK F105 END
Traže se stavke ovog naloga:
WITH MagCmd LIST_ART F105 END
Dobija se:
1205 00045 Cokolada MILKA 9012345678910 5 120.00 2056 02035 Keks XY 6782999908910 1 230.00 1102 01125 Mleko 5567775678910 2 66.00
Posle pakovanja šalje se poruka da je nalog spakovan:
WITH MagCmd DONE F105 END
Ako je bilo izmena u količinama:
WITH MagCmd ART 1205, 6 ART 2056, 2 ART 1102, 2 DONE F105 END
Nalog se na kraju otključava:
WITH MagCmd UNLOCK F105 END
Lista svih OS:
WITH MagCmd TAB_OS END
rezultat - dobija se lista svih OS: <id> <šifra> <inv.broj> <naziv> <bar-kod> <mesto>
Lista svih mesta na kojima su OS:
WITH MagCmd TAB_MOS END
rezultat - dobija se lista svih mesta OS: <id> <šifra> <naziv> <bar-kod>
Upis bar-koda određenog OS:
WITH MagCmd SET_OS <id>, <bar-kod> END
Upis popisanih količina OS:
WITH MagCmd POP_OS <id>, <kol>, <mesto> POP_OS <id>, <kol>, <mesto> POP_OS <id>, <kol>, <mesto> ... DONE_OS END
Svaki red sadrži ID OS, popisanu količinu i opciono mesto na kome je zatečeno OS. Rezultat komande je kreiranje popisa u App-u, odakle se može učitati u popis OS.
Preko ovih komandi se mogu definisati stavke dokumenata i preneti u bilo koji dokument. Stavke se upisuju u clipboard odakle se mogu učitavati. Standardna primena je kod skeniranja artikala za popis i sl.
Tabela svih artikala:
WITH MagCmd TAB_ART END
Rezultat je lista svih artikala:
<Id> <sifra> <naziv> <bar-kod> <jm> <kol> <lokacija>
Na primer:
123 0034 Cokolada 1234567890345 kom 1 B-03
Svaki artikal ima šifru i bar-kod. Količina u normalnim uslovima je 1. Ako postoje alternativne šifre, one se ispisuju ispod glavnog artikla, sa istim ID-om, nazivom, jedino što je šifra uvek ”-” i za količinu se uzima količina u pakovanju:
123 - Cokolada 333444553432423423 pak 20 A-02
Upis stavki u clipboard:
WITH MagCmd POP_ART <id>, <kol> POP_ART <id>, <kol> ... DONE_ART
Ovakva komanda upisuje skenirane artikle u sistemski clipboard.
Lista svih vozila:
WITH Vozila QLIST END
Rezultat:
<id> <naziv> <reg.br> <šasija> <br.motora>
Lista vozača:
WITH Vozaci QLIST END
Rezultat:
<id> <ime.prezime> <adresa> <LK>
Kreiranje nove narudžbenice:
WITH Order AddArt <art_id>, <kol> AddArt <art_id>, <kol> ... AddOrd <dob_id> END
Zadaju se redom artikli i količine, a na kraju se kreira narudžbenica prema dobavljaču <dob_id>.
Listanje cenovnika (za id se koristi NAZIV cenovnika iz programa) :
WITH Cenovnik LIST <cen_id> END
Rezultat:
<id> <šifra> <naziv> <cena>