A value is not found using SETRANGE and then?

robinho81
Member Posts: 48
Hello,
I've got a question. I'm trying to get the SalesHeader number on the productionorder papers. I'm using the code below to look for the correct Source ID from the Productionorder number in the Reservation Entry and than setrange the field Positive to FALSE to get the salesheader. But it goes wrong when the field Positive=FALSE is not there. So it means there is no direct connection to a salesorder and I want it to print 'Stockorder' instead of SalesHeader but that does not work. I get the message: Source ID .... and Positive=FALSE are not there. Can someone help me?
Reservation Entry - OnAfterGetRecord()
"Reservation Entry".SETRANGE("Reservation Entry"."Item No.","Production Order"."Source No.");
IF FIND THEN
"Reservation Entry".SETRANGE("Reservation Entry"."Source ID","Production Order"."No.");
IF FIND THEN
BEGIN
"Reservation Entry".SETRANGE(Positive,TRUE);
Reserveringsnummer := "Reservation Entry"."Entry No.";
IF Reserveringsnummer <> 0
THEN
BEGIN
Recreserveringspost.GET(Reserveringsnummer);
Recreserveringspost.SETRANGE(Positive,FALSE);
IF FIND
THEN Verkoopordernummer := Recreserveringspost."Source ID"
ELSE Verkoopordernummer := 'Stockorder';
END;
END;
I've got a question. I'm trying to get the SalesHeader number on the productionorder papers. I'm using the code below to look for the correct Source ID from the Productionorder number in the Reservation Entry and than setrange the field Positive to FALSE to get the salesheader. But it goes wrong when the field Positive=FALSE is not there. So it means there is no direct connection to a salesorder and I want it to print 'Stockorder' instead of SalesHeader but that does not work. I get the message: Source ID .... and Positive=FALSE are not there. Can someone help me?
Reservation Entry - OnAfterGetRecord()
"Reservation Entry".SETRANGE("Reservation Entry"."Item No.","Production Order"."Source No.");
IF FIND THEN
"Reservation Entry".SETRANGE("Reservation Entry"."Source ID","Production Order"."No.");
IF FIND THEN
BEGIN
"Reservation Entry".SETRANGE(Positive,TRUE);
Reserveringsnummer := "Reservation Entry"."Entry No.";
IF Reserveringsnummer <> 0
THEN
BEGIN
Recreserveringspost.GET(Reserveringsnummer);
Recreserveringspost.SETRANGE(Positive,FALSE);
IF FIND
THEN Verkoopordernummer := Recreserveringspost."Source ID"
ELSE Verkoopordernummer := 'Stockorder';
END;
END;
0
Comments
-
Problem is in this code
Recreserveringspost.GET(Reserveringsnummer); Recreserveringspost.SETRANGE(Positive,FALSE);
What do you want to do with that?
I assume that it should be... BEGIN if Recreserveringspost.GET(Reserveringsnummer,FALSE) then Verkoopordernummer := Recreserveringspost."Source ID" else ... OR ... BEGIN Recreserveringspost.SETRANGE("Entry No.",Reserveringsnummer ); Recreserveringspost.SETRANGE(Positive,FALSE); IF FINDFIRST THEN Verkoopordernummer := Recreserveringspost."Source ID" else ...
But not GET and SETRANGE and FINDFIRST together...0 -
Thank you very much!! It works:D0
-
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