I'm developing a barcode solution using the PDF417 barcode inside the crystal. When I create my string (300+ characters) I’m using a formula inside of crystal. The Input String value is a formula made of several other formulas, each formula being a specified value (order number, QTY, date codes, etc.) .
When i test the bar code i put my input string formula on the label to confirm the data is correct, and it is. The input string shows the correct formatting and proper string length, however when I scan the barcode there are several (20 to 30) additional characters, these are always numbers. I've found that this happens when converting a number field to text and using it in the Input String. OrderHed.Number03 is the field being converted, this is in conjunction with Epicor version 8 (vantage) using Crystal xi r2.
I've found that the number field that is converted to a string will show all the numbers except the last number, and in the place of the last number is a 20 to 30 digit long string of numbers. for example if the string is 000740564 when I scan the barcode the value will be 000740560000022246866666666666666668248510000 with many extra digits on the end replacing the last correct digit.
i have everything set to auto pretty much inside the PDF417 code converter.
I've tried the following:
Making the barcode larger
making the barcode smaller
changing the font size
scanning with several different apps and phones
I’ve tried declaring it a string a couple different ways I’ll outline below, the field is OrderHed.Number03, so I’ll use that in my example. These are in crystal's syntax:
ToText(OrderHed.Number03,0,"")
Cstr(OrderHed.Number03,0,"")
Declared a string Var and made the value a string variable and tried to insert it.
Created a second formula that calls the first and convert that to a string
Putting ToText() around all the formulas in the input string formula
Putting ToText() around just the OrderHed.Number03 formula inside the input string formula
Something i have found is that if i put a character at the beginning of the string, meaning if the string is 000740564 and i add an "A" in front of the string so it is A000740564 then it will scan correctly without the extra numbers. If i put the 'A" at the end of the string then it will still put all the extra digits in then the "A". So it appears putting the "A" in the front fixes the extra digit issue but can't be used as i need a specific number of characters for each value and adding an extra character would defeat the purpose of this barcode. i did try some other things with this though and none worked, like:
Adding the "A" then trimming it out using the Right() function in crystal
Adding the "A" then using the Replace() function to make it a "" value
Adding a "" value to the beginning of the number value
Combining the formula into another formula that is a string, so a string is at the beginning, this still gives me the extra digits.
This has been a real head scratcher. The issue is when converting a Number field to a string value inside a formula inside crystal i get extra digits that should not appear in the text. Any information would be greatly appreciated.
|