Погледнете ги упатствата за PANTHEON™

 Категории
 Главна страна - Добре дојдовте во помош за PANTHEON
[Collapse]PANTHEON
 [Collapse]PANTHEON упатства
  [Expand]Водич за PANTHEON Farming
  [Collapse]Водич за Datalab PANTHEON™
   [Expand]Помош
   [Expand]ПОС
   [Collapse]Подесувања
    [Expand]Партнери
    [Expand]Иденти
    [Expand]Производство
    [Expand]ПОС
    [Expand]Вработени
     Календар
    [Expand]Сметководство
    [Expand]Царина
    [Collapse]Програм
     [Expand]Програма за доверба
     [Expand]Видови документи
     [Collapse]Облици на испис
       Поставки во Администраторска конзола
       Изоз на испис
       Узоз на испис
       Кратенка за испис
      [Expand]Облици на испис
       Клонирање исписи и менување тип на исписи
       Преглед на испис
      [Expand]Користење SQLEXP израз во исписи
      [Expand]Дизајнер на извештаи
      [Expand]Пораки поврзани со исписи
      [Expand]Создавање Извештаи
      [Expand]Групи и Агрегати
      [Expand]Креирање исписи
      [Expand]Форматирање и Истакнување
       Вгнездени Извештаи (Подизвештаи)
      [Expand]Спецификации на печатите во ПАНТЕОН
      [Collapse]Скрипт
        "Здраво, Свету!" Скрипт
        Користење на променливи, полиња на база на податоци и агрегатни функции
        Користење на Извештај Објекти во Скриптата
        Настани
        Пример за користење на настанот "OnBeforePrint"
        Печатење на групна сума во групната глава
        Тековна сума
        "OnAfterData" настан
        Сервис Објекти
        Користење на објектот "Мотор"
       [Collapse]PANTHEON Функции за FastReport
         Декларации и едноставни примери
         Функција GetFormValue
        [Expand]Функција EQLExp
       [Expand]Примери со Табели и Запроси
       Разглед на дизајн на извештајот
      Текстови на документи
      Начин на достава
     [Expand]АРЕС
     [Expand]Администраторска конзола
     [Expand]Картички за доверба
      Ад-хок анализа
     [Expand]Тековен корисник
     [Expand]Елементи на контролна табла
      Извештаи на контролна табла
      SQL уредувач
    [Expand]Документација
   [Expand]Нарачки
   [Expand]Материјално
   [Expand]Производство
   [Expand]Сервис
   [Expand]ПОС
   [Expand]Финансии
   [Expand]Кадри
   [Expand]Работна површина
   [Expand]Анализи
    Додатно
   [Expand]Аналитика
   [Expand]Пораки и предупредувања
   [Expand]Системско окружување за Даталаб програми
   [Expand]Официјални објаснувања
    Речник на термини
   [Expand]Дополнителни програми
   [Expand]Застарени производи
  [Expand]Водич за PANTHEON Ретал
  [Expand]Водич за PANTHEON Вет
 [Expand]PANTHEON кориснички прирачници
[Expand]PANTHEON Web
[Expand]PANTHEON Гранула
[Expand]Кориснички сервер

Load Time: 750,0082 ms
print   |
Label

SQL Exp

 

 

000001.gif  Во повеќето случаи е подобро да се користат упити на извештај наместо SQLExp функција.

SQLExp е функцијата која ви овозможува да пристапите до податоци кои инаку не се достапни во оригиналниот сет на податоци на извештајот. На овој начин можете да вклучите податоци од други таблици во кориснички дефинирани извештаи.

Заглавие

функција SQLExp(sql:String): String;

Прости примери

Прво да погледнеме два едноставни примери кои можат да се користат на секој извештај. Првото изразување враќа адреса на предмет именуван 'Фабрика'

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

Вториот пример враќа име на нашата компанија. Тој користи спој на две таблици

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

Пример за употреба на извештај 103 - Извештај за нарачки - детално

Вие собирајте продажни нарачки и еднаш неделно ги испорачувате овие нарачки на приматели. Во извештајот за продажни нарачки можете да создадете извештај за неиспратени нарачки со внесени Испорака поле (метод на испорака) Испорака - со сопствен камион.

Во сетот на податоци на извештајот за продажни нарачки не се обезбедени адресата и пошта на клиентот. Сите овие податоци се достапни во регистарот на предмети, што се однесува на ID на предметите, веќе е присутен во сетот на податоци на '103 - Извештај за нарачки - детално извештај'.

Сите критериуми беа исполнети за да се користи функцијата SQLExp на извештај. Да погледнеме!

Ставете објект "Текст" на извештајот. Кликнете на објектот за да го отворите уредникот за текст. Напишете израз во уредникот. Мора да го опфатите изразот помеѓу квадратни загради. бидејќи е напишан како израз во објектот "Текст".

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

Објаснување

acConsignee е полето во сетот на податоци qReportIzpis кој се користи за генерирање извештај.

Функцијата dlQuotedStr (регистрирана за извештај од Datalab) конвертира низ во верзија со наводници.

По замената на dlQuotedStr(<qReportIzpis."acConsignee">) , SQL командата е:

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

и така упитот што се извршува е:

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

000001.gif Пошто имената на сетовите на податоци и полињата можат да се разликуваат во секој извештај, мора да проверите името на сетот на податоци и полињата за секој конкретен извештај.

Извештај за местото на клиентот од продажната нарачка

SQL клаузулата е во овој случај спој на две таблици

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

Пример на колективна фактура

Да погледнеме пример каде колективната фактура (потврда или издавање) е создадена од внатрешни документи (потврди или издавања) во кои сте примиле или издале стоки следени по серијални броеви.

Извештајот за колективна фактура или преглед на серијалните броеви нема да произведе информации за примените или издадените серијални броеви на предмети од колективната фактура, бидејќи овие серијални броеви се примени или издадени преку внатрешни документи.

Но можете да известите за список на примени или издадени серијални броеви! За тоа, користете ја функцијата SQLExp. Серијалните броеви ќе бидат директно известени користејќи ја табелата за врски, каде типот на врска помеѓу внатрешниот документ и колективната фактура е 4.

Извештаи од овој вид се користат за известување на серијалните броеви во колективна фактура која е создадена директно од внатрешни документи.

Создајте нова копија на веќе постоечки извештај за фактура. Додајте нов текстуален објект и напишете ја следната SQL реченица:

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

Пример на колективен документ создаден со внатрешни документи

Да погледнеме пример каде колективната фактура (потврда или издавање) е создадена од внатрешни документи за издавање во кои сте издале стоки следени по серијални броеви.

Извештајот за колективна фактура или преглед на серијалните броеви нема да произведе информации за издадените серијални броеви на предмети од колективната фактура, бидејќи овие серијални броеви се издадени преку документ за издавање за клиентот.

Но можете да известите за список на издадени серијални броеви! За тоа, користете ја функцијата SQLExp. Серијалните броеви ќе бидат директно известени користејќи ја табелата за врски, каде врската помеѓу внатрешниот документ и колективната фактура е внесена со тип V.

1. Создајте нова копија од извештајот на веќе постоечки извештај за фактура. Додајте нов текстуален објект и напишете ја следната SQL реченица:

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

Разликата од претходниот пример е само тоа што типот на врска во овој случај е "V" наместо 4.

Пример на повикување на складирана процедура

Параметарот на функцијата може исто така да биде складирана процедура. Следниот пример враќа место на нашата компанија со повикување на складирана процедура "fHE_GetOurCompanyCity"

[SQLExp('select dbo.fHE_GetOurCompanyCity()]



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