Item Tracking Lines

misadministrator
Member Posts: 11
Evening!
I've had the request to add serial numbers to the delivery note and sales invoice reports. This was fairly straight forward for the delivery note: just map fields to the Item Entry Relation table.
However, I can't work out where Navision stores the serial number info for the item tracking lines of a posted sales invoice. I've found some info in the Item Ledger Entry table, but this doesn't map line numbers...
Can someone please put me out of my misery... Which table is holding the serial number data for the posted sales line - item tracking lines?
Many, many thanks.
- Rowan
I've had the request to add serial numbers to the delivery note and sales invoice reports. This was fairly straight forward for the delivery note: just map fields to the Item Entry Relation table.
However, I can't work out where Navision stores the serial number info for the item tracking lines of a posted sales invoice. I've found some info in the Item Ledger Entry table, but this doesn't map line numbers...
Can someone please put me out of my misery... Which table is holding the serial number data for the posted sales line - item tracking lines?
Many, many thanks.
- Rowan
0
Comments
-
Hello Mis Administrator.
I will try to put it in worlds. SalesInvoice line has a function called RowID1
which returns a string. That string is used to filter in valueEntryRelattion table to find the associated value entry. Once you have the value entry, then you can relate to Item Ledger, which has the serial no.
I have a Integer as dataitemOnPreDataItem() InvoiceRowID := TempSalesInvoiceLine.RowID1; ValueEntryRelation.RESET; ValueEntryRelation.SETCURRENTKEY("Source RowId"); ValueEntryRelation.SETRANGE("Source RowId",InvoiceRowID); NumSerialLines := ValueEntryRelation.COUNT; AGSerialNo := 5; IF (NumSerialLines MOD AGSerialNo) = 0 THEN SETRANGE(Number,1,NumSerialLines/AGSerialNo) ELSE BEGIN NumSerialLines := ROUND(NumSerialLines/AGSerialNo,1,'<')+1; SETRANGE(Number,1,NumSerialLines); END;
The code above and below print the data. It basically prints 5 serial no on one line.SerialNo - OnAfterGetRecord() IF Number = 1 THEN ValueEntryRelation.FIND('-'); CLEAR(SerialText); AGInt := 0; REPEAT AGInt += 1; ValueEntry.GET(ValueEntryRelation."Value Entry No."); ItemLedgEntry.GET(ValueEntry."Item Ledger Entry No."); SerialText[AGInt] := ItemLedgEntry."Serial No."; UNTIL (ValueEntryRelation.NEXT = 0) OR (AGInt = AGSerialNo);
0 -
edit.0
-
Rashed,
Thanks for your help. Just wondering if I can pick your brains again - having trouble with the following line:
SerialText[AGInt] := ItemLedgEntry."Serial No.";
ILE --> Serial No. is type Code. I've set SerialText to Code, but get the error Char := Code
Where am I going wrong??
Thanks
- Rowan0 -
SerialText is of type Code and it's an Array. To make a variable an array you need to go to global. Find the variable. and lick on properties. Change the Dimension Property to 10.
SerialText[AGInt]
In the sections you will have 5 text boxes. Souce expression for the first box will be SerialText[1], second will be SerialText[2] etc.0 -
Fantastic! Thanks!!0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K 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
- 320 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