QR and barcode

Follow this pattern to get the functionality to generate QR codes in Turnkey:

(Please note: this does not work in a serverside job.)

2018-07-29 12h32 21.png

Add a class ZXing (this is the open-source QR-code library we use, credit goes to everyone involved in that).

Add a static method with this signature QRImage(width:Integer; height:Integer; value:String):Image – and then you have access.

In the application (a returns and reclamation system) where this was first used, we added a derived attribute like this:

QRCode: Blob , DerivationOcl = ZXing.QRImage(300,300,’https://reklamation.azurewebsites.net/MDriven/DisplayWithVariables?view=TestQRCodeFromVariable&id=$null$&vLopnummer=’+self.Lopnummer.asstring)
The Method must be marked with Tagged Value : Eco.ExternalLateBound = AnyValue

Let me explain the OCL a bit:

ZXing.QRImage(300,300, theUrl)  – this calls the static method QRImage on class ZXing, stating that the QRCode should be 300×300 pixels. For this to be permissible in OCL, we must have the QRImage method marked as IsQuery.

From 2020-02-09, You Can Also Create EAN13 Barcodes.

To make an EAN13 barcode, you need a string of 12-numbers between 0-9, and the last 13th checksum digit will be added - or a 13-numbers string where the last digit is the correct checksum.

In the ZXing class, add a method just like the QRImage above but call it BarcodeImage.

2020-02-09 14h24 57.png

Using it in a ViewModel:

2020-02-09 14h28 51.png

will give you this result:

2020-02-09 14h34 15.png
This page was edited 74 days ago on 02/10/2024. What links here