NotesMail - HCL BP Barcode Tutorials
This tutorial is designed for HCL Notes and Domino users. Using the Notes barcode tutorial, IDAutomation's barcode fonts, and LotusScript functions can easily be integrated into Notes applications.
The macros, functions, and LotusScript source code provided in this Notes app barcode font encoder tool include working examples. Free to use with IDAutomation barcode fonts, the LotusScript code has been tested with Notes and Domino Designer versions 9, 10, 11, and 12, and should be compatible with later versions as easily.
HCL Notes and Domino Barcode Tutorial
"IDAutomation's barcodes quickly and easily integrated with our HCL Notes printing and reporting tool called Print Merge Reporter (PMR), which allowed us to provide our customers with additional barcode mail merge functionality, as well as displaying barcodes in Notes views."
- Lance Zakin, HCL CAAD, CASA - Domino 12.0, NotesMail http://www.notesmail.com
Using a Formula with Self-Checking Barcode Fonts
This is by far the easiest method for creating barcodes in Notes, and the self-checking fonts available to use are
Code39,
Codabar,
and Industrial
Code 2 of 5. To display a barcode, simply create a field computed
for display that combines the start and stop characters with the field.
For instance, for Code39, the field formula would be:
"*" + DataField + "*"
Choose the barcode font of choice for the field and make sure it is centered in the box with some white space before and after the barcode. The resulting barcode should return an accurate scan.
Using LotusScript to Generate Barcodes in HCL Notes and Domino
This method is recommended for advanced developers of HCL Notes or Domino applications. Code 128 and other more complicated barcodes require a LotusScript event and a LotusScript function. See the Lotus script in the barcode database example for an illustration of how to implement these barcodes. In this database example, the LotusScript code that formats the Code 128 field is located in the form's QuerySave Event. In this example, the LotusScript for the function that formats the text to the barcode font is Code128b. This script is located in the form's Globals definition and must be imported from IDAutomation's LotusScript Functions file.
- Notes 9 and above Right-click and select Import, then select the IDAutomationLS.lss file located in the LotusScript download.
Import the LotusScript Barcode Functions into the Form
- Open the IDAutomationLS.lss file with a text editor. Copy everything at the top of the file in the declarations section, into the declarations event.
- Copy only the necessary functions from the
IDAutomationLS.lss LotusScript
file into the Options event. The functions will appear as
an event in (Globals).
Please note that some functions require other functions to work properly, and some require an additional argument. Every time the document is edited, the field will be updated. After updating the field, it may be used on forms and in views with the appropriate barcode font selected.
Adding the LotusScript Source Code for the QuerySave Event
This LotusScript barcode source code performs the following:
- Retrieves the appropriate data field.
- Calls the function to format the barcode.
- Saves the result to a field on the form during the save process.
For example:
Sub Querysave(Source As Notesuidocument, Continue As Variant) Dim uiDoc As NotesUIDocument Dim uiWorkspace As New NotesUIWorkspace Set uiDoc = uiWorkspace.CurrentDocument 'call the function to format the data from field SSN and save it to field Method2SSN Call uiDoc.FieldSetText("Method2SSN", Code128(uiDoc.FieldGetText("SSN"),0,0)) End Sub
Choose the correct barcode font for the barcode field and make sure that it is centered in the box with some white space before and after the barcode.
Available LotusScript Barcode Functions
These functions are supplied in the IDAutomationLS.lss file, which is provided in the LotusScript download package. If needed, the IDAutomationLS.lss file may be imported into Domino Designer as a Shared Script Library. For all functions, the DataToEncode is the string data type. Other data types such as numbers or dates may need to be converted to the string data type for proper encoding.
All parameters are required. For example, use Code128("123456", 0, 1) instead of Code128("123456"). For all number symbologies such as Postnet and UPC, dashes or spaces may be input for easier readability. These characters will be filtered out by the function before the barcode is generated. For UPC-A, UPC-E & EAN-13, the +2 and +5 add-on codes may be created by adding the data to the end of the string.
Function | Font Name | Function Notes and Additional Information |
Code128 (DataToEncode) (ReturnType) (ApplyTilde) |
IDAutomationC128 | This Code 128 Auto function automatically encodes any DataToEncode from ASCII 0 to ASCII 127. Select this
function if unsure as to which Code 128 set is used for an application.
It will automatically switch to character set C for numbers
as well. Data may be easily encoded without any options. For
example, the formula Code128("123456") will encode the numbers
123456. It may be necessary to use the ReturnType and ApplyTilde
for special purposes.
|
Code128a (DataToEncode) |
IDAutomationC128 | Caution: Entering a lowercase character will create a function. Use the character values 64 through 95 from set A to print characters not present on the keyboard. The scanner will recognize these functions as from set A. Formats output to the Code 128 barcode fonts. |
Code128b (DataToEncode) |
IDAutomationC128 | Returns codes formatted to the Code 128 character set B. Formats output to the Code 128 barcode fonts. |
Code128c (DataToEncode) (ReturnType) |
IDAutomationC128 | This code128 function "interleaves" numbers
into pairs for high density. (DataToEncode, 0) formats output to the Code 128 barcode fonts. (DataToEncode, 1) returns the human-readable text with the check digit included. (DataToEncode, 2) returns only the check digit. |
Code39 (DataToEncode) |
IDAutomationC39 or IDAutomationHC39 |
Formats the output to print using Code 39 fonts. |
Code39Mod43 (DataToEncode) (ReturnType) |
IDAutomationC39 or IDAutomationHC39 |
(DataToEncode, 0) performs the mod43
checksum calculation for increased accuracy and then formats
the output to print using Code 39 fonts. The mod43 checksum
is usually required for LOGMARS and HIBC applications. (DataToEncode, 1) returns the human-readable data with the check digit included. (DataToEncode, 2) returns only the check digit. |
Code93 (DataToEncode) |
IDAutomationC93 | Formats the output to print with the 2 required check digits using Code 93 fonts. |
Codabar (DataToEncode) |
IDAutomationCB | Formats the output to print using Codabar fonts. |
Code11 (DataToEncode) |
IDAutomationC11 | Formats output to the Code 11 fonts. Only the "C" check digit is calculated which is the standard when encoding 10 digits or less. |
EAN13 (DataToEncode) |
IDAutomationUPCEAN | DataToEncode is a number string of 12, 13, 14, 15, 17, or 18 digits with or without a check digit, add-ons are supported. Formats output to the UPC/EAN barcode font. Entering incorrect data will create a barcode containing all zeros. |
EAN8 (DataToEncode) |
IDAutomationUPCEAN | DataToEncode is a number string of 7 or 8 characters (EAN-8 without the check digit). Formats output to the UPC/EAN barcode font. Entering incorrect data will create a barcode containing all zeros. |
I2of5 (DataToEncode) |
IDAutomationI25 or IDAutomationHI25 |
This function "interleaves" numbers into pairs for high density without check digits and formats the return string to the Interleaved 2 of 5 fonts. |
I2of5Mod10 (DataToEncode) (ReturnType) |
IDAutomationI25 or IDAutomationHI25 |
(DataToEncode, 0) performs the mod10
checksum calculation for increased accuracy and formats the
return string to the Interleaved 2 of 5 fonts. MOD 10 checksums
are required by USPS for special services and for SSC-14 when
using Interleaved 2 of 5 for that purpose. (DataToEncode, 1) returns the human readable data with the MOD10 check digit included. (DataToEncode, 2) returns the MOD10 check digit. |
MOD10 (DataToEncode) |
Not Applicable | Returns the MOD 10 check digit for a given string of numbers according to the UCC/EAN method. |
MSI (DataToEncode) (ReturnType) |
IDAutomationMSI or IDAutomationHMSI |
(DataToEncode, 0) formats output to the
MSI barcode fonts. (DataToEncode, 1) returns the human-readable data with the check digit included. (DataToEncode, 2) returns only the check digit. |
RM4SCC (DataToEncode) |
IDAutomationRM | Formats the output to print using RM4SCC fonts. Checksum calculated according to the mail sort customer bar-coding specification. |
SpliceText (DataToEncode) (SpacingNumber) (ApplyTilde) |
Text Font | Returns text with a space inserted every SpacingNumber of digits to improve readability. If ApplyTilde is set to True, the tilde will be processed as described here. |
UPCa (DataToEncode) |
IDAutomationUPCEAN | DataToEncode is a UPC-A number string of 11, 12, 13, 14, 16, or 17 digits with or without a check digit, add-ons are supported. Formats output to the UPC/EAN barcode fonts. Entering incorrect data will create a barcode containing all zeros. |
UPCe (DataToEncode) |
IDAutomationUPCEAN | DataToEncode is a UPC-E number of 6, 7, or 8 digits or a UPC-A number string of 11, 12, 13, 14, 16, or 17 digits with or without a check digit, add-ons are supported only with 13, 14, 16 or 17 digits. Formats output to the UPC/EAN barcode fonts. Entering incorrect data will create a barcode containing "00005000000". UPC-E1 is supported when the first character is "1" instead of "0". |
Function Property Descriptions
- DataToEncode: a string value that represents the data being encoded.
- ApplyTilde: when ApplyTilde is set to "1" in Code 128 with the Auto character set, the format ~ddd may be used to specify the ASCII code of the character to be encoded, and several other tilde options are enabled.
Importing Barcode Methods into a Shared Script Library
Barcode functions may be imported into the shared script library. For example, in Domino Designer 7 perform the following:
- Choose Shared Code - Script Libraries.
- Select New LotusScript Library.
- After the Option Public statement, right-click and choose Import.
- Select the IDAutomationLS.lss file, which is provided in the LotusScript download package.