Confidential Purchase orders

Hi,

I want to create purchase orders trough purchase requistion and the order should not be able for every user to see. Even when it has gone through the requision and is in the purchase order form. Does anybody done this or similar?

Ha

You can achieve it through record level security.

Yes I know but that is unfortunately out of the scope.

One thing I was thinking about was to create a new purchase order type and then create a new user group and go that way.

If you go this route, I’d suggest you create a parameters table that displays all of the purchase order types with a “restricted” checkbox, then perhaps another tab where you add permitted user groups. I’d use the same functionality as the user group form (SysUserGroupInfo) where they use a SysListPanel to move users back/forth, just use groups instead.

So using standard functionality is out of scope but modifying the system to cope with a requirement standard does out of the box is in scope? Strange.

I’ve seen two things with this. Many users are afraid of RLS and plain just don’t trust it. I don’t understand why, but I’ve had several clients refuse to use it. The second thing, there are some bugs with it on older releases, and a company I work for is on 2009 SP1 RU1, and RLS does not work and they’re heavily customized, so it’s a HUGE lift to get to RU7, especially when they’re considering going 2012.

But yes this is odd.

I agree with you but as it is now the client wants to minimize the use of RLS so that’s why that is out of scope. But my suggestion was to use it first as well.

if do not want to use the RSL there is another way

you have at first to get the current user and then filter by this user in execute query method on data source

this method is help you to get the current user :

curUserId();

and then you go to you form from AOT and then you will choose data source and choose your table for example PurchTable

and then ope the table and right click on the methods and choose override method and choose execute query

and wright the following code inside this function :

public void executeQuery()

{

;

this.query().dataSourceTable(tablenum(PurchTable)).addRange(fieldnum(PurchTable, PurchPlacer)).value(curUserId());

super();

}

this code will generate filter automatic for you by the current user account and now there is no need to RLS

Note : but first you have to be sure from the user is added as employee and if that’s ok this will work with you