PC SOFT

ONLINE HELP
FOR WINDEV, WEBDEV AND WINDEV MOBILE

Home | Sign in | English US
  • Overview
  • Processes of report blocks
  • Handling a block in a WLanguage process
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Overview
Each report block is associated with different processes. These processes are used to improve the operating mode of the report via the programming functions of WLanguage.
Furthermore, each block can be handled in WLanguage: to do so, use the name of the block in the WLanguage code.
Processes of report blocks
The following processes are associated with the report blocks:
ProcessesRuntime condition
InitializationRun when initializing the block. The order in which the processes are run when printing a report (including during a test) is as follows:
  • "Opening" process of the report.
  • "Initialization" process of report blocks.
  • "Initialization" process of controls.
This process is used to:
  • initialize the "Calculated" controls.
  • initialize the global variables declared in the "Opening" process of the report.
  • perform block substitutions.
Before printingBefore printing a block, the following operations are performed:
  • reading the current record.
  • assigning the values read in the controls of the block.
  • performing calculations on the values of items.
  • running the "Before printing" process of block.
  • performing calculations on the controls of the block.
When this process is called, the report editor checks whether there is enough space left on the current page to print the current block (case of non-breakable block). If there is not enough space to print the current non-breakable block, it will be printed on the next page (as well as the Page Footer, Page Header and Body Complement blocks if necessary).When this process is called, the report editor checks whether there is enough space left on the current page to print the current block (case of non-breakable block). If there is not enough space to print the current non-breakable block, it will be printed on the next page (as well as the Page Footer, Page Header and Body Complement blocks if necessary).
If the block is auto-sizable, the "Before printing" process is run before knowing whether the block can be printed on the page.
This process is used to:
  • see and modify the controls of the relevant block.
  • assign images.
  • run iPageEnd in the Break Header block.
Caution: This process cannot perform any substitution of the current block. However, it can ask for the substitution of another block.
After printingRun once the block is printed.
This process is used to:
  • see and modify the controls of the relevant block.
  • assign images.
  • reset to zero the controls that have just been printed.
  • substitute the blocks (taken into account for the next blocks).
  • print an Iteration block (iPrintBlock).
Break?
(Break header block only)
Run before the "Before printing" process of the Break header block.Run before the "Before printing" process of the End of break block.
See Break in a report for more details.
Reminder: If the destination of the print is an HTML file, the Page Header and Page Footer blocks will be edited once only.
To view the processes specific to a block, use:
  • "Block code" from the popup menu of the block (right mouse click on the header of the block).
  • the "Code" icon of the block description.
Some functions and properties are specifically intended for handling the blocks.
Note: The processes associated with a report block are run when this block is printed. A WLanguage code can be used in these processes. See Sequence of processes associated with a report for more details.
Handling a block in a WLanguage process
To handle a report block in a WLanguage process, you must:
  • use the name of this block directly. This syntax is valid only if the block is handled from the report to which it belongs.
  • use the following notation: "<ReportName>.<BlockName>".
A block can be handled:
  • in a WLanguage function.
  • with a WLanguage property.
  • in direct assignment.
For example:
// Print an iteration block
iPrintBlock("ITERATION1")
// Make the "Body" block invisible
Body..Visible = False
Minimum required version
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment