Print form
Updated
A print form is a MetaPrintForm (Name + Caption), a data script, and — for ZuloReport — LayoutJson. It prints a document or a dictionary record (or their lists).
Note
ZuloReport does not fill from one
SlimTable.PrintAsyncwrites a catalog of cells (values that print once) and tables (rows that grow). The layout binds to those names. The engine paginates; the script does not print each line.
Files live next to the object they print: Documents/<Doc>/PrintForms/<Name>.printform.json or Dictionaries/<Dict>/PrintForms/, plus the script pair (scriptType: "PrintForm"). Without those files the form lives in the database only and is lost when the model is shipped.
Three engines: Zr (banded JSON, ZuloReportForm.PrintAsync), Html and Xlsx (PrintFormBase.GetDataTemplate / GetDataAsync). Zr is the only accepted engine value for the banded layout.
Where the Print button shows the form is MetaPrintFormBindings (TargetKind = DocumentType / DocumentSubtype / Dictionary, Scope = Record / List). Empty bindings = the form's own document type (list and card). A dictionary with no explicit binding is not shown.
The short recipe is Print a form. The long contract is Print forms.
A journal batch is browser HTML only. Server PDF, Xlsx, and a print-agent job each take one record. A Subreport prints a nested catalog table, not another print form. There is no import of a foreign binary layout.
See also#
- Document
- Dictionary
- Job — the job scheduler, not a print agent
- Scripts