Pogledaj uputstva za PANTHEON™

 Categories
 Početna stranica - PANTHEON uputstva
[Collapse]PANTHEON
 [Collapse]PANTHEON priručnici
  [Expand]Vodič po Datalab PANTHEON FarmAccounting
  [Expand]Vodič po PANTHEON Retail
  [Collapse]Vodič po DataLab PANTHEON™
   [Expand]Pomoć
   [Collapse]Postavke
    [Expand]Subjekti
    [Expand]Artikli
    [Expand]POS
    [Expand]Proizvodnja
     Kalendar
    [Expand]Zaposleni
    [Expand]Računovodstvo
    [Expand]Carina
    [Collapse]Program
     [Expand]Vrste dokumenata
     [Collapse]Ispisi u PANTHEON-u
       Prenos ispisa u druge baze
       Prenos ispisa u druge baze
       Postavke u Administrativnom Panelu
       Izvoz oblika ispisa
       Uvoz oblika ispisa
       SQLI i ispisi $
       Prečica za ispis
      [Expand]Izvještaji Registar
       Pregled štampe
       Dupliciranje ispisa i mijenjanje tipa ispisa
      [Expand]Upotreba izraza SQLEXP u ispisima $
      [Expand]Izvještajni dizajner
      [Expand]Poruke pri oblikovanju ispisa
      [Expand]Izrada Izvještaja
      [Expand]Grupacije i Agregati
      [Expand]Oblikovanje ispisa $
      [Expand]Formatiranje i Isticanje
       Ugniježdene Izvještaje (Podizvještaji)
       Specifičnosti ispisa u PANTHEON-u
      [Collapse]Scenario
        "Zdravo, Svijete!" Skripta
        Korištenje varijabli, polja baze podataka i agregatnih funkcija
        Dešavanja
        Primjer korištenja "OnBeforePrint" događaja
        Štampanje grupnog zbira u grupnom zaglavlju
        Trenutni Ukupni Iznos
        "OnAfterData" Događaj
        Servisni objekti
        Korištenje "Engine" objekta
       [Collapse]PANTHEON Funkcije za FastReport
         Izjave i jednostavni primjeri
         Funkcija GetFormValue
         Funkcija EQLExp
        Primjeri sa Tabelama i Upitima
     [Expand]Tekstovi za dokumente
      Načini dostave
     [Expand]Kartice povjerenja
     [Expand]Elementi nadzorne ploče
     [Expand]Administratorska konzola
      Izvještaji na kontrolnoj tabli
     [Expand]Izvještaji nadzorne ploče
      Ad-hoc analiza
     [Expand]Ares
     [Expand]Trenutni Korisnik Ctrl - U
      SQL uređivač
     [Expand]Ad-hoc analize
    [Expand]Dokumentacija
    [Expand]Dokumentacija
    [Expand]Zamjena korisnika
   [Expand]Narudžbe
   [Expand]Roba
   [Expand]Proizvodnja
   [Expand]POS
   [Expand]POS
   [Expand]Servis
   [Expand]Novac
   [Expand]Kadrovi
   [Expand]Radna površina
   [Expand]Analize
   [Expand]Programske poruke
   [Expand]Dodatni programi
   [Expand]Stari proizvodi
   [Expand]Službena objašnjenja
   [Expand]Dodatni programi
   [Expand]Riječnik izraza
  [Expand]Vodič po PANTHEON VET
 [Expand]PANTHEON korisnički priručnici
[Expand]PANTHEON Web
[Expand]PANTHEON Granule
[Expand]Korisničke stranice

Load Time: 765,6397 ms
print   |
Label

SQL Exp

 

 

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

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

Header

funkcija SQLExp(sql:String): String;

Jednostavni Primjeri

Prvo ćemo pogledati dva jednostavna primjera koja se mogu koristiti na svakom izvještaju. Prvi izraz vraća adresu subjekta nazvanog 'Fabrika'

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

Drugi primjer vraća ime naše kompanije. Koristi spajanje dviju tabela

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

Primjer korištenja na izvještaju 103 - Izvještaj o narudžbama - detaljno

Prikupljate narudžbe i jednom sedmično isporučujete te narudžbe primateljima. U izvještaju o narudžbama možete kreirati izvještaj o neisporučenim narudžbama sa unesenim Dostava poljem (metoda dostave) Dostava - vlastitim kamionom.

U skupu podataka izvještaja o narudžbama nisu navedeni adresa kupca i pošta. Svi ovi podaci su dostupni u registru subjekata, dok je ID subjekta već prisutan u skupu podataka103 - Izvještaj o narudžbama - detaljno izvještaja.

Svi kriteriji su ispunjeni za korištenje funkcije SQLExp na izvještaju. Pogledajmo!

Postavite "Tekst" objekat na izvješ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 "Tekst" objektu.

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

Objašnjenje

acConsignee je polje u skupu podataka qReportIzpis koji se koristi za generisanje izvještaja.

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

Poslije zamjene 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 izvještaju, morate provjeriti ime skupa podataka i polja za svaki konkretan izvještaj.

Izvještaj o mjestu kupca iz narudžbe

SQL klauzula je u ovom slučaju spajanje dviju tabela

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

Primjer Kolektivnog Računa

Pogledajmo primjer gdje 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.

Izvješ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 prijaviti listu primljenih ili izdatih serijskih brojeva! Da biste to uradili, koristite funkciju SQLExp. Serijski brojevi će biti direktno prijavljeni koristeći tabelu veza, gdje je tip veze između internog dokumenta i kolektivnog računa 4.

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

Kreirajte novu kopiju već postojećeg izvještaja za račun. Dodajte novi tekstualni objekat i napišite sljedeć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')]

Primjer Kolektivnog Dokumenta Kreiranog sa Internim Dokumentima

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

Izvješ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 kupca.

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

1. Kreirajte novu kopiju iz izvještaja već postojećeg izvještaja za račun. Dodajte novi tekstualni objekat i napišite sljedeć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 primjera je samo u tome što je tip veze u ovom slučaju "V" umjesto 4.

Primjer Pozivanja Spremne Procedure

Parametar funkcije može također biti spremljena procedura. Sljedeći primjer vraća mjesto naše kompanije pozivajući spremljenu proceduru "fHE_GetOurCompanyCity"

[SQLExp('select dbo.fHE_GetOurCompanyCity()]



Rate this topic
Was this topic usefull?
Comments
Comment will also bo visible in forum!