Reservation of all lines of the document

adept_kz
Member Posts: 11
Hi. I create a lot of item shipments every day and I have to reserve manually each line in every document 
Navision doesn't allow to reserve (to cancel reservation) all lines by one click. But I believe that it's possible. Help me please to realize this small solution. How to use properly reservation codeunits and functions?
Thanks in advance.

Navision doesn't allow to reserve (to cancel reservation) all lines by one click. But I believe that it's possible. Help me please to realize this small solution. How to use properly reservation codeunits and functions?
Thanks in advance.
0
Comments
-
I made two extra functions on form 498 - Reservation to simulate a reservation button click. May I warn you that this is messy copy-paste code, but it does the job and might give you a clue how to solve it yourself.
AutoReserve() IF ReservSummEntry.FIND('-') THEN BEGIN Rec := ReservSummEntry; RemainingQtyToReserve := QtyToReserve - QtyReserved; IF RemainingQtyToReserve = 0 THEN; QtyReservedBefore := QtyReserved; IF HandleItemTracking THEN ReservMgt.SetItemTrackingHandling(2); ReservMgt.AutoReserveOneLine( "Entry No.",RemainingQtyToReserve,ReservEntry.Description, ReservEntry."Shipment Date"); UpdateReservFrom; IF QtyReservedBefore = QtyReserved THEN; END;
AutoCancel() IF ReservSummEntry.FIND('-') THEN BEGIN Rec := ReservSummEntry; CLEAR(ReservEntry2); ReservEntry2 := ReservEntry; ReservMgt.SetPointerFilter(ReservEntry2); ReservEntry2.SETRANGE("Reservation Status",ReservEntry2."Reservation Status"::Reservation); IF ReservEntry2.FIND('-') THEN REPEAT ReservEntry3.GET(ReservEntry2."Entry No.",NOT ReservEntry2.Positive); IF RelatesToSummEntry(ReservEntry3,Rec) THEN BEGIN ReservEngineMgt.CloseReservEntry2(ReservEntry2,TRUE,FALSE); RecordsFound := TRUE; END; UNTIL ReservEntry2.NEXT = 0; IF RecordsFound THEN UpdateReservFrom; END;
Next, in the Sales Line table, I created these two functions:ReserveCompleteOrder() recSalesLine.RESET; recSalesLine.SETRANGE("Document No.","Document No."); recSalesLine.SETRANGE("Document Type","Document Type"); recSalesLine.SETRANGE(Type,recSalesLine.Type::Item); recSalesLine.SETFILTER(Reserve,'<>%1',recSalesLine.Reserve::Never); recSalesLine.SETFILTER("No.",'<>%1',''); IF recSalesLine.FIND('-') THEN REPEAT recSalesLine.TESTFIELD(Reserve); CLEAR(Reservation); Reservation.SetSalesLine(recSalesLine); Reservation.AutoReserve; UNTIL recSalesLine.NEXT = 0;`
CancelCompleteOrder() recSalesLine.RESET; recSalesLine.SETRANGE("Document No.","Document No."); recSalesLine.SETRANGE("Document Type","Document Type"); recSalesLine.SETRANGE(Type,recSalesLine.Type::Item); recSalesLine.SETFILTER(Reserve,'<>%1',recSalesLine.Reserve::Never); recSalesLine.SETFILTER("No.",'<>%1',''); IF recSalesLine.FIND('-') THEN REPEAT recSalesLine.TESTFIELD(Reserve); CLEAR(Reservation); Reservation.SetSalesLine(recSalesLine); Reservation.AutoCancel; UNTIL recSalesLine.NEXT = 0;
Next on the sales line subform, I created the follow two functions:ReserveCompleteOrder() Rec.ReserveCompleteOrder;
CancelCompleteOrder() Rec.CancelCompleteOrder;
And finally I created a menu button on the Sales Order form to call both functions in the sales line subform. Subsequently, those functions will call the functions in the Sales Line table, which will call the appropriate functions on the reservation form. This form never shows up. All this code above simulates the actions of opening that reservation form and clicking "Function" > "Reserve Current Line" and loops this simulation for every sales line available on the order.0 -
Cuypz,
Thanks a lot for your advice.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