How Uniface Prints
When printing a form or report, Uniface begins with the first occurrence it encounters in the component, reading vertically from top to bottom. When necessary, field and entity frames are expanded, so that data that does not fit in the frame is also sent to the print file.
Printing takes place on a per line basis. As Uniface prints, it scans the component from left to right, top to bottom.
- When it encounters the top left corner of an occurrence of an entity, Uniface activates the getFocus trigger for that entity.
- If the current occurrence of that entity has not yet been fetched, Uniface activates the read trigger to fetch the data.
- As Uniface proceeds through the form, it formats each line into the print file. When printing with print modes All or Clear, field and entity frames are expanded, so that data that does not fit in the frame is also sent to the print file.
- If the entity's getFocus or leavePrinted trigger contains a printbreak statement, the print break frame's getFocus trigger is activated.
- For each occurrence that has been formatted to the print file, Uniface activates the leavePrinted trigger before proceeding to the next occurrence of the entity.
- If necessary, the read trigger is activated again to fetch the next occurrence of data.