AX for Retail 2012 R3 Receipt Printing Enhancements: Print Multiple Logos and Select Images in AX Client
Credit to Brian Storie (Microsoft) for authoring this article
AX for Retail 2012 R3 introduced a new feature on the Receipt Format Designer that allows you to select a specific image for your Receipt Logo. In previous versions of AX for Retail you had to place a specific logo file on each terminal, either as a local bitmap on the file system or directly into the printer’s memory. This made for a lot of effort if you ever wanted to change the logo on your printed receipt. The new functionality now allows you to centrally manage your receipt images directly from Headquarters, and even provides the ability to have multiple logos on the same receipt.
Importing the Images
To use the new method of printing logos you first need to import the images you want to print into the RetailImages table in Headquarters. Loading the Image into AX is pretty straightforward; simply go to Retail > Setup > POS > Images:
Click New to create a new image and enter a value for Image ID. Once the ID is set click the Select Image button and load the image from your file system. This will then insert the image into the RetailImages table in the AX Database. You will also see a preview of the logo:
Close the window after uploading the image file.
Adding the Logo to the Receipt
Once the image has been added to the table you will be able to add it to your receipt using the receipt designer. Go to Retail > POS > Receipt Formats and select the receipt you want to modify. Click the Designer button.
Adding a logo to the layout is the same as previous versions: simply drag the Logo field from the field list onto either the Header or Footer section. For this example I’m going to stick with the demo data example of having the logo at the top of the header:
Note that the field just says “Logo” when you drop it on the form. If you leave it as-is, EPOS will look for look for the file RetailPOSLogo.bmp in your POS folder and use that when printing (just like previous versions). However, the new feature allows you to change any logo field to print a specific image.
Make sure the Logo field is selected and click on the new Select Image button at the bottom of the window:
This will bring up the Select Image form. Select the ID of the logo you want to use on this receipt and click Select Image. For this example select the image that was uploaded earlier (10001):
If you look closely at the Logo field on the form you will see that it now shows the specific logo ID:
If you want multiple logos, simply drag new logo fields anywhere you want into the Receipt Layout and repeat the process to select a different image. Note that you can have as many different images on as many different receipts as you want.
Testing the Logo
Hopefully you remembered to click the Save button before you closed the designer form. In order to test the receipt all you need to do is push your changes to the channel database. EPOS will automatically use the new receipt layout and images you stored to the RetailImages table. All of the tables you need to replicate are in the 1090 job.
If everything works correctly you should see your (multiple!) images on your printed receipt:
Here are a few things to keep in mind with this new feature:
- In R2 and previous versions EPOS used to scale the image to exactly 250 pixels wide. In R3 the image is sent to the printer as is (it literally sends an OPOS constant called “PTR_BM_ASIS”). If your image is larger than the OPOS printer can handle it will not print your logo. Due to differences in Printer hardware you may need experiment different image widths in order to print your logo.
- Depending on your Receipt Printer you may be able to print color bitmaps. However we typically get the best results using a monochrome bmp file.
- With the new method EPOS loads the images from the channel database every time a receipt is printed. If you are having network or SQL Server limitations you may want to use the default logo to reduce network congestion. Logo bitmaps tend to be rather small in size, though, so this may not be a problem.