Hi everybody.  I wanted to share with you some very detailed information about how I solved the integration to SeaGull BarTender.  image

Introduction

Most companies dealing with products requires very effective work of the label printing system because it’s one of its key elements. To address this requirement Columbus has created Columbus Seagull BarTender Integration (BTI) for Dynamics AX 2012. 

Seagull BarTender provides Microsoft Dynamics AX 2012 with a very powerful system for creation, population, printing and management of labels and gives the users a high level of usability by making BarTender closely integrated with the corresponding parts of Microsoft Dynamics AX 2012. BarTender has been chosen as the leading, true Windows, barcode label software program. This professional label design and bar code software-tool has powerful features for compliance labels and integration with enterprise software. It even supports RFID tags. Yet BarTender is so easy, it gets beginners designing in minutes.

Columbus BTI is built is be a 10 minutes training for users, and a 60-minutes training for the label creators/system administrators.

General information

The Columbus BTI uses a COM-interface to communicate with BarTender. This means that all processes related to printing using BarTender is controlled directly by Dynamics AX 2012. When printing, the end user will not know or see the BarTender application. The end-user will just notice that the label was printed.

For the end-user, the Columbus BTI is extremely easy to use. The print out of labels can happen manually or automatic based on triggers.

If we take a small example of printing an item barcode, then a small menu item would be made available on the item barcode form like this.

image

The barcode system can print out the label without any user interference:

image

Or it will bring up a prompt form, where the user can direct printout to selected printers, adjust number of copies, or select other label templates.

image

When the user press “OK” the label will be printed based on the label type and to the selected printer.

The “print” form design has been created in the same design as used in the Columbus PDA solution, because the printout of labels should be possible from a handheld RF/PDA.

To access the Columbus BarTender access the common section under Inventory and warehouse management.

image

This will open the form where labels parameters and data sources can be created and maintained.

image

Each label has the following fields and properties:

image

image

The following menu items are available.

image

In the label printer setup it is possible to set up default printers globally and per user. Here it is also possible to defined default number of label copies that should printed each time.

image

image

In addition there are some menu items to this section.

image

image

All labels needs to be populated with data. Columbus BarTender can fetch data from a table, query or a class. Columbus is out of the box delivered with the most common classes ready to use. Source classes will be technically covered later in this document.

image

image

The label data source will also show a query object of the data source:

image

This view behaves just like any other query views, and the user can add related tables to this query object.

image

You can add 1:n related tables and n:1 related tables. n:1 means that for each main data source record the maximum of 1 related can be found. (Like one sales line only can relate to one sales table) 1:n means that for each main data source record, there may exist several related records.(Like one Sales Table can have several sales lines) But for Columbus BTI only the FIRST 1:n record will be selected for the labels.

With this query object you can add as many related tables as the data source as you may choose. Here is a extreme example:

image

The query possibilities to include MANY tables as a data source for a label are therefore endless.

image

To explain what a tag is, look at a BarTender label template.

image

A tag is a object on the BarTender label template, where the value from Columbus BTI will be replaced with a value from the label data source. In this example @ItemName is the tag where the Dynamics AX 2012 ItemName will be filled in. Each BarTender object do have a lot of properties, and each tag.

Also remember that tags can be defined as multiline, so that you could have formatted lists on a label. A very good tip here is to use the currier new font, because this make multi line tags look much nicer on the labels.

image

More details of this can be seen in the documentation of BarTender.

This means that in the Label setup we can define these tags, and link them to fields in the data source.

image

image

image

image

In addition to be able to define and create labels, Columbus BTI also stores printed labels. Theese labels can be viewed, reprinted and even changed. It is a very nice way in label design, when extending labels with additional field to check the final outcome of the label, before releasing it into production.

The printed labels can be accessed from the selected label type, usin gthe menu ”printed labels”. The screen looks like this.

image

image

image

In addition to these fields, the printed labels form do also have all tag values, as can be seen here.

image

Each tag here is also represented with a tag value. Some tags can have multiline fields, and therefore a separate tab value field is visible to see the formating of this tag value.

All tags and tag values can be changed in this form, and also reprinted.

Step-by-step : How to create a label and a ”print label button” ?

Now we have covered the basics for setting up and defining labels. The next step is to enable the Columbus BTI labels where needed. The process of this has been made as simple as possible. It is basically just to drag a Columbus BTI menu item into the selected form.

Let’s say that a label for production orders is needed. And here is how you should go forward to enable this. First create a label type.

image

Here I use a ready source class, where most of the needed tags already are available.

Then create the label template exactly like wanted. Place logo, bitmaps, barcodes, QR-codes, texts, boxes etc where it fits. Then also place the tags where needed.

image

As seen in this example we have @itemName as a tag together with batch number properties, and attributes(@batchAttributesList).

In this case I also wanted to create a contents list with % of how much each line in the BOM should have. This is placed in the @prodBOMListPercent tag.

Add the Menu item to the production form.

The final step is to be able to print the label, by clicking a button. To do this, there is a need for a very small customization where this is needed.

First open the form (ProdTable), and then drag and drop the output menu item BTILabelTypeProcessor.

image

The Columbus BTI menu item is very generic and is capable of finding out what label to use, and if there are multiple options, then the label selector will prompt as runtime

Then you may open the production form to check out how it looks :

image

When I click on it, the label is printed.

image

Current available source classes

Mostly the ability to choose tables and queries will cover most label requirements. But there are some times needed to have support for more advanced labels.

To cover these advanced labels, Columbus BTI comes with a few source classes. It is very easy to extend these classes to cover other data sources and possibilities, and even to create new classes. The source classes are heavily relying on class inheritance, meaning that if you extend a base class with new tags, these will be usable in child classes. Normally it just take a few hours to create new classes. Creating such classes will be covered in a separate document for customers that has purchased Columbus BTI.

But in this section I will go through the out-of-the-box source classes to explain the available fields. Also remember that it is possible to add as many more fields as wanted using the data source query to add new fields.

image

Installation instruction

The installation involved 2 main components. The BarTender application and the AX 2012 BTI model. Columbus BTI is delivered as a Dynamics AX 2012 model. The name of this model is BTI.axmodel, and contains all needed code and labels. The installation instruction here is based on installing the Columbus PDA in a development or test environment. For installation into a live environment, please follow Microsoft instructions on how to install a model store.

Installation procedure :

1. Start Microsoft Dynamics AX Management Shell
2. axutil import /file:bti.axmodel

The next step is to restart all AOS’es, and then follow the upgrade wizard in Dynamics AX together with a full synchronization and a full compile.

There is no other setup parameters necessary, except of starting to create labels.

Happy daxing, and good night.