Options

Filter Data

Hi

I have Main Form & Sub Form . Main Form Source Table is Location & Sub Form is Sale Line Table. I have below code to filter record according to User Id Location . It should display only 1 record according to User Location . User should not be able to select any other Location. User should not be able to select Previous , Next buttons.


IF UserSetup.GET(USERID) THEN
BEGIN
UserSetup.TESTFIELD("Store No.");
IF (UserMgt.GetUserInfo2(USERID) <> '' )THEN BEGIN
SETRANGE("No.",UserMgt.GetUserInfo2(USERID));

END;
END;



Thanks

Answers

  • Options
    Slawek_GuzekSlawek_Guzek Member Posts: 1,690
    No. field in Sales Line refers to G/L or Item, or Reource etc, not to a Location.

    Your filtering code shold look someting like this:
    ...
    //IF UserMgt.GetUserInfo.. is not necessary if you use SETFILTER
    SETFILTER("Location Code", UserMgt.GetUserInfo2(USERID));
    
    - assuming that the UserMgt.GetUserInfo2(USERID) returns a valid location code (or locatin code list)

    Still the code above will display all Sales Lines sharing the same location code. If you want to have only one record displayed per user you have to make sure that only one record with unique location code per user exists in your Sales Line.
    Slawek Guzek
    Dynamics NAV, MS SQL Server, Wherescape RED;
    PRINCE2 Practitioner - License GR657010572SG
    GDPR Certified Data Protection Officer - PECB License DPCDPO1025070-2018-03
  • Options
    jsshivalikjsshivalik Member Posts: 67
    Hi Slawek

    I have Location as Main Form & Sales Line as Sub Form. I want that only one record according to user Location should get displayed . Problem i am facing when i click Next Button it display another Blank record for that Location.

    I have below code


    IF UserSetup.GET(USERID) THEN
    BEGIN
    UserSetup.TESTFIELD("Location");
    IF (UserMgt.GetUserInfo2(USERID) <> '' )THEN BEGIN
    FILTERGROUP(2);
    SETRANGE("No.",UserMgt.GetUserInfo2(USERID));
    FILTERGROUP(0);
    END;
    END ELSE BEGIN
    ERROR('Record Does Not Exists');
    END;

    FILTERGROUP(2);

    Thanks
  • Options
    Slawek_GuzekSlawek_Guzek Member Posts: 1,690
    edited 2018-05-22
    "No." field field is not unique on Sales Line. You can have many sales lines having all the same value No.

    Are you familiar with the concept of primary key?

    Slawek Guzek
    Dynamics NAV, MS SQL Server, Wherescape RED;
    PRINCE2 Practitioner - License GR657010572SG
    GDPR Certified Data Protection Officer - PECB License DPCDPO1025070-2018-03
Sign In or Register to comment.