PANTHEON™ manual

 Kategori
 PANTHEON Ndihmë - Mirësevini
[Collapse]PANTHEON
 [Collapse]Udhëzues për PANTHEON
  [Collapse]Udhëzues për PANTHEON
   [Collapse]Cilësime
    [Expand]Subjektet
    [Expand]Artikuj
    [Expand]POS
    [Expand]Prodhimi
    [Expand]Stafi
     Kalendar
    [Expand]Financat
    [Expand]Dogana
    [Collapse]Programi
     [Expand]Llojet e Dokumenteve
     [Collapse]Raportet në PANTHEON
       Parametrat në Panelin e Administratës
      [Expand]Regjistri i Raporteve
       Paraqitja e Shtypit
      [Expand]Projektuesi i Raporteve
      [Expand]Krijimi i Raporteve
      [Expand]Grupet dhe Agregatet
      [Expand]Formatimi dhe Theksimi
       Raportet e Ngritura (Raportet Nën)
      [Expand]Specifikat e Printimeve në PANTHEON
      [Collapse]Skrypt
        "Përshëndetje, Botë!" Skripti
        Përdorimi i Variablave, Fushave të Bazës së të Dhënave, dhe Funksioneve Agreguese
        Përdorimi i Objekteve të Raportit në Skript
        Ngjarjet
        Shembulli i Përdorimit të Ngjarjes "OnBeforePrint"
        Printimi i një Shume Grupi në Krye të Grupit
        Shuma e Vazhdueshme
        "OnAfterData" Ngjarja
        Objektet e Shërbimit
        Përdorimi i Objektit "Motor"
       [Collapse]PANTHEON Funksionet për FastReport
         Deklaratat dhe Shembujt e Thjeshtë
         Funksioni MerrVlerënEFormës
        [Expand]Funksioni EQLExp
       [Expand]Shembuj me Tabela dhe Kërkesa
       Konsideratat për Dizajnimin e Raportit
      Tekstet e Dokumenteve
      Metodat e Dërgesës
     [Expand]Kartat e Besnikërisë
     [Expand]Paneli i Administratës
     [Expand]Komponentët e Panelit
      Raportet e Panelit
      Analiza ad-hoc
     [Expand]ARES
      SQL urejevalnik
    [Expand]Dokumentacioni
    [Expand]Ndrysho Përdoruesin
   [Expand]Porositë
   [Expand]Mallrat
   [Expand]Prodhimi
   [Expand]POS
   [Expand]Shërbimi
   [Expand]Financat
   [Expand]Stafi
   [Expand]Analitika
   [Expand]Desktop
   [Expand]Ndihmë
   [Expand]Mesazhe dhe Paralajmërime
   [Expand]Programet shtesë
   [Expand]Produkte të vjetra
  [Expand]Udhëzues për PANTHEON Retail
  [Expand]Udhëzues për PANTHEON Vet
  [Expand]Udhëzues për PANTHEON Bujqësi
 [Expand]Manualet e Përdoruesve për PANTHEON
[Expand]PANTHEON Web
[Expand]PANTHEON Granulat
[Expand]Faqja e Përdoruesit

Load Time: 953,1296 ms
print   |
Label

SQL Exp

 

 

000001.gif  Në shumicën e rasteve është më mirë të përdoren pyetje në raport në vend të SQLExp funksionit.

SQLExp është funksioni që ju lejon të aksesoni të dhëna që ndryshe nuk janë të disponueshme në datasetin origjinal të raportit. Kështu mund të përfshini të dhëna nga tabela të tjera në raportet e përcaktuara nga përdoruesi.

Kreu

funksioni SQLExp(sql:String): String;

Shembuj të Thjeshtë

Le të shohim së pari dy shembuj të thjeshtë që mund të përdoren në çdo raport. Shprehja e parë kthen adresën e subjektit të quajtur 'Fabrika'

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

Shembulli i dytë kthen emrin e kompanisë sonë. Ai përdor bashkimin e dy tabelave

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

Shembulli i Përdorimit në Raportin 103 - Raporti i Porosive - të detajuar

Po mbledhni porositë e shitjeve dhe një herë në javë i dorëzoni këto porosi te konsignantët. Në raportin e porosive të shitjeve mund të krijoni një raport të porosive të pa dërguara me të dhënat e futura Dorëzimi fushë (metoda e dorëzimit) Dorëzimi - me kamionin tuaj.

Në datasetin e raportit të porosive të shitjeve nuk janë të dhëna adresën dhe postën e klientit. Të gjitha këto të dhëna janë të disponueshme në regjistrin e Subjekteve, sa për ID-në e Subjekteve, ajo tashmë është e pranishme në datasetin e '103 - Raporti i Porosive - të detajuar raportit'.

Të gjitha kriteret ishin përmbushur për të përdorur funksionin SQLExp në një raport. Le të shohim!

Vendosni objektin "Tekst" në raport. Klikoni mbi objektin për të hapur redaktorin e tekstit. Shkruani shprehjen në redaktor. Duhet ta mbyllni shprehjen mes kllapave katrore. sepse është shkruar si shprehje në objektin "Tekst".

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

Shpjegimi

acConsignee është fusha në dataset qReportIzpis e cila përdoret për të gjeneruar një raport.

Funksioni dlQuotedStr (i regjistruar për raport nga Datalab) konverton stringun në versionin e cituar.

Pas zëvendësimit të dlQuotedStr(<qReportIzpis."acConsignee">) , komanda SQL është:

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

dhe kështu pyetja që ekzekutohet është:

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

000001.gif Për shkak se emrat e datasetëve dhe fushave mund të ndryshojnë në çdo raport, duhet të kontrolloni emrin e datasetit dhe fushave për çdo raport konkret.

Raporti i vendit të klientit nga porosia e shitjes

Klauzola SQL është në këtë rast bashkimi i dy tabelave

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

Shembulli i një Fature Kolektive

Le të shohim një shembull ku fatura kolektive (pranimi ose lëshimi) është krijuar nga dokumente të brendshme (pranime ose lëshime) në të cilat keni marrë ose lëshuar mallra të ndjekura nga numra serialë.

Raporti i një fature kolektive ose një përmbledhje e numrave serialë nuk do të prodhojë informacion mbi numrat serialë të marrë ose të lëshuar të artikujve nga fatura kolektive, sepse këta numra serialë janë marrë ose lëshuar përmes dokumenteve të brendshme.

Por mund të raportoni një listë të numrave serialë të marrë ose të lëshuar! Për ta bërë këtë, përdorni funksionin SQLExp. Numrat serialë do të raportohen drejtpërdrejt duke përdorur tabelën e lidhjes, ku lloji i lidhjes midis dokumentit të brendshëm dhe faturës kolektive është 4.

Raportet e këtij lloji përdoren për të raportuar numrat serialë në një faturë kolektive që është krijuar drejtpërdrejt nga dokumentet e brendshme.

Krijoni një klon të ri të një raporti ekzistues për një faturë. Shtoni objektin e ri të tekstit dhe shkruani fjalinë SQL të mëposhtme:

[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')]

Shembulli i një Dokumenti Kolektiv të Krijuar me Dokumente të Brendshme

Le të shohim një shembull ku fatura kolektive (pranimi ose lëshimi) është krijuar nga dokumente lëshimi të brendshme në të cilat keni lëshuar mallra konsignation të ndjekura nga numra serialë.

Raporti i një fature kolektive ose një përmbledhje e numrave serialë nuk do të prodhojë informacion mbi numrat serialë të lëshuar të artikujve nga fatura kolektive, sepse këta numra serialë janë lëshuar përmes një dokumenti lëshimi për klientin.

Por mund të raportoni një listë të numrave serialë të lëshuar! Për ta bërë këtë, përdorni funksionin SQLExp. Numrat serialë do të raportohen drejtpërdrejt duke përdorur tabelën e lidhjes, ku lidhja midis dokumentit të brendshëm dhe faturës kolektive është e futur me llojin V.

1. Krijoni një kopje të re nga raporti i një raporti ekzistues për një faturë. Shtoni një objekt të ri të tekstit dhe shkruani fjalinë SQL të mëposhtme:

[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')]

Dallimi nga shembulli i mëparshëm është vetëm se lloji i lidhjes është në këtë rast "V" në vend të 4.

Shembulli i Thirrjes së Procedurës së Ruajtur

Parametri i funksionit mund të jetë gjithashtu procedura e ruajtur. Shembulli i mëposhtëm kthen vendin e kompanisë sonë me thirrjen e procedurës së ruajtur "fHE_GetOurCompanyCity"

[SQLExp('select dbo.fHE_GetOurCompanyCity()]



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