PANTHEON™ Help

 Категории
 Главна страна - Добре дојдовте во помош за PANTHEON
[Collapse]PANTHEON
 [Collapse]PANTHEON упатства
  [Collapse]Водич за Datalab PANTHEON™
   [Expand]ПОС
   [Expand]Помош
   [Collapse]Подесувања
    [Expand]Партнери
    [Expand]Иденти
    [Expand]Производство
    [Expand]Вработени
    [Expand]ПОС
     Календар
    [Expand]Сметководство
    [Expand]Царина
    [Collapse]Програм
     [Expand]Програма за доверба
     [Expand]Видови документи
     [Collapse]Облици на испис
       Поставки во Администраторска конзола
       Изоз на испис
       Узоз на испис
      [Expand]Облици на испис
       Кратенка за испис
       Клонирање исписи и менување тип на исписи
       Преглед на испис
      [Expand]Дизајнер на извештаи
      [Expand]Користење SQLEXP израз во исписи
      [Expand]Пораки поврзани со исписи
      [Expand]Создавање Извештаи
      [Expand]Групи и Агрегати
      [Expand]Креирање исписи
      [Expand]Форматирање и Истакнување
       Вгнездени Извештаи (Подизвештаи)
      [Expand]Спецификации на печатите во ПАНТЕОН
      [Collapse]Скрипт
        "Здраво, Свету!" Скрипт
        Користење на променливи, полиња на база на податоци и агрегатни функции
        Користење на Извештај Објекти во Скриптата
        Настани
        Пример за користење на настанот "OnBeforePrint"
        Печатење на групна сума во групната глава
        Тековна сума
        "OnAfterData" настан
        Сервис Објекти
        Користење на објектот "Мотор"
       [Expand]PANTHEON Функции за FastReport
       [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 Farming
  [Expand]Водич за PANTHEON Ретал
  [Expand]Водич за PANTHEON Вет
 [Collapse]PANTHEON кориснички прирачници
  [Expand]Кориснички прирачник Datalab PANTHEON™
  [Expand]Корисничко упатство за PANTHEON Ретал
  [Expand]Корисничко упатство за PANTHEON Vet
  [Expand]Корисничко упатство за ПАНТЕОН Земјоделство
[Collapse]PANTHEON Web
 [Collapse]Водич за PANTHEON Web
  [Expand]Водич за PANTHEON Web Light
  [Expand]Водич за PANTHEON Chronos Mini
  [Expand]Водич за PANTHEON Web Terminal
  [Expand]Водич за PANTHEON Web Legal
  [Expand]Архива на стари производи
 [Collapse]Кориснички прирачник за PANTHEON Web
  [Expand]Најава во PANTHEON Web
  [Expand]Како да започнете со PANTHEON Web
  [Expand]Кориснички прирачник за PANTHEON Web Light
  [Expand]Кориснички прирачник за PANTHEON Web Terminal
  [Expand]Кориснички прирачник за PANTHEON Web Legal
  [Expand]Стара архивa на производи
[Collapse]PANTHEON Гранула
 [Collapse]Водич за PANTHEON Гранули
  [Expand]Гранула Кадри
  [Expand]Гранула Патни налози
  [Expand]Гранула Документи и задачи
  [Expand]Гранула Контролна табла
  [Expand]Гранула B2B нарачки
  [Expand]Гранула Сервис на терен
  [Expand]Инвентаризација на фиксни средства
  [Expand]Гранула Попис на магацини
 [Collapse]Кориснички прирачник за PANTHEON Гранули
   Започнување
   Користење на PANTHEON Гранули во фиктивната компанија Текта
  [Expand]Гранули и активација
  [Expand]Гранула Кадри
  [Expand]Гранула Патни налози
  [Expand]Гранула Документи и Задачи
  [Expand]Гранула Б2Б нарачки
  [Expand]Гранула Контролна табла
  [Expand]Гранула Сервис на терен
  [Expand]Инвентаризација на фиксни средства
   PANTHEON Гранула - FAQ
  [Expand]Гранула Попис на магацин
   Архива
[Expand]Кориснички сервер

Load Time: 796,881 ms
"
  1006305 | 218664 | 438982 | AI translated
Label

Референцирање на полињата на базата на податоци

Настани

Досега гледавме на скрипти со само една главна процедура, која се извршува кога извештајот започнува да се извршува. Во главната процедура можат да се направат почетни поставки и да се иницијализираат променливи. Сепак, ова не е доволно за целосна контрола над процесот на генерирање на извештајот. За да се овозможи колку што е можно поголема контрола над генерирањето на извештајот, секој објект има неколку настани на кои можат да се доделат обработувачи (т.е. процедури во скриптата). На пример, поврзувањето на обработувач со податочната лента овозможува запишаните записи да се филтрираат, така што лентата може да биде скриена или откриена во зависност од исполнувањето на специфични услови.

Да го демонстрираме процесот на создавање извештај и настаните кои се активираат преку едноставен извештај кој содржи една страница и има една “MasterData” лента, со два “Text” објекти на лентата:

clip0191

Како што е опишано погоре, главната процедура на скриптата се повикува на самиот почеток на извршувањето на извештајот. По тоа, започнуваат основите на конструкцијата на извештајот. Прво, настанот “OnStartReport” на објектот "Report" се повикува. Потоа, пред да се создаде излезна страница, настанот “OnBeforePrint” за страницата се повикува. Овој настан се повикува еднаш за секоја дизајнерска страница во шаблонот на извештајот (дизајнерските страници не треба да се мешаат со излезните страници на извештајот!). Во нашиот пример, настанот се повикува еднаш, бидејќи дизајнот на извештајот се состои само од една дизајнерска страница.

Потоа, настаните на податочните ленти се повикуваат во следниот редослед:

1. настанот “OnBeforePrint” на лентата се повикува

2. настанот “OnBeforePrint” на секој објект содржан во лентата се повикува

3. секој објект се пополнува со податоци (во нашиот пример со вредности на полињата “Company” и “Addr1" од базата на податоци)

4. настанот “OnAfterData” на секој објект се повикува

5. се извршуваат акции како позиционирање на објектите на лентата (ако има растегливи објекти меѓу нив), пресметување на висината на лентата и нејзино растегнување (ако е растеглива)

6. настанот “OnAfterCalcHeight” на лентата се повикува

7. се создава нова излезна страница ако лентата нема доволно простор во белото место на страницата

8. лентата и сите нејзини објекти се прикажуваат на излезната страница

9. настанот “OnAfterPrint” на секој објект од лентата се повикува

10. настанот “OnAfterPrint” на самата лента се повикува

Лентите продолжуваат да се печатат додека изворот поврзан со лентата има податоци. По тоа, печатењето на извештајот се прекинува, настанот “OnAfterPrint” на страницата на извештајот се повикува и на крајот настанот “OnStopReport” на објектот “Report”.

Така, користејќи ги настаните на различни објекти, практично секој чекор од процесот на создавање извештај може да се управува. Клучот за користење на настаните е темелно разбирање на процесот на излез на лентата, што е опфатено во следните делови. Повеќето од акциите можат да се извршат користејќи само настанот “OnBeforePrint” на лентата; сите модификации направени на објект веднаш се прикажуваат. Сепак, ако лентата е растеглива, невозможно е да се каже во овој настан на која страница лентата ќе биде отпечатена, бидејќи пресметувањето на висината на лентата се извршува во чекор 5. Сепак, тоа може да се направи, или во настанот “OnAfterCalcHeight” во чекор 6 или во настанот “OnAfterPrint” во чекор 9. Имајте на ум дека во последниот настан лентата веќе ќе биде излезена, така што модификацијата на објектите нема да има никаков видлив ефект.

Клучно е јасно да се разбере “каде и кога” лентите се излезени и да се разбере времето (редослед на повикување) на секој од нивните настани. Исто така и за секој од објектите содржани во лентите.


 

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