This time i want to share how to make a simple Barcode in Report with Microsoft Dynamics Nav 2009.
this simple tutorial contributed by Dobson Software. This tutorial only for classic client, for further example to display barcode in RTC read the second part of this tutorial.
Before we start to create the barcode, first prepare some exquisites report to display a text / code in barcode.
1. Report in nav go to Sections and preserve some space for Barcode (*)
2. Install Font Code128BWin if you didnt find where to find it just download from this
Code 128B Nav by Geert Rozendom
3. Extract the archive and find the *.ttf file or Code128BWin file, install it on Windows Control Panel
*. Length of barcode depends on input, it can be very long to small length.
Tutorial :
1.First just as i described in preparation, create report :
2. Open Global C/AL and Create Function for Barcode
3. Click Locals for the function, first create Variable for input the code / text to change into barcode
4. Set Return Value with Type text, and length 250
5. Set Variables to be used in function :
6. Now for the code, go to Code Unit for the function or Press F9 : and use this code :
MinValidASC := 32;
MaxValidASC := 156;
ValidASC := '?'; // Question Char
//start char alt+0154 stop char alt+0156
StartChar:='Å¡'; // Press ALT+0154
StopChar:='Å“'; //Press ALT+0156
Checksum := 104;
FOR i:=1 TO STRLEN(InCode) DO BEGIN
TempCheck := COPYSTR(InCode,i,1);
CharASC := TempCheck[1];
IF ((CharASC < MinValidASC) OR (CharASC > MaxValidASC)) THEN
BEGIN
CharASC := ValidASC[1];
InvalidCharFound := TRUE
END;
Checksum := Checksum +(i*(CharASC-32));
END;
ChecksumChar := (Checksum MOD 103);
IF (ChecksumChar < 95) THEN
ChecksumChar := ChecksumChar + 32
ELSE
ChecksumChar := ChecksumChar + 100;
InCode:=CONVERTSTR(InCode,' ','€'); // Press ALT+0128
//SpaceChar := ' ';
ReturnVal:=STRSUBSTNO('%1%2%3%4',StartChar,InCode,ChecksumChar,StopChar);
EXIT(ReturnVal);
7. Now save and make sure the error message not occured
8. Go to Section again, and create a text box beside the field, just as i explained on preparation
9. Open Property of the text box, and go to font name, change it to Code128bWin
(make sure that Code128Bwin.ttf already installed)
change the font size to more than 14 or more
Change the Sourceexp with FunctionName('Field Record')
10. Save and make sure the Barcode has appropriate Length to display it.
11. Finish
In the code unit within comment with ALT+0156 or like it, press it simultaneusly. This Char cannot be copied because its dependen on system fonts and character.