Export and Import
Workstation Import
Workstations are imported via store-specific Storemanager global configurations. This import must be assigned to SDC (Store Device Control).
Enterprise Cockpit Events
The logbook contains information intended for further processing by the Enterprise Cockpit (reports, etc.). The logbook writes all of the data to internal files. These files are exported to XML.
Directories have to be specified to save the log entries. These directories must be the same as defined in the Infoclient configuration.
Configuration file event-upload-sm.properties :
# global swith to enable/disable uploading of logbooks
event-upload.logbook.enabled=false
# default TTL period for all logbook messages (0d means no expiration)
event-upload.logbook.defaultMessageTtl=5d
# define custom expiration for the heart beat event
event-upload.logbook.filter.0220000012010.ttl-period=1h
event-upload.nodeId=@SYSTEM_UNIQUE_NAME@
event-upload.defaultDestinationName=ec.direct-event-receiver.inQueue
event-upload.baseDirectory=${pos-server.root.dir}
event-upload.targetDataDirectory=upload
event-upload.targetTriggerDirectory=trigger
event-upload.targetFilenamePrefix=POS_SERVER_
event-upload.targetFilenameSuffix=.xml
event-upload.uniqueFilenameDatePattern=yyyyMMdd_HHmmss
event-upload.logbook.defaultRetailStoreId=-1
event-upload.logbook.defaultWorkstationId=-1
event-upload.logbook.systemVersion=5.7.0
event-upload.logbook.truncateTooLongMessageContent=false
event-upload.logbook.filter.S_01000200000_00.enabled=false
event-upload.logbook.filter.S_01000200000_01.enabled=false
event-upload.logbook.filter.S_01000200000_02.enabled=false
event-upload.logbook.filter.S_01230202405_00.enabled=false
event-upload.logbook.filter.S_01230202405_01.enabled=false
event-upload.logbook.filter.S_01230202405_02.enabled=false
event-upload.logbook.filter.S_01240215126_00.enabled=false
Event upload is disabled in the example above. To enable event upload, set gkr.event-upload.logbook.enabled=true.
Hybrid Infoserver configuration files {structure ident}.properties :
info.dir.trigger=../../../events/pos-server/trigger
info.dir.upload=../../../events/pos-server/upload
The log files include an event ID, which allows for unique identification and classification of each entry. Event IDs are structured as follows:
X.FunctionID.NN
- X: "S" = Standard event, "C" = Customer enhancement event
- NN = Event number of this function, starting with 00
- FunctionID (11 digits)
The following log entries are defined in the program:
| Event ID | Event level | Event text | Description |
|---|---|---|---|
| S_01000200000_00 | ERROR | Unable to store transaction {0}. | The transaction could not be saved to the Enterprise Transaction Pool. |
| S_01000200000_01 | ERROR | Calculation {0} failed for transaction {1}. | The calculation did not complete successfully. |
| S_01000200000_02 | ERROR | Transaction stream broken for till {0} and workstation {1}. | Faulty transaction flow. Created if TillWorkstationTenderSummary.TransactionStreamBrokenFlag true. |
| S_01000200000_03 | ERROR | POS {0} not compatible. | POS version is not compatible with POS Server. |
| S_ 01230202405 _00 | INFO | EOD started. | End of day was started. |
| S_ 01230202405 _01 | INFO | EOD finished. | End of day was successfully completed. |
| S_ 01230202405 _02 | ERROR | EOD failed because of step {0}. | End-of-day process failed. |
| S_01240215126_00 | ERROR | Export of transaction {0} for process {1} failed. | Export of transaction for a specific process failed. {0} ... Transaction.TransactionID {1} ... ProcessID ProcessID:
|
| S_01240200002_00 | ERROR | Preparation of the SAF-T Export failed with the following error: {0} | The preparation of the data for the SAF-T export failed and was canceled: Transaction or master data for SAF-T export could not be written to the generic fiscal table. |
| S_01240200002_01 | ERROR | Yearly SAF-T Export failed with the following error: {0} | Yearly SAF-T Export failed and was canceled. |
| S_01240200002_02 | ERROR | Monthly SAF-T Export failed with the following error: {0} | Monthly SAF-T Export failed and was canceled. |
| S_01240200002_03 | ERROR | Subsequent SAF-T Export failed with the following error: {0} | Subsequent SAF-T Export failed and was canceled. |
| S_01240200002_04 | INFO | During preparation of SAF-T Export the ProductCode {0} had to be truncated to {1}. | During preparation of the data for the SAF-T export, the ProductCode had to be truncated to 60 characters. |
| S_01320203002_00 | ERROR | Unable to create 'Grand Total Period Day' for workstation {0} and day {1}. | Creation of Grand Total Period Day transaction failed. |
| S_01320203002_01 | ERROR | Unable to create 'Grand Total Period Month' for workstation {0} and month {1}. | Creation of Grand Total Period Month transaction failed. |
| S_01320203002_02 | ERROR | Unable to create 'Grand Total Period Year' for workstation {0} and year {1}. | Creation of Grand Total Period Year transaction failed. |
| S_01320203003_00 | ERROR | Unable to create 'Grand Total Ticket' for transaction {0} and workstation {1}. | Creation of Grand Total Ticket transaction failed. |
| S_01380200095_00 | ERROR | Processing of cash recycler event failed with the following error: {0} | Processing error of cash recycler event |
| S_01380200095_01 | WARN | Unknown register ID {0} in event EndDispenseFloatEvent | Unknown register ID in event EndDispenseFloatEvent |
| S_01380200095_02 | WARN | Unknown register ID {0} in event EndDepositEvent | Unknown register ID in event EndDepositEvent |
POSLog Export
The POSLog export is configured in the configuration file transaction-bulk-exporter.properties . File extract see below:
gkr.tx-export.poslog2route.transactionBulkExporter.enabled=true
# Minimum number of transactions to be exported.
gkr.tx-export.poslog2route.transactionBulkExporter.minBulkSize=1
#If transaction is longer in current pool than maxUnexportedAge, then it will be exported even if minBulkSize was not reached.
gkr.tx-export.poslog2route.transactionBulkExporter.maxUnexportedAge=30s
# Maximum number of transactions to be exported in one file
gkr.tx-export.poslog2route.transactionBulkExporter.maxBulkSize=${gkr.tx-export.poslog2route.poslogMapper.poslog.maxTransactionPerXML}
# Maximum attemtps to persist context when tx pool is locked by some other process (with defined delay between attempts)
gkr.tx-export.poslog2route.transactionBulkExporter.poolLockedRetryCount=10
gkr.tx-export.poslog2route.transactionBulkExporter.poolLockedRetryPeriod=1s
# Maximum attempts to map transaction if mapping failed before transaction is marked as failed
gkr.tx-export.poslog2route.transactionBulkExporter.mapperFailureRetryCount=3
gkr.tx-export.poslog2route.transactionBulkExporter.mapperFailureRetryPeriod=400
#Should XML be "human-readable" ? Defaults to true.
gkr.tx-export.poslog2route.poslogMapper.formattedOutput=true
#XML-specification version of xml produces. Only valid values are "1.0" or "1.1". Defaults to "1.0"
gkr.tx-export.poslog2route.poslogMapper.xmlVersion=1.0
gkr.tx-export.poslog2route.poslogMapper.poslog.maxTransactionPerXML =10
gkr.tx-export.poslog2route.poslogMapper.poslog.xml.validation.enabled =true
gkr.tx-export.poslog2route.poslogMapper.poslog.tender.exportCreditDebitCardNumber =false
gkr.tx-export.poslog2route.poslogMapper.poslog.saleItemForMstrExport =true
gkr.tx-export.poslog2route.poslogMapper.poslog.position.tax.amount.decimalPlacesCount =4
gkr.tx-export.poslog2route.poslogMapper.poslog.position.regularSalesUnitPrice.decimalPlacesCount =2
gkr.tx-export.poslog2route.poslogMapper.poslog.loyalty.trigger.reasonCode.enabled =true
gkr.tx-export.poslog2route.poslogMapper.poslog.priceRevaluation.priceTypes =13
gkr.tx-export.poslog2route.poslogMapper.poslog.promotionIDPrefix =C_
gkr.tx-export.poslog2route.poslogMapper.poslog.missingItemID =not_found
gkr.tx-export.poslog2route.poslogMapper.poslog.uploadSchema.version =2.6
gkr.tx-export.poslog2route.poslogMapper.poslog.uploadSchema =http://www.gk-software.com/storeweaver/sdc/pos_upload/pos_upload/${gkr.tx-export.poslog2route.poslogMapper.poslog.uploadSchema.version}
gkr.tx-export.poslog2route.poslogMapper.poslog.tenderType.foreignCurrency.dbValue.enabled =true
gkr.tx-export.poslog2route.poslogMapper.poslog.tenderType.foreignCurrency =YTFW
gkr.tx-export.poslog2route.poslogMapper.priceChange.rebateMethod =ZRMP
gkr.tx-export.poslog2route.poslogMapper.priceChange.rebateID =0
gkr.tx-export.poslog2route.poslogMapper.priceChange.externalofferID =0
gkr.tx-export.poslog2route.poslogMapper.tillTenderCorrectionReasonCode =TillTenderCorrection
# Exclude some specific types of suspended retail transaction from export
gkr.tx-export.poslog2route.poslogMapper.omit.suspendedRetailTransactionTypeCodeList=SC,ER,RC,RD,FP,GB
# Exclude some specific types of retail transaction from export
gkr.tx-export.poslog2route.poslogMapper.omit.retailTransactionTypeCodeList=SM
gkr.tx-export.poslog2route.routeUploader.export.endpoint=activemq:queue:${system-landscape.prefix:}cis.msg-router-cdep.inQueue
gkr.tx-export.poslog2route.routeUploader.export.messageClass=690352
gkr.tx-export.poslog2route.routeUploader.export.gkImportJobLogicalType=SellingTransactions
gkr.tx-export.poslog2route.routeUploader.export.gkArchiveSourceFileName=[TIMESTAMP].xml
gkr.tx-export.poslog2route.routeUploader.header.messageClass=${gkr.tx-export.poslog2route.routeUploader.export.messageClass}
gkr.tx-export.poslog2route.routeUploader.header.GKLogicalDataType=${gkr.tx-export.poslog2route.routeUploader.export.gkImportJobLogicalType}
gkr.tx-export.poslog2route.routeUploader.header.GKMetaData_SellingTransaction_Version=${gkr.tx-export.poslog2route.poslogMapper.poslog.uploadSchema.version}
#This is shared by all route uploaders, configured by other property due backward compatibility
gkr.tx-export.endpoint=${gkr.tx-export.poslog2route.routeUploader.export.endpoint}
gkr.tx-export.poslog2route.routeUploader.endpoint=${gkr.tx-export.poslog2route.routeUploader.export.endpoint}
| Property | Description | Default |
|---|---|---|
| gkr.tx-export.poslog2route.transactioBulkExporter.enabled | Activates the bulk exporter. | true |
| gkr.tx-export.poslog2route.transactioBulkExporter.minBulkSize | Defines the minimum number of transactions which are exported in a file | 1 |
| gkr.tx-export.poslog2route.transactioBulkExporter.maxBulkSize | Defines the maximum number of transactions which are exported in a file | ${gkr.tx-export.poslog2route.poslogMapper.poslog.maxTransactionPerXML} |
| gkr.tx-export.poslog2route.transactionBulkExporter.maxUnexportedAge | Defines the maximum age of an unexported transaction in pool. If a transaction is longer in the current pool than in maxUnexportedAge, then it will be exported even if minBulkSize was not reached. |
30s |
| gkr.tx-export.poslog2route.transactionBulkExporter.poolLockedRetryCount | Defines the maximum number of attempts to persist context when the transaction pool is locked by another process (with defined delay between attempts) | 10 |
| gkr.tx-export.poslog2route.transactionBulkExporter.poolLockedRetryPeriod | Defines the delay between the attempts to persist context when the transaction pool is locked by another process | 1s |
| gkr.tx-export.poslog2route.transactionBulkExporter.mapperFailureRetryCount | Defines the maximum number of attempts to map a transaction before the transaction is marked as failed. | 3 |
| gkr.tx-export.poslog2route.transactionBulkExporter.mapperFailureRetryPeriod | Defines the delay between the next attempts to map the transaction if mapping failed. | 400 |
| gkr.tx-export.poslog2route.poslogMapper.formattedOutput | Specifies whether the marshalled XML data is formatted with linefeeds and indentation. | true |
| gkr.tx-export.poslog2route.poslogMapper.softwareVersion (not used anymore, value of app-info.properties directly used) |
This property knows special token $INFO{...} which resolves properties from app-info.properties | POS-Server v$INFO{project.version} |
| gkr.tx-export.poslog2route.poslogMapper.poslog.maxTransactionPerXML | Defines the maximum number of transactions which are exported per XML. | 10 |
| gkr.tx-export.poslog2route.poslogMapper.poslog.xml.validation.enabled | Specifies whether the created XML file is validated against the corresponding XSD. | true |
| gkr.tx-export.poslog2route.poslogMapper.poslog.tender.exportCreditDebitCardNumber | Specifies whether the credit card number and account number are also exported. | false |
| gkr.tx-export.poslog2route.poslogMapper.poslog.saleItemForMstrExport | Specifies whether item information (item number, EAN) is exported for merchandise category items. | true |
| gkr.tx-export.poslog2route.poslogMapper.poslog.position.tax.amount.decimalPlacesCount | Specifies the number of decimal places for rounding of the item tax amount | 4 |
| gkr.tx-export.poslog2route.poslogMapper.poslog.position.regularSalesUnitPrice.decimalPlacesCount | Specifies the number of decimal places to which the regular sales unit price is rounded | 2 |
| gkr.tx-export.poslog2route.poslogMapper.poslog.loyalty.trigger.reasonCode.enabled | Specifies whether discount reasons are exported. | true |
| gkr.tx-export.poslog2route.poslogMapper.poslog.priceRevaluation.priceTypes | List of price types (comma-separated or semicolon-separated) for sales price revaluation | 13 |
| gkr.tx-export.poslog2route.poslogMapper.poslog.promotionIDPrefix | Prefix prepended to discount ID in order to prevent overlapping discount IDs from different imports. | C_ |
| gkr.tx-export.poslog2route.poslogMapper.poslog.missingItemID | Content of the XML element ItemID if the receipt does not contain an item number | not_found |
| gkr.tx-export.poslog2route.poslogMapper.poslog.uploadSchema.version | POSLog version to be exported | 2.5 |
| gkr.tx-export.poslog2route.poslogMapper.poslog.uploadSchema | Namespace of the version to be exported | http://www.gk-software.com/storeweaver/sdc/pos_upload/pos_upload/${gkr.tx-export.poslog2route.poslogMapper.poslog.uploadSchema.version} |
| gkr.tx-export.poslog2route.poslogMapper.poslog.tenderType.foreignCurrency | Consistent tender code to be exported for all foreign currencies (Only if '…foreignCurrency.dbValue.enabled' = false) |
YTFW |
| gkr.tx-export.poslog2route.poslogMapper.poslog.tenderType.foreignCurrency.dbValue.enabled | This flag defines whether the corresponding tender code is exported from the
database for foreign currencies. (If false, a consistent tender type is exported, see property '…tenderType.foreignCurrency') |
true |
| gkr.tx-export.poslog2route.poslogMapper.priceChange.rebateMethod | Discount method to be exported for price changes | ZRMP |
| gkr.tx-export.poslog2route.poslogMapper.priceChange.rebateID | Discount ID to be exported for price change | 0 |
| gkr.tx-export.poslog2route.poslogMapper.priceChange.externalofferID | External offer ID to be exported for price change | 0 |
| gkr.tx-export.poslog2route.poslogMapper.tillTenderCorrectionReasonCode | Reason of change correction document | TillTenderCorrection |
| gkr.tx-export.poslog2route.poslogMapper.omit.suspendedRetailTransactionTypeCodeList | Transactions where Transaction.RetailTransaction.RetailTransactionTypeCode is a part of the property and Transaction.SuspendedFlag=true will be skipped by the POSLog mapper. | SC, ER, RC, RD, FP, GB |
| gkr.tx-export.poslog2route.poslogMapper.omit.retailTransactionTypeCodeList | Transactions where Transaction.RetailTransaction.RetailTransactionTypeCode is a part of the property and Transaction.SuspendedFlag!=true will be skipped by the POSLog mapper. | |
| gkr.tx-export.poslog2route.routeUploader.export.endpoint | Defines the JMS queue where the POSLog will be exported | activemq:queue:${system-landscape.prefix:}cis.msg-router-cdep.inQueue |
| gkr.tx-export.poslog2route.routeUploader.export.messageClass | 690352 | |
| gkr.tx-export.poslog2route.routeUploader.export.gkImportJobLogicalType | SellingTransactions | |
| gkr.tx-export.poslog2route.poslogMapper.skipInternalSeqNr (obsolete for POSLog v.2.1 and higher, because SES:InternalSequenceNumber will not be exported anymore) |
Defines if 'SESInternalSequenceNumber' will be exported. | false |
| gkr.tx-export.poslog2route.routeUploader.export.gkArchiveSourceFileName | Defines the filename of the source archive. | [TIMESTAMP].xml |
| gkr.tx-export.poslog2route.routeUploader.header.messageClass | ${gkr.tx-export.poslog2route.routeUploader.export.messageClass} | |
| gkr.tx-export.poslog2route.routeUploader.header.GKLogicalDataType | ${gkr.tx-export.poslog2route.routeUploader.export.gkImportJobLogicalType} | |
| gkr.tx-export.poslog2route.routeUploader.header.GKMetaData_SellingTransaction_Version | ${gkr.tx-export.poslog2route.poslogMapper.poslog.uploadSchema.version} | |
| gkr.tx-export.endpoint | ${gkr.tx-export.poslog2route.routeUploader.export.endpoint} | |
| gkr.tx-export.poslog2route.routeUploader.endpoint | ${gkr.tx-export.poslog2route.routeUploader.export.endpoint} | |
| gkr.tx-export.poslog2route.poslogMapper.xmlVersion | Version of the XML specification produced; valid values are "1.0" or "1.1" | 1.0 |
If export is enabled, the POSLog files are saved to the following path on the Enterprise Connector:
ucon\dataexchange\export_channel\results\export\EXPORT_SUCCESS
Export of Reports
The export of a report can be configured in configuration file report-descriptor.xml. After creation, the report will be exported as PDF, PNG, RTF or XLS. Example of a gift certificate report exported as a PDF:
<report id="gift-certificate">
<archive type="PDF" visible="false">
<export type="FILESYSTEM">
<export-parameter key="FileName" value="D:/gkretail/pos-server/store_[STORE_NUMBER]_[CURRENT_DATE].[REPORT_CONTENT_TYPE_LOWERCASE]"/>
<export-parameter key="ZipEnabled" value="false"/>
</export>
<export type="FILESYSTEM">
<export-parameter key="FileName" value="D:/gkretail/pos-server/store_[STORE_NUMBER]_[CURRENT_TIMESTAMP].[REPORT_CONTENT_TYPE_LOWERCASE]"/>
<export-parameter key="ZipEnabled" value="true"/>
</export>
<export type="PRINTER">
<export-parameter key="PrinterName" value=""/>
<export-parameter key="NumberOfCopies" value="1"/>
</export>
<export type="MAIL">
<export-parameter key="From" value=""/>
<export-parameter key="To" value=""/>
<export-parameter key="SmtpHost" value=""/>
</export>
</archive>
</report>
Report Archive Function
A report archive entry can be hidden in the Report Archive UI5 function. To hide a report in the UI function, the attribute 'visible' must be defined and set to 'false' (see example above). The parameter is optional and the default value is 'true' (entry is visible in the Report Archive function).
Export Types
Placeholders
It is possible to use placeholders for values in String parameters of all export types. The following placeholders are currently supported.
Placeholders have to start with '[' and end with ']'
| Placeholder name | Description |
|---|---|
| STORE_NUMBER | BusinessUnit.BusinessUnitID (4-digits, filled with leading zeros). It is possible to define another amount of digits and another leading character. See general export parameter StoreNumberMinLength / StoreNumberPadCharacter. |
| CURRENT_DATE | Current date in the format "yyyyMMdd". The date pattern can be defined with general export parameter CurrentDatePattern. |
| CURRENT_TIMESTAMP | Current timestamp in the format "yyyyMMddHHmmss". The timestamp pattern can be defined with general export parameter CurrentTimestampPattern. |
| REPORT_CONTENT_TYPE | The data type of the content e.g. PDF, RTF, XLS (See ReportArchiveGK.ReportContentType) |
| REPORT_CONTENT_TYPE_LOWERCASE | Same as REPORT_CONTENT_TYPE, but in lower case letters |
| REPORT_TYPE_CODE | The typecode of the report e.g. safe-pay-in. (See ReportArchiveGK.ReportTypeCode) |
| REPORT_DESCRIPTION | The description of the report (in report language). (See ReportArchiveGK.ReportDescription) |
General Export Parameter
General export parameters can be used for all report export types.
| Export parameter key | Configuration details | Data type, range | Description | Default |
|---|---|---|---|---|
| StoreNumberMinLength | Optional | Integer | Defines the minimum length of STORE_NUMBER. If the length(businessUnitID) < StoreNumberMinLength, then it will be filled with leading characters. | 4 |
| StoreNumberPadCharacter | Optional | Char | Defines the padding character of STORE_NUMBER. The store number is filled with leading padding characters until StoreNumberMinLength is reached. | 0 |
| CurrentTimestampPattern | Optional | String | The pattern for the placeholder CURRENT_TIMESTAMP. | yyyyMMddHHmmss |
| CurrentDatePattern | Optional | String | The pattern for the placeholder CURRENT_DATE. | yyyyMMdd |
FILESYSTEM
With the FILESYSTEM export type, it is possible to export a report archive entry to a specific file system destination.
| Export parameter key | Configuration details | Data type, range | Description | Default |
|---|---|---|---|---|
| FileName | Optional | String | Defines the filename for the export file. Must be defined with absolute path. | store_[STORE_NUMBER]_[CURRENT_DATE]. [REPORT_CONTENT_TYPE_LOWERCASE] |
| ZipEnabled | Optional | Boolean | Defines if the report will be zipped before saving it to file system. If it is set to true, then the filename will get a new file extension defined by ZipExtension. |
false |
| ZipExtension | Optional | String | Defines the extension of the ZIP file. This is only used if ZipEnabled is set to
true. If the filename ends with a string that is different to that specified by this parameter, then the extension is appended to the filename. If the filename already ends with this ZipExtension (the check is not case-sensitive), then the original filename extension is used. |
.zip |
With the MAIL export type, it is possible to send a report archive entry to a specific mail address.
| Export parameter key | Configuration details | Data type, range | Description | Default |
|---|---|---|---|---|
| From | Required | String | The sender mail address e.g. "systemuser@mail.com" | |
| To | Required | String | The comma-separated list of recipients. e.g. "user1@mail.com,user2@mail.com" | |
| Subject | Required | String | The subject of the mail. | [REPORT_DESCRIPTION] |
| Text | Optional | String | The body text of the mail. | |
| SmtpHost | Required | String | The smtp host for sending mails. | |
| SmtpPort | Optional | Integer | The port of the SMTP server. Must be integer value between 0 and 65535. | 25 |
| MailUser | Optional | String | The smtp mail user name. | |
| MailPassword | Optional | String | The smtp mail password. | |
| MailPassword Encrypted |
Optional | String | The encrypted mail password. Encrypted with GK standard encryption
mechanism. If this parameter is set, then the MailPassword is ignored. |
|
| TLS | Optional | Boolean | Use TLS for communication encryption. | false |
| Charset | Optional | String | The charset for mail text. | UTF-8 |
| Debug | Optional | Boolean | Write debug information. | false |
| Attachment Filename |
Required | String | The name of the attachment, e.g. store_[STORE_NUMBER]_ [CURRENT_DATE].pdf |
store_[STORE_NUMBER]_ [CURRENT_DATE]. [REPORT_CONTENT_ TYPE_LOWERCASE] |
| Attachment Mimetype |
Required | String | The MIME type of the attachment e.g. application/pdf | application/ [REPORT_CONTENT_ TYPE_LOWERCASE] |
PRINTER
With the PRINTER export type, it is possible to print a report archive entry from a specific system printer. Currently, only PDF content is supported.
| Export parameter key | Configuration details | Data type, range | Description | Default |
|---|---|---|---|---|
| PrinterName | Required | String | Defines the name of the printer which is used to print this PDF. | |
| PageRange | Optional | String | Defines the range of printed pages. e.g. 1-50. If the parameter is empty, then all pages are printed. | |
| NumberOfCopies | Optional | Integer | The number of copies to print. | 1 |
| PageOrientation | Optional | String | The orientation of the print page. PORTRAIT | LANDSCAPE | REVERSE_LANDSCAPE. If the value is omitted, then the orientation is calculated from the page width and height. | |
| ShrinkToPrintableArea | Optional | Boolean | Shrink the report size to fit into the printable area. | false |
| PrinterFormat | Optional | String | The printer paper format. | |
| UserRotation | Optional | Float | The rotation of the printed page. | 0 |