Pogledaj uputstva za PANTHEON™

 Sadržaj
 Glavna strana- Dobrodošli u PANTHEON uputstva
[Collapse]PANTHEON
 [Collapse]PANTHEON priručnici
  [Collapse]Priručnik za PANTHEON
   [Expand]Pantheon Hosting
   [Expand]Pomoć
   [Collapse]Podešavanja
    [Expand]Subjekti
    [Expand]Identi
    [Expand]POS
    [Expand]Proizvodnja
    [Expand]Zaposleni
     Kalendar
    [Expand]Računovodstvo
    [Expand]Carina
    [Collapse]Program
     [Expand]Vrste dokumenata
     [Collapse]Ispisi u PANTHEON-u
       Podešavanja
       Vrste ispisa
       Grupisanje i numerisanje
      [Collapse]Funkcije
        Datalab funkcije
        Funkcija EQLExp
       Radno okruženje
       Specifičnosti ispisa
       Sistemske promenljive
       Uvoz i izvoz ispisa
      [Expand]Skripta
       Tabele i upiti na ispisima
       Objekti
       Izrazi
     [Expand]Oblici ispisa
     [Expand]Šifarnik tekstova za vrste dokumenata
      Načini dostave
     [Expand]ARES
     [Expand]Administratorska konzola
     [Expand]Elementi kontrolne table
      Izveštaji na kontrolnoj tabli
      Ad-hoc analiza
     [Expand]Kartice poverenja
     [Expand]Izveštaji kontrolne table
     [Expand]Trenutni korisnik Ctrl - U
     [Expand]Ad-hoc analize
      SQL editor
     [Expand]Poštanska knjiga
      Klasifikacijski plan
    [Expand]Dokumentacija
   [Expand]Narudžbine
   [Expand]Roba
   [Expand]Proizvodnja
   [Expand]POS
   [Expand]Servis
   [Expand]Novac
   [Expand]Kadrovi
   [Expand]Radna površina
   [Expand]Analize
   [Expand]Korisničke strane
   [Expand]Poslovni saveti
    Dodatno
   [Expand]Plansko-analitički alat ZEUS
   [Expand]Dodatni programi
   [Expand]Obaveštenja programa
   [Expand]Zvanična mišljenja
   [Expand]Dodatni programi
   [Expand]Sistemska okolina
    Rečnik izraza
   [Expand]Zastareli produkti
  [Expand]Vodič po DataLab PANTHEON™ Farming
  [Expand]Vodič za mobilni POS
  [Expand]Vodič za PANTHEON Vet
 [Expand]PANTHEON korisnički priručnici
[Expand]PANTHEON Web
[Expand]PANTHEON Granule

Load Time: 812,5079 ms
print   |
Label

SQL Exp

 

 

000001.gif  U većini slučajeva je bolje koristiti upite na izveštaju umesto SQLExp funkcije.

SQLExp je funkcija koja vam omogućava pristup podacima koji inače nisu dostupni u originalnom skupu podataka izveštaja. Na ovaj način možete uključiti podatke iz drugih tabela u korisnički definisane izveštaje.

Header

funkcija SQLExp(sql:String): String;

Jednostavni primeri

Hajde da prvo pogledamo dva jednostavna primera koja se mogu koristiti na svakom izveštaju. Prvi izraz vraća adresu subjekta nazvanog 'Fabrika'

[SQLexp('select acAddress from tHE_SetSubj where acSubject = ''Fabrika''')]

Drugi primer vraća ime naše kompanije. Koristi spoj dve tabele

[SQLexp('select S.acSubject from tHE_SetSubj S, tPA_SysParam P where S.acSubject = P.acOurCompany')]

Primer korišćenja na izveštaju 103 - Izveštaj o narudžbini - detaljno

Prikupljate prodajne narudžbine i jednom nedeljno isporučujete te narudžbine primaocima. U izveštaju o prodajnim narudžbinama možete kreirati izveštaj o neisporučenim narudžbinama sa unetim Dostava poljem (metoda isporuke) Dostava - sopstvenim kamionom.

U skupu podataka izveštaja o prodajnim narudžbinama nisu navedeni adresa i pošta kupca. Svi ovi podaci su dostupni u registru subjekata, dok je ID subjekta već prisutan u skupu podataka izveštaja103 - Izveštaj o narudžbini - detaljno izveštaja.

Svi kriterijumi su ispunjeni da se koristi funkcija SQLExp na izveštaju. Pogledajmo!

Postavite objekat "Tekst" na izveštaj. Kliknite na objekat da otvorite uređivač teksta. Napišite izraz u uređivaču. Morate staviti izraz između uglastih zagrada. jer je napisan kao izraz u objektu "Tekst".

[SQLExp('select acAddress from tHE_SetSubj where acSubject = ' + dlQuotedStr(<qReportIzpis."acConsignee">) + '')]

Objašnjenje

acConsignee je polje u skupu podataka qReportIzpis koje se koristi za generisanje izveštaja.

Funkcija dlQuotedStr (registrovana za izveštaj od strane Datalab) konvertuje string u verziju sa navodnicima.

Posle zamene dlQuotedStr(<qReportIzpis."acConsignee">), SQL komanda je:

'select acAddress from tHE_SetSubj where acSubject = '''Kupac&Co.''' '

i tako je upit koji se izvršava:

select acAddress from tHE_SetSubj where acSubject = 'Kupac&Co.''

000001.gif Pošto se imena skupova podataka i polja mogu razlikovati u svakom izveštaju, morate proveriti ime skupa podataka i polja za svaki konkretan izveštaj.

Izveštaj o mestu kupca iz prodajne narudžbine

SQL klauzula je u ovom slučaju spoj dve tabele

[SQLExp('select P.acName from tHE_SetSubj S left join tHE_SetPostCode P on S.acPost = P.acPost where acSubject = ' + dlQuotedStr(<qReportIzpis."acConsignee">) + '')]

Primer kolektivnog računa

Pogledajmo primer gde je kolektivni račun (prijem ili izdavanje) kreiran iz internih dokumenata (prijema ili izdanja) u kojima ste primili ili izdali robu praćenu serijskim brojevima.

Izveštaj o kolektivnom računu ili pregled serijskih brojeva neće proizvesti informacije o primljenim ili izdatim serijskim brojevima stavki iz kolektivnog računa, jer su ovi serijski brojevi primljeni ili izdati putem internih dokumenata.

Ali možete izvesti listu primljenih ili izdatih serijskih brojeva! Da biste to uradili, koristite funkciju SQLExp. Serijski brojevi će biti direktno izveštavani koristeći tabelu veza, gde je tip veze između internog dokumenta i kolektivnog računa 4.

Izveštaji ove vrste se koriste za izveštavanje serijskih brojeva u kolektivnom računu koji je direktno kreiran iz internih dokumenata.

Kreirajte novu kopiju već postojećeg izveštaja za račun. Dodajte novi tekstualni objekat i napišite sledeću SQL rečenicu:

[SQLExp('select S.acSerialNo + '' ('' + LTrim(Str(Sum(S.anQty), 10, 2)) + '')'' as SN from tHE_MoveItemSerialNo S, tHE_LinkMoveItemMoveItem V where V.acLnkKey = S.acKey and V.anLnkNo = S.anNo and V.acType = ''4'' and V.acKey = ''' + <tbIzpisPrometPoz."acKey"> + ''' and V.anNo = ' + VarToStr(<tbIzpisPrometPoz."anNo">) + ' group by S.acSerialNo')]

Primer kolektivnog dokumenta kreiranog sa internim dokumentima

Pogledajmo primer gde je kolektivni račun (prijem ili izdavanje) kreiran iz internih dokumenata za izdavanje u kojima ste izdali robu praćenu serijskim brojevima.

Izveštaj o kolektivnom računu ili pregled serijskih brojeva neće proizvesti informacije o izdatim serijskim brojevima stavki iz kolektivnog računa, jer su ovi serijski brojevi izdati putem dokumenta za izdavanje kupcu.

Ali možete izvesti listu izdatih serijskih brojeva! Da biste to uradili, koristite funkciju SQLExp. Serijski brojevi će biti direktno izveštavani koristeći tabelu veza, gde je veza između internog dokumenta i kolektivnog računa uneta sa tipom V.

1. Kreirajte novu kopiju iz izveštaja već postojećeg izveštaja za račun. Dodajte novi tekstualni objekat i napišite sledeću SQL rečenicu:

[SQLExp('select S.acSerialNo + '' ('' + LTrim(Str(Sum(S.anQty), 10, 2)) + '')'' as SN from tHE_MoveItemSerialNo S, tHE_LinkMoveItemMoveItem V where V.acLnkKey = S.acKey and V.anLnkNo = S.anNo and V.acType = ''V'' and V.acKey = ''' + <tbIzpisPrometPoz."acKey"> + ''' and V.anNo = ' + VarToStr(<tbIzpisPrometPoz."anNo">) + ' group by S.acSerialNo')]

Razlika od prethodnog primera je samo u tome što je tip veze u ovom slučaju "V" umesto 4.

Primer pozivanja sačuvane procedure

Parametar funkcije može takođe biti sačuvana procedura. Sledeći primer vraća mesto naše kompanije pozivajući sačuvanu proceduru "fHE_GetOurCompanyCity"

[SQLExp('select dbo.fHE_GetOurCompanyCity()]



Oceni ovu temu
Da li je ova tema korisna?
Komentari
Komentari će biti vidljivi i na forumu!