Skip to content

Commit

Permalink
Merge pull request #1071 from metasfresh/gh377
Browse files Browse the repository at this point in the history
Update Printer Setup Guide
  • Loading branch information
metas-Kay authored Mar 13, 2024
2 parents ca085e1 + 6a7bad6 commit 76a9309
Show file tree
Hide file tree
Showing 4 changed files with 120 additions and 67 deletions.
19 changes: 12 additions & 7 deletions _appdictionary_collection/EN/sysconfig_printing.Enabled.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Enable printing (printing.Enabled)
title: Enable printing (system configuration `printing.Enabled`)
layout: default
tags:
- System Config
Expand All @@ -14,15 +14,20 @@ Declared OBSOLETE by Tobi via https://github.com/metasfresh/mf15-documentation/i
Current documentation up to date at that time: https://docs.metasfresh.org/setup/Printing_PDF_Setup_Guide.html
-->

## Overview
If you want to use server-based mass printing either for real printers or PDF printing you need to enable this switch.
### Overview
If you want to use server-based mass printing either for real, physical printers or virtual (PDF) printers you need to enable the corresponding system configuration which by default is turned off (`N`).

By default its off (N).
Mind that this change requires a **restart of the App Server** to become effective.

This change requires a restart of the APP Server to become effective.
## Steps
1. Open "System Configuration" from the [menu](../webui_collection/EN/Menu).
1. [Use the filter](../webui_collection/EN/Filtering_function) and search for the system configuration with the **Name** `de.metas.printing.Enabled`.
1. Open the system configuration entry.
1. In the field **Search Key**, enter `Y` and hit `↵ Enter` to apply.
1. **IMPORTANT:** Restart the App Server for the change to become effective.

## Example
```
### SQL Command Example
```SQL
update ad_sysconfig
set value='Y'
where name='de.metas.printing.Enabled'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,11 @@ Current documentation up to date at that time: https://docs.metasfresh.org/setup
-->

## Intro
A standalone printing client is useful in different scenarios.
For example, if you use a hosted metasfresh instance, that instance which runs on our server has no access to your local printers.
Still, your processes might require that at certain stages, documents are automatically printed by your local servers.
A standalone printing client is useful in different scenarios. For example, if you use a hosted metasfresh instance, that instance which runs on our server has no access to your local printers.
Still, your processes might require that at certain stages documents are automatically printed by your local servers.

To address this and other scenarios, the standalone printing client can run locally, with access to your local printers.
It can retrieve print jobs from metasfresh and perform them using your printers.
It can retrieve print jobs from metasfresh and execute them using your printers.

## 0. Get the printing client software

Expand Down
155 changes: 102 additions & 53 deletions _setup/Printing_PDF_Setup_Guide.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Set up a printer for physical or virtual printing (PDF)
title: How to set up a printer? (or: How to save PDFs to a server)
layout: default
tags:
- System
Expand All @@ -14,69 +14,118 @@ Merged with infos from the following obsolete docs:
-->

## Overview
A standalone printing client is useful in different scenarios. For example, if you use a hosted metasfresh instance, that instance which runs on our server has no access to your local printers.
Still, your processes might require that at certain stages documents are automatically printed by your local servers.
In metasfresh, when talking about a printer we primarily refer to virtual printing, i.e. generating PDFs and saving them to a data storage device. This is especially useful if you are using a hosted metasfresh instance that runs on our servers and has no access to your local printers but you still want to be able to physically print out your documents.

To address this and other scenarios, the standalone printing client can run locally, with access to your local printers.
It can retrieve print jobs from metasfresh and perform them using your printers.
The way this works is that your (hosted) metasfresh instance generates the PDFs of your required documents, saves ("prints") them to dedicated folders which can be configured individually, both for remote and on-premise servers, and then you can take those digital printouts and assign them to your local printers as required to produce hard copies.

## Steps
1. [Log in to metasfresh](Login) with the [user role](NewUserRole) "System Administrator".

### Enable printing (system configuration)
If you want to use server-based mass printing either for real, physical printers or virtual (PDF) printers you need to enable the corresponding system configuration which by default is turned off (`N`).
**Care for a Pro tip?** A proven method for automatically processing these incoming documents in a corporate environment is to use <abbr title="e.g., FolderMill">server-side applications</abbr> that continuously monitor the defined "hot folders" and automatically convert incoming files or print them on a specified printer according to predefined rules on a server, workstation, or desktop PC.

1. Open "System Configuration" from the [menu](Menu).
1. [Use the filter](Filtering_function) and search for the system configuration with the **Name** `de.metas.printing.Enabled`.
1. Open the system configuration entry.
1. In the field **Search Key**, enter `Y` and hit `↵ Enter` to apply.
1. Restart the App Server for the change to become effective.
<!-- compare also SAP Print Queues Quick Guide: https://help.sap.com/docs/SAP_BUSINESS_BYDESIGN/2754875d2d2a403f95e58a41a9c7d6de/2dd40a0c722d1014aa7791b695bc8fdf.html?locale=en-US -->

Eventually add to docoutbound config to have printing queue records.
## Requirements

##### SQL Command Example
```SQL
update ad_sysconfig
set value='Y'
where name='de.metas.printing.Enabled'
```
### Configure outbound documents for the printing queue
In order to automatically forward your documents to the printing queue from where they can then be processed individually or as part of collective print jobs via their assigned printer, make sure to [follow theses steps for outbound documents](../webui_collection/EN/Outbound_Documents_Config), taking into account the following settings:
- Pick the appropriate database **Table** whose documents are targeted for printing.
- Tick the checkbox **Is Direct Enqueue** so the documents are added to the [printing queue](../webui_collection/EN/Menu).
- If enqueued documents shall be processed automatically (i.e. their PDFs saved to the printer folder), tick the checkbox **Directly process queue item**.

<!--
### Client Archive Setting
1. Open "Client" from the [menu](Menu).
1. Open the entry of an existing client or [add a new one](New_Record_Window).
1. Open "Client" from the [menu](../webui_collection/EN/Menu).
1. Open the entry of an existing client or [add a new one](../webui_collection/EN/New_Record_Window).
1. Make sure the **Auto Archive** settings are NOT set to *None* but to, e.g., *Documents*.
1. [metasfresh saves the progress automatically](Saveindicator).
1. [metasfresh saves the progress automatically](../webui_collection/EN/Saveindicator).
-->

## Steps

### Enable HostKey of User
1. Open "User" from the [menu](Menu).
1. Open the entry of an existing user or [add a new one](Add_user).
1. Open the [advanced edit menu](ViewModes#adv-edit) from the [actions menu](StartAction#actions-menu).
### Configure a logical printer
A logical printer can be construed as a virtual representation of a physical printer. A physical printer can be an actual (hardware) printer, a file, or a follow-up process for further processing.

Logical printers contain specific attributes and configurations determining the printing properties and formats of documents intended for physical printers. They also allow defining logical printer trays that can be associated with specific criteria used to route documents to the appropriate tray. Of course, these logical trays can also be linked to physical document output trays.

1. Open "Logical Printer" (Ger.: *Logischer Drucker*) from the [menu](../webui_collection/EN/Menu).
1. [Create a new entry](../webui_collection/EN/New_Record_Window).
1. Give the **Printer** a name.
1. Pick a **Printer Type**, e.g. *General*, *Label*, *Fax*.

#### Add logical printer trays (optional)
1. Go to the record tab "Tray" (Ger.: *Schacht*) at the bottom of the page and click !["Add new"](../webui_collection/EN/assets/Add_New_Button.png). An overlay window opens up.
1. Give the tray a **Name**.
1. Click "Done" to close the overlay window and add the logical tray to the list.
>**Note:** You can add any number of trays this way.
#### Define criteria for document routing to a logical tray (optional)
Documents for printing will be routed to their respective printer tray based on the settings combinations defined here.

1. Go to the record tab "Allocation/Mapping" (Ger.: *Zuordnung*) at the bottom of the page and click !["Add new"](../webui_collection/EN/assets/Add_New_Button.png). An overlay window opens up.
1. Choose a combination of document attributes, e.g., **Document Type**, **Process**, **Role**, **User/Contact**, **Table**, etc.
1. ***Optional:*** In the field **Page Range** (Ger.: *Seiten-Kriterium* / *Seitenbereich*) you can choose *Pages from-to* or *Last pages*.
- *Pages from-to*: Enter the number of the **From page** and the **To page**.
- *Last pages*: Enter the number of the **Last pages**.
1. Pick a **Logical Tray** (Ger.: *Logischer Schacht*) for the document output.
1. Click "Done" to close the overlay window and add the tray mapping entry to the list.
>**Note:** You can add any number of tray mappings this way.
### Create a PDF printer (physical/hardware printer)
1. Open "Printer" from the [menu](../webui_collection/EN/Menu).
1. [Create a new entry](../webui_collection/EN/New_Record_Window).
1. Give the printer a **Name**.
>**Note:** This name will be used to name the **output directory** on the server where the generated PDFs will be stored.
1. The **Host Key** is automatically filled in with the user session ID. Alternatively, you may also [configure the user **login name** to be used as host key](#enable-user-login-as-host-key) by default.
1. Pick the **Output Type** *Store PDF to disk*.

#### Add hardware printer trays (optional)
1. Go to the record tab "Tray" (Ger.: *Schacht*) at the bottom of the page and click !["Add new"](../webui_collection/EN/assets/Add_New_Button.png). An overlay window opens up.
1. Give the tray a **Name**.
1. Click "Done" to close the overlay window and add the hardware tray to the list.
>**Note:** You can add any number of trays this way.
#### <a name="enable-user-login-as-host-key">Optional: Enable User Login as Host Key</a>
By enabling this the system will use the user login name instead of the session ID as host key which is used to do the matching between the user and the printer settings.

1. Open "User" from the [menu](../webui_collection/EN/Menu).
1. Open the entry of an existing user or [add a new one](../webui_collection/EN/Add_user).
1. Open the [advanced edit menu](../webui_collection/EN/ViewModes#adv-edit) from the [actions menu](../webui_collection/EN/StartAction#actions-menu).
>**Note:** Use shortcut `Alt` + `E` / `⌥ alt` + `E`.
1. Scroll down to the bottom and tick the checkbox **Use Login As Printing HostKey** (`isloginhostkey`).
1. Click "Done" to apply the changes and close the advanced edit menu.

By enabling this the system will not use the session ID but the login name of the user as HostKey which is used to do the matching between the user and the printer settings.

### Create a PDF printer
1. Open "Printer" from the [menu](Menu).
1. [Add a new PDF printer](New_Record_Window).
1. Pick the **Output Type** *PDF*.
>**Note:** The user login name is defined in the field **Login** of the user entry.
### Create a printer allocation
1. Open Java client.
1. Log in with the user where you want to use the PDF printer.
1. Open "Printer Allocation" from the [menu](Menu).
1. [Add a new printer allocation entry](New_Record_Window).

### Create a printer tray allocation
1. Go to Window "Printer Tray Allocation".
1. Go to subtab "Tray" and add one record that links the logical tray with the printer tray.

### Configure logical printer
You can go with the existing logical printer.
1. Click "Done" to apply the changes and close the advanced edit menu.

### Test print
1. Open window "Printing Queue".
1. Select a record which is not processed yet.
1. Run action "Print all".
### Assign logical and physical printers to each other (Printer Allocation)
A printer allocation must be set up for each user who has access to printers/printing rights.

1. Open "Printer Allocation" from the [menu](../webui_collection/EN/Menu).
1. [Add a new printer allocation entry](../webui_collection/EN/New_Record_Window).
1. In the field **Host Key**, enter the [user login name, if enabled](#enable-user-login-as-host-key). Otherwise, enter the session ID.
1. Tick the checkbox **Shared** if you want to allow these allocation settings to be included in other printer allocation entries.

#### Allocate Printers
1. Go to the record tab "Printer Allocation" (Ger.: *Drucker-Zuordnung*) at the bottom of the page and click !["Add new"](../webui_collection/EN/assets/Add_New_Button.png). An overlay window opens up.
1. Pick a **Logical Printer**.
1. Pick a **Hardware Printer**.
1. Click "Done" to close the overlay window and add the printer allocation entry to the list.
>**Note:** You can allocate any number of printers this way.
### Assign logical and physical printer trays to each other (Printer Tray Allocation)
1. Open "Printer-Tray-Mapping" from the [menu](../webui_collection/EN/Menu).
1. [Create a new entry](../webui_collection/EN/New_Record_Window).
1. In the field **Printer Matching Config**, pick a printer allocation entry.
1. Pick a **Logical Printer**.
1. Pick a **Hardware-Drucker**.

#### Allocate Printer Trays
1. Go to the record tab "Printer tray matching" at the bottom of the page and click !["Add new"](../webui_collection/EN/assets/Add_New_Button.png). An overlay window opens up.
1. Pick a **Logical Tray**.
1. Pick a **Media Tray** (printer tray).
1. Click "Done" to close the overlay window and add the printer tray allocation entry to the list.
>**Note:** Repeat the above steps to add further entries to the list.
## Test print
1. Open "Printing Queue" from the [menu](../webui_collection/EN/Menu).
1. [Select](RecordSelection) a printing queue item that has not yet been processed.
1. [Start the action](StartAction#actions-menu) "Print all" (Ger.: *Alle drucken*).
6 changes: 3 additions & 3 deletions _webui_collection/EN/Create_packing_instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,15 @@ By linking packing instructions hierarchically, you can also assign different HU
In metasfresh, "packaged goods" is synonymous with "[sales unit (CU)](Handling_Unit_System)" and defines whether and how many goods may be packaged according to the packing instructions.

1. Go to the record tab "Item" at the bottom of the page and click !["Add new"](assets/Add_New_Button.png). An overlay window opens up.
1. Select the **Item Type** *Packaged good* (Ger.: Packgut).
1. Select the **Item Type** *Packaged good* (Ger.: *Packgut*).
1. Click "Done" to close the overlay window and add the item to the list.
1. In the newly added packaged goods line, double-click the field in the column **Quantity** and enter the maximum permitted quantity of goods to be packed. To confirm, press `↵ Enter` or click on a blank area.

### Optional: Determine a packing material
Packing material is used to link the packing instructions to a physical product in stock intended for packing [sales units (CU)](Handling_Unit_System). Packing materials are primarily used for returnable containers/packaging that are to be shown separately on sales/purchase orders.

1. Go to the record tab "Item" at the bottom of the page and click !["Add new"](assets/Add_New_Button.png). An overlay window opens up.
1. Select the **Item Type** *Packing material* (Ger.: Packmittel). A new field "[**Packing Material**](Set_up_packing_material)" appears.
1. Select the **Item Type** *Packing material* (Ger.: *Packmittel*). A new field "[**Packing Material**](Set_up_packing_material)" appears.
1. Pick the desired **Packing Material**.
1. Click "Done" to close the overlay window and add the packing material to the list.

Expand All @@ -54,7 +54,7 @@ Subordinate packing instructions are used to combine different HU types into log
<!-- https://help.sap.com/docs/SAP_S4HANA_CLOUD/32da8359c8ee4e8b8e8c5e15cacba5aa/691db9537cceb44ce10000000a174cb4.html?locale=en-US#features -->

1. Go to the record tab "Item" at the bottom of the page and click !["Add new"](assets/Add_New_Button.png). An overlay window opens up.
1. Select the **Item Type** *Sub-Packing Instructions* (Ger.: Unterpackvorschrift). New fields appear.
1. Select the **Item Type** *Sub-Packing Instructions* (Ger.: *Unterpackvorschrift*). New fields appear.
1. Pick the desired **Sub-Packing Instructions**, e.g., cardboard box.
1. Enter a **Quantity** of how many individual packing units of the sub-packing instructions are allowed in/on the higher-level packing instructions.
1. Click "Done" to close the overlay window and add the sub-packing instructions to the list.
Expand Down

0 comments on commit 76a9309

Please sign in to comment.