(Replacing message template with parser tag) |
No edit summary |
||
Line 4: | Line 4: | ||
(Please note: this does not work in a [[Serverside actions|serverside]] job.) | (Please note: this does not work in a [[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). | ||
Add a static method with this signature QRImage(width:Integer; height:Integer; value:String):Image – and then you have access. | Add a static method with this signature <code><span class="col-black">QRImage(width:Integer; height:Integer; value:String):Image</span></code> – 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: | In the application (a returns and reclamation system) where this was first used, we added a derived attribute like this: | ||
Line 14: | Line 14: | ||
Let me explain the OCL a bit: | 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. | <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. | ||
== From 2020-02-09, You Can Also Create EAN13 Barcodes. == | == From 2020-02-09, You Can Also Create EAN13 Barcodes. == | ||
Line 20: | Line 20: | ||
In the ZXing class, add a method just like the QRImage above but call it BarcodeImage. | In the ZXing class, add a method just like the QRImage above but call it BarcodeImage. | ||
[[File:2020-02-09 14h24 57.png|none|thumb| | [[File:2020-02-09 14h24 57.png|none|thumb|904x904px]]Using it in a ViewModel: | ||
[[File:2020-02-09 14h28 51.png|none|thumb| | [[File:2020-02-09 14h28 51.png|none|thumb|811x811px]] | ||
will give you this result: | will give you this result: | ||
[[File:2020-02-09 14h34 15.png|none|thumb| | [[File:2020-02-09 14h34 15.png|none|thumb|662x662px]] | ||
[[Category:MDriven Turnkey]] | [[Category:MDriven Turnkey]] | ||
{{Edited|July|12|2024}} | {{Edited|July|12|2024}} |
Revision as of 05:20, 4 December 2024
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: