(Updated Edited template to July 12, 2025.) |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 2: | Line 2: | ||
Follow this pattern to get the functionality to generate QR codes in '''Turnkey''': | Follow this pattern to get the functionality to generate QR codes in '''Turnkey''': | ||
(Please note: this does not work in a [[Serverside actions|serverside]] job.) | (Please note: this does not work in a [[Documentation:Serverside actions|serverside]] job.) | ||
[[File:2018-07-29 12h32 21.png|none|thumb|577x577px]] | [[File:2018-07-29 12h32 21.png|none|thumb|577x577px]] | ||
Add a class '''ZXing''' (this is the open-source [https://zxingnet.codeplex.com/ QR-code library we use], credit goes to everyone involved in that). | Add a class '''ZXing''' (this is the open-source [https://zxingnet.codeplex.com/ QR-code library we use], credit goes to everyone involved in that). | ||
Line 14: | Line 14: | ||
Let me explain the OCL a bit: | Let me explain the OCL a bit: | ||
<code><span class="col-black">ZXing.QRImage(300,300, theUrl)</span></code> – 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. | <code><span class="col-black"><span class="col-black">'''ZXing.QRImage(300,300, theUrl)'''</span></span></code> – 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. == | == From 2020-02-09, You Can Also Create EAN13 Barcodes. == |
Latest revision as of 04:58, 20 February 2025
Follow this pattern to get the functionality to generate QR codes in Turnkey:
(Please note: this does not work in a serverside job.)
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.
Using it in a ViewModel:
will give you this result: