Skip to content

Introduction#

Critical Manufacturing MES offers an out-of-the-box printing mechanism that allows you to effortlessly create labels or reports using the Printable Document entity, which can be found in the Business Data menu. This feature includes the ability to configure both the layout and respective contexts, which are dynamically applied at runtime using an internal layout creator and editor.

Although the base system is versatile to the point of providing easy configuration with out-of-the-box printers, there is also the possibility of integrating third-party vendors to accommodate different solutions tailored to specific user requirements, which often comprise numerous pre-configured documents and layouts. Consequently, leveraging the Critical Manufacturing MES printing approach required migrating existing documents, or alternatively, integration via customization.

To streamline and enhance the viability of the solution, this extension not only offers out-of-the-box integration with two popular printing solutions, NiceLabel and BarTender, but also provides easy extensibility for integration with other vendors.

The summary of a Printing Operation workflow can be seen in the following diagram:

flowchart TD
  A[Print Operation] -->|Resolve PrinterTypePrintersContext| C{Has Printer Integration?}
  C -->|No| D[Use default logic]
  C -->|Yes| E[Format Data Context Items<br>Use Printing Integration<br>InputFormatterRule<br>and<br>Printable Document External Layout<br>if exists]
  E -..->|Default DEE Rules| G{Print<br>System?}
  subgraph DEE
  G -->|BarTender| PS{Integration<br>Type?}
  G -->|NiceLabel| PS2{Integration<br>Type?}
  PS -->|File| H1[PrintingIntegration<br>BarTender<br>FileInput]
  PS -->|WebService| H2[PrintingIntegration<br>BarTender<br>WebServiceInput]
  PS2 -->|File| J1[PrintingIntegration<br>NiceLabel<br>FileInput]
  PS2 -->|WebService| J2[PrintingIntegration<br>NiceLabel<br>WebServiceInput]
  end

  E --> IM{Integration<br>Method?}
  IM -->|File|Call1[Call PrintingIntegrationFile<br>NameGenerator]
  IM -->|WebService|Call2[Call WebService<br><br>Use Authentication Method<br>defined in Printing Integration Service body<br>=Result from Printing Integration<br>InputFormatterRule]

  Call2 --> SCM{Web Service Call Mode<br>Synchronous?}
  SCM -->|Yes| FWSR{OutputFormatter<br>defined?}
  SCM -->|No| RIE[Run Integration Entry]
  FWSR -->|Yes| OFYES[Parse the response]
  FWSR -->|No| OFNO[Keep response as-is]
  RIE --> End[End]
  Call1 --> End[End]
  OFYES --> End
  OFNO --> End

  Call2 -.->|Default Authentication Methods| G2{Print<br>System?}
  subgraph DAM
  G2 -->|BarTender| PIAM[Basic Authentication<br>None<br><br>Printing Integration Authentication Method<br>Generic Table]
  G2 -->|NiceLabel| PIAM
  end

classDef mermaid_title color:#000, fill:#fafafa, stroke:#fafafa, stroke-width:0x, font-size:100%, font-weight:200;
classDef mermaid_start color:#000, fill:#fafafa, stroke:#fafafa, color:#fafafa, stroke-width:0x, font-size:100%, visibility: hidden;
classDef mermaid_businessdata color:#000, fill:#65CDE8, stroke:#65CDE8, stroke-width:0px, font-size:100%;
classDef mermaid_nonbusinessdata color:#000, fill:#B7DEE8, stroke:#B7DEE8, stroke-width:0px, font-size:100%;
classDef mermaid_entity color:#000, fill:#FB9F53, stroke:#FB9F53, stroke-width:0px, font-size:100%;
classDef mermaid_entitylinked color:#000, fill:#FCD5B5, stroke:#FCD5B5, stroke-width:0px, font-size:100%;
classDef mermaid_context color:#000, fill:#B9CDE5, stroke:#B9CDE5, stroke-width:0px, font-size:100%;
classDef mermaid_optional color:#000, fill:#B7DEE8, stroke:#65CDE8, stroke-width:1px, font-size:100%, stroke-dasharray: 5 5;
classDef mermaid_state color:#000, fill:#d7e4bd, stroke:#000, stroke-width:1px, font-size:100%, font-weight:300;
class Entity mermaid_entity
class Version1,Version2,Version3,Version4,Version5,Version6,Version7,Version8,Version9,Version10,Version11 mermaid_businessdata
class RevisionA,RevisionB,RevisionC mermaid_entitylinked

For more information on data structures and their relations see, General Architecture.