gud One- Integration of Barcode Scanner with Navision
mahesh
Member Posts: 115
Hi NAV guys,
Im working on NAV 4.0 SP3 for a Eye Lens manufacturing cmpny. They are very curious about serial No & Lot No. They want to integrate barcode scanner with Navision. So as they scan any barcode label, record should appear in Item Tracking Line of warehouse shipment Line.
I want suggestion from u guys as early as possible for direct integration of Scanner with NAVISION. Its urgent. :-k .
Im working on NAV 4.0 SP3 for a Eye Lens manufacturing cmpny. They are very curious about serial No & Lot No. They want to integrate barcode scanner with Navision. So as they scan any barcode label, record should appear in Item Tracking Line of warehouse shipment Line.
I want suggestion from u guys as early as possible for direct integration of Scanner with NAVISION. Its urgent. :-k .
0
Comments
-
Search the formu for Barcode scanners and you will see the tips. But if you need help in that, for me it seems that you need some professional services, not just some easy answer on the forum.0
-
I agree that Barcodes are not really a simple issue that can be covered in the forums very well.
But there are a few simple things to consider when working with barcodes. Barcodes are normally nothing more then alphanumeric characters printed out with a special font and scanned by a device. So it can be a simple as adding a special font to a report and printing out labels with barcodes.
Then if they have a barcode that needs to be pulled into navision normally the scanning device will dump the output to the keyboard buffer. So there is normally no modifiction required to Navision to bring the value in, however you do need to make sure that the cursor is in the correct field when you scan the barcode.0 -
For LotNo (not hard to change for SerNo), create new field, two functions InsertResEntry (example is incl.) and ReverseResEntry.
Lot No. - OnValidate() ItemLedger.SETCURRENTKEY("Lot No.") ; ItemLedger.SETRANGE(ItemLedger.Positive,TRUE) ; ItemLedger.SETRANGE(Open,TRUE) ; ItemLedger.SETRANGE(ItemLedger."Item No.","Item No.") ; ItemLedger.SETRANGE("Lot No.","Lot No.") ; IF ItemLedger.FIND('-') THEN BEGIN CurrFieldNo := FIELDNO(Quantity) ; VALIDATE(Quantity,ItemLedger."Remaining Quantity") ; "Transfer-from Code" := ItemLedger."Location Code" ; "Source ID" := ItemLedger."Source No." ; END ; InsertResEntry;InsertResEntry() IF "Lot No." <>''THEN BEGIN IF NOT Item.GET("Item No.") THEN BEGIN LotNo := "Lot No." ; ItemLedger.SETCURRENTKEY("Lot No.") ; ItemLedger.SETRANGE(Open,TRUE) ; ItemLedger.SETRANGE("Lot No.","Lot No.") ; IF (ItemLedger.FIND('-')) AND (ItemLedger.COUNT = 1) THEN BEGIN Item.GET(ItemLedger."Item No.") ; VALIDATE("Item No.",ItemLedger."Item No.") ; VALIDATE("Transfer-from Code",ItemLedger."Location Code") ; "Lot No." := LotNo ; END ; END ; TransHeader.GET("Document No.") ; //search for existence ReservEntry.RESET ; ReservEntry.SETRANGE("Item No.","Item No.") ; ReservEntry.SETRANGE("Source Type",5741 ); ReservEntry.SETRANGE("Source ID",TransHeader."No.") ; IF TransHeader.Status = TransHeader.Status::Open THEN BEGIN ReservEntry.SETRANGE("Source Ref. No.","Line No.") ; ReservEntry.SETRANGE("Source Subtype",0) ; END ELSE BEGIN ReservEntry.SETRANGE(ReservEntry."Source Prod. Order Line","Line No.") ; ReservEntry.SETRANGE("Source Subtype",1) ; END ; ResEntryExist := FALSE ; ResEntryExist := ReservEntry.FIND('+') ; ReservEntry."Item No." := "Item No." ; IF TransHeader.Status = TransHeader.Status::Open THEN ReservEntry."Location Code" := "Transfer-from Code" ELSE ReservEntry."Location Code" := "Transfer-to Code" ; ItemLedger.SETCURRENTKEY("Lot No.") ; ItemLedger.SETRANGE(Open,TRUE) ; ItemLedger.SETRANGE("Lot No.","Lot No.") ; ItemLedger.SETRANGE(ItemLedger."Location Code","Transfer-from Code") ; IF ItemLedger.FIND('-') THEN IF Quantity > ItemLedger."Remaining Quantity" THEN ERROR('Qty is too big!\Should be max %1',ItemLedger."Remaining Quantity") ELSE ReservEntry."Quantity (Base)" := -Quantity ; ReservEntry."Reservation Status" := ReservEntry."Reservation Status"::Surplus ; ReservEntry."Creation Date" := TransHeader."Posting Date" ; ReservEntry."Source Type" := 5741 ; IF TransHeader.Status = TransHeader.Status::Open THEN ReservEntry."Source Subtype" := 0 ; ReservEntry."Source ID" := TransHeader."No." ; ReservEntry."Source Batch Name" := '' ; IF TransHeader.Status = TransHeader.Status::Open THEN ReservEntry."Source Ref. No." := "Line No." ELSE ReservEntry."Source Prod. Order Line" := "Line No." ; //ReservEntry."Source Ref. No." := "Line No." ; ReservEntry."Shipment Date" := "Shipment Date" ; ReservEntry."Lot No." := "Lot No." ; IF TransHeader.Status = TransHeader.Status::Open THEN ReservEntry.VALIDATE("Quantity (Base)",-Quantity) ELSE ReservEntry.VALIDATE("Quantity (Base)",Quantity) ; IF TransHeader.Status = TransHeader.Status::Open THEN ReservEntry.Positive := Quantity < 0 ELSE ReservEntry.Positive := Quantity > 0 ; IF ResEntryExist THEN BEGIN ReservEntry."Changed By" := USERID ; ReservEntry.MODIFY ; ReverseResEntry ; END ELSE BEGIN ReservEntry."Created By" := USERID ; IF ResTmp.FIND('+') THEN ; ReservEntry."Entry No." := ResTmp."Entry No." + 1 ; ReservEntry.INSERT ; ReverseResEntry ; END ; IF Status = Status::Released THEN BEGIN TransferLine.SETRANGE(TransferLine."Document No.","Document No.") ; TransferLine.SETRANGE("Derived From Line No.","Line No.") ; IF TransferLine.FIND('-') THEN BEGIN TransferLine."Transfer-to Code" := "Transfer-to Code" ; TransferLine.MODIFY ; END ; END ; END ;0 -
here's a quote from the post
Barcode Generator v2
http://www.mibuso.com/forum/viewtopic.p ... 9&start=45Savatage wrote:wq wrote:However, my problem is that my scanner does not recognize these printed barcodes. When I tried to scan it, nothing was written or produced on my text editors (Notepad, Word, Excel, etc.). For your information, I use cheap "handheld barcode scanner" that is normally used in small retail shop.
Most handheld scanners come with some kind of Decoder & Scanner Programming manual. These manuals "Teach" the scanner how to read different barcodes depending on what you need.
For example we use little handhelds too
http://www.pos-x.com/product.asp?prodid=11 nothing fancy, works great
and the manual to "Teach" it,
http://www.pos-x.com/downloads/Xi1000_p ... manual.pdf
So what i would do is find the maker of your scanner - go to their website and get the manual if you do not have it & program your scanner to read the other types of barcodes.
Or
1)add the invoice# to your report header section
2)Change the Font for that field to BC C39 3 to 1 Narrow
3)install fonts on all computers that are going to print this report http://savatage99.googlepages.com/BarcodeFonts.zip
4)change the SourceExp of your Invoice# field to something like
'*' + "Sales Invoice Header"."No." + '*'
note the *'s are needed on barcode3of9
save, compile, print
ps make sure you make the field a decent size too, something like
width=4500
Hight=1300
good luck0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.7K Microsoft Dynamics NAV
- 18.8K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 328 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions
