Printing - Settings
Settings
To be able to use print events, several parameters must be set. Navigate to Administration > Setup > WarehousePro Settings > Printing > Settings to access these parameters and configuration options.
Paper Format
Each print event will be designed to print to a specific paper format. Open the Paper Format tab to define all desired paper formats.

These formats will be used to bind Printers and Reports (print layouts).
Press the Save button after making changes to this tab.
Printers
In Printers tab specify printers and bind them to a installed printer driver or select the Label Printer.

Only printer drivers that are installed for the Windows User Account on which the B1ProSuite Software Platform is running can be accessed. Printer management must be done through that account. Check Software Platform documentation for more information on how to run as specific Windows User.
Marking a printer as Label Printer, enables the fields IP Address and Communications Port to specify where to send direct printer code to.
A user friendly name can be given in the Printer Name column.
Press the Save button after making changes to this tab.
Task Group and Users
It is necessary to assign specific printers to specific Task Groups (it is also possible to assign specific printers to specific users). In the Users tab this can be specified.
Activate the checkbox for Task Group to add a Task Group setting or select a specific user. Next select each printer this User Group or User should be able to use for print events. Make sure to add a printer for each paper format the user must be able to print to.
Mark at least one printer as default per paper format per Task Group or User.
When multiple printers for the same paper format are linked to a User Group or User, the user will have the option to select the desired printer from the list when printing.

Press the Save button after making changes to this tab.
Reports
Each report must be designed for a specific print event. Check the chapters Designing Crystal Reports or Using direct printer code for more information or help on creating layouts.
After creating the needed layouts add them in Reports tab and bind them to the correct Print Event. Enter a user friendly name for the report in the Report Name column. Also specify the correct Paper Format for which the layout was designed for.

In case of a Crystal Reports file, specify the location of the file in the Report File column. Enter the complete path and the filename. Make sure the file is accessibly for the Windows User Account on which the B1ProSuite Software Platfom is running. If the file is on a shared network folder, you should specify the UNC path (\\host-name\share-name\file-path) to the file rather than using drive mapping locations(X:\folder\file-path).
In case of direct printer code check the Is Label? column and store the code by clicking on the Label...button. There it is possible to create and user parameters as placeholders for variable data. Each variable must return a single value.
When more advanced printing is required it is advised to use dedicated (label)printing software(like BarTender or LabelView)instead of using these WarehousePro reports. It is possible to use WarehousePro Print Events to execute the label printing software. For example by exporting a text file for the external software to pick up.
Print Events
After all bases have been set up, the Print Events must be activated in the Print Events tab. Select the Print Event to activate after adding a new line and select the desired Report Name.

Per event you can specify if the user can skip (re)printing the layout or if printing should be Mandatory. Also you can specify if the user must be Asked for number of copies and what the default number of Copies should be.
As of version 3.2.1.0 it is possible to automatically print to the default printer.
If a print event is not intended for every situation, it is possible to add a filter query in which rules can be specified when printing should occur and when not. Multiple reports can be activated for a single Print Events. The user will be asked to print each report.
Example Filter SQL
SELECT CASE @CardCode WHEN 'C20000' THEN 'Y' ELSE 'N' END AS "Result"

When using filters, you must write your query in the correct syntax of the database system. Is SAP Business One running on SAP HANA or MS SQL Server, you must use the corresponding query syntax.
When writing filter query’s on SAP HANA, it might be necessary to add the schema name for each table you’re querying.
Example Filter HANA
SELECT CASE "CardCode" WHEN 'C20000' THEN 'N' ELSE 'Y' END AS "Result"
FROM SBODEMONL.ODLN
WHERE "DocEntry" = @DocEntry
When duplicating the schema/database as a testdatabase, remember to change the schema name in these query’s.