Ръководство за PANTHEON™

 Категории
 PANTHEON Help - Welcome
[Collapse]PANTHEON
 [Collapse]PANTHEON упатства
  [Collapse]Guide for PANTHEON
   [Collapse]Settings
    [Expand]Subjects
    [Expand]Items
    [Expand]POS
    [Expand]Manufacturing
    [Expand]Personnel
     Calendar
    [Expand]Financials
    [Expand]Customs
    [Collapse]Program
     [Expand]Document Types
     [Collapse]Reports in PANTHEON
       Settings in Administration Panel
      [Expand]Reports Register
       Print Preview
      [Expand]Report Designer
      [Expand]Creating Reports
      [Expand]Groups and Aggregates
      [Expand]Formatting and Highlighting
       Nested Reports (Subreports)
      [Expand]Specifics of Printouts in PANTHEON
      [Collapse]Script
        "Hello, World!" Script
        Using Variables, Database Fields, and Aggregate Functions
        Using Report Objects in the Script
        Events
        Example of Using the "OnBeforePrint" Event
        Printing a Group Sum in the Group Header
        Running Total
        "OnAfterData" Event
        Service Objects
        Using the "Engine" Object
       [Collapse]PANTHEON Functions for FastReport
         Declarations and Simple Examples
         Function GetFormValue
        [Expand]Function EQLExp
       [Expand]Examples with Tables and Queries
       Report Design Considerations
      Document Texts
      Delivery Methods
     [Expand]Loyalty Cards
     [Expand]Administration Panel
     [Expand]Dashboard Components
      Dashboard Reports
      Ad-hoc analysis
     [Expand]ARES
      SQL urejevalnik
    [Expand]Documentation
    [Expand]Logon
   [Expand]Orders
   [Expand]Goods
   [Expand]Manufacturing
   [Expand]POS
   [Expand]Service
   [Expand]Financials
   [Expand]Personnel
   [Expand]Analytics
   [Expand]Desktop
   [Expand]Помощ
   [Expand]Старите продукти
   [Expand]Messages and Warnings
   [Expand]Additional programs
  [Expand]Ръководство за PANTHEON Търговия
  [Expand]Ръководство за PANTHEON Vet
  [Expand]Ръководство за PANTHEON Фермерство
 [Expand]PANTHEON потребителски ръководства
[Expand]PANTHEON Web
[Expand]PANTHEON Гранула
[Expand]Потребителски сайт

Load Time: 718,7759 ms
print   |
Label

Zgradba izpisa

In this topic we will look at some examples of usage GetFormValue function.

Getting Value of Object from PANTHEON Window

In the first example we will write the expression that returns the warehouse on the invoices issued that is in the program menu 'Goods | Invoices Issued Report | Invoices Issued/Profit Margin Report'. The name of Pantheon window is 'PrometObracunIzdRac', the name of check box in which we select the warehouse is 'fWarehouse'.

[GetFormValue('PrometObracunIzdRac.fWarehouse')]

Getting Value from PANTHEON Window with Document

Names of some document windows are composed of a base and a suffix representing the type of document. If we want to print the referent on the issue, we write down the term
[GetFormValue('PrometIzdDob3000.fReferentZap')]
It will returns value only in the case of document type 3000. In order to return value for all document types, we have to rewrite this code to

[GetFormValue('PrometIzdDob'+<tbLookPoslDog."acDocType">+'.fReferentZap')]

Where dataset "tbLookPoslDog" is not available, we can get the name of the window from the document number. On sale orders report we write:

[IIF(Copy(<qReportIzpisD."acKeyView">,Pos('-',
<qReportIzpisD."acKeyView">)+4,1) ='-',
GetFormValue('Naroc'+Copy(<qReportIzpisD."acKeyView">,Pos('-',
<qReportIzpisD."acKeyView">)+1,3)+'0.fReferentZap'),
GetFormValue('Naroc'+Copy(<qReportIzpisD."acKeyView">,Pos('-',
<qReportIzpisD."acKeyView">)+1,4)+'.fReferentZap'))]

Example with Date

The function GetFormValue returns the date in the yyyy/mm/dd format. We want to display date in the dd.mm.yyyy or d.m.yyyy format.

The best example is when there are no data that you need in the dataset, there are notifications of outstanding commitments that are in the program in the 'Financials | Reports | Outstanding items'.

The following expression returns the date of the state in the yyyy/mm/dd format:

[GetFormValue('GLOutstandingItems.edtDate')]

The term also has a disadvantage that if the date is not entered, it returns "1900/01/01" (what is not possible in this case).
We must check whether the date is entered before printing with the IIF function:

[IIF(GetFormValue('GLOutstandingItems.edtDate')= '1900/01/01','',
GetFormValue(''GLOutstandingItems.edtDate'))]


If we want to print the date in the format dd.mm.yyyy, we need to change the order of the numbers on the report:

[IIF(GetFormValue('GLOutstandingItems.edtDate') ='1900/01/01','',
Copy(GetFormValue('
GLOutstandingItems.edtDate'),9,2)+'.'+
Copy(GetFormValue('
GLOutstandingItems.edtDate'),6,2)+'.'+
Copy(GetFormValue('
GLOutstandingItems.edtDate'),1,4))]

The date in the d.m.yyyy format is obtained by turning the day of the month and month into a number and then back to text:

[IIF(GetFormValue('GLOutstandingItems.edtDate') ='1900/01/01','',
IntToStr(StrToInt(Copy(GetFormValue('
GLOutstandingItems.edtDate'),9,2)))
+'.'+IntToStr(StrToInt(Copy(GetFormValue('
GLOutstandingItems.edtDate'),6,2)))
+'.'+Copy(GetFormValue('
GLOutstandingItems.edtDate'),1,4))] 

Example with non-text Object

The GetFormValue function can also be used for objects that do not represent a text. In this case, the most important feature of this facility is returned. Returned value is usually not suitable for direct printing, but we can use it on the report itself. For example, text is displayed in the window at this value.

As an example, we look  a radio button group called 'grpGroupBy' on account card report for example '32D- Account Card' that is in the program menu 'Financials | Reports | Account Card'. The name of the window is 'GLAccountCard'. For this object type function returns the 'ItemIndex' property that determines which button is selected. In our example, this property determines how data is to be aggregated and the bands on the report are hidden. The value returned by the function is written to the 'nGroupBy' variable and then, depending on its value, we hide the bands on the report, In the "SubjektFooterOnBeforePrint" procedure.

  var nGroupBy: Integer;
  ...
  procedure SubjektFooterOnBeforePrint(Sender: TfrxComponent);
  begin
    if nGroupBy <= 1 then
      SubjektFooter.Visible := False;
  end;
  ...
  nGroupBy := GetFormValue('GLAccountCard.grpGroupBy');



Оценете темата
Темата беше ли ви полезна?
Коментар
Вашият коментар ще бъде видим и във форума!