i want add restriction on posting of item journal as per location for that i have done following implementation:
usersetup table:91 created field :loc. area code 200 run table adding value to this field as red|blue|green
on item jounal onaction of post addid code as:
UserSetup.RESET;UserSetup.SETRANGE("Loc area",Rec."Location Code");IF UserSetup.FIND('-') THEN BEGINCODEUNIT.RUN(CODEUNIT::"Item Jnl.-Post",Rec);CurrentJnlBatchName := GETRANGEMAX("Journal Batch Name");CurrPage.UPDATE(FALSE);ENDELSEMESSAGE('USER NOT VALID FOR THIS LOCATION: %1',"Location Code");
now it not allowing to post user with location code as blue,and red on item journal it giviong me error message why so.
One thing I noticed is that you are trying to put a filter string 'red|blue|green' into SETRANGE, which I think is the cause of your error. Read this to learn about the SETRANGE itself: https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/methods-auto/record/record-setrange-method
You can only use SETRANGE for a single value, or a 'fromValue / toValue' pair of values, so everything between 'fromValue' and 'toValue inclusive.
If you are building a filter string like 'red|blue|green', you will need to use SETFILTER instead, read this: https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/methods-auto/record/record-setfilter-method