Barcode Module GS1-128 Barcode generation #24889
Unanswered
xHorizon96
asked this question in
Q&A
Replies: 1 comment 1 reply
-
There has been a similiar issue on yammer. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi,
I was assigned a task by a client to create labels for their manufacturing and shipment processes.
Their requirements were to use Code128 for their manufacturing labels and GS1-128 for their shipment labels,
As I read up on the online documentation of microsoft where it links to the IDAutomation's Barcode-128's fonts and specifications I read that GS1 is supported by IDAutomation and that their Font "IDAutomationC128M" was specifically designed for GS1 Barcodes.
IDAutomation also mentions that the function "Code128()" in their font encoder does provide an automated method to generate GS1-128 Barcodes.
So I scanned the System Applications Barcode Module on more information providing implementation details and the options that the interface provides.
The implementing Codeunit that is responsible to generate Code128 Barcodes is
Codeunit IDA 1D Code128 Encoder
and the methodEncodeFont
will then generate GS1-128 conform encoded text when used in Auto Mode.As IDAutomation specifies on their Barcode128 website when using Auto Mode the ApplyTilde does not have to be manually set, which in this case can't be set through AL, at least I haven't found a way to set it.
So I guess the Auto Mode is used when no character set is applied by using the
Barcode Settings
Record?I then wanted to try out a sample generation for GS1-128 barcodes by using the IDAutomations example of calculating the check digits for GS1-128. In their example they use the string
Ê001234Ê1512
.The code I used to generate my barcode was as following:
When validating the input string I got an error that my data contains invalid characters, which I was a bit confused about because the character
Ê
is used as the ASCII 202 representation I then commented out the ValidateInput invocation and the string was encoded and was printed as a barcode on the report.I used the font
IDAutomationC128M
with a font size of 12pt and made sure the control that renders the barcode has an height of at least 1/2 in and its width was aprox 2.36in.For scanning the barcode I used IDAutomations App Barcode Data Decoder Verifier for Android/iOS, I made sure to tick the setting
Process GS1 code
in the app and then tried scanning the barcode.It was indeed scanned and it showed the right data, but to my surprise it didnt recognize the barcode as GS1-128 Barcode but only as a normal Barcode 128.
I then tried changing the character
Ê
to~202
which would be its ASCII representation and the tilde preceding it to signal that this should be the FNC1 symbol. However the barcode then contained the actual characters~202
when scanned and also was only recognized as Barcode 128.So I'm not quite sure if the system module in fact supports GS1-128 Barcode generation or maybe I'm just missing a detail here?
Could someone maybe help me out in this matter?
Beta Was this translation helpful? Give feedback.
All reactions