我们知道,数据隔离其实是每个项目都会面临的问题,往大了说,有时客户会提出不同的Subsidiary之间需要进行数据隔离;从小的方面来说,同一个角色下的不同Employee可能也需要进行数据隔离。最近我们碰到的实际案例就是同一个角色的不同库管人员想实现“我”的库存类单据在保存后,“别人”不可以进行修改或者行下一步动作,那在不使用工作流的情形下我们能否实现呢?于是我们就针对Employee Restrictions的小功能进行了一个测试~
准备工作如下:
首先,我们确定主要对NetSuite中的Item Receipt(入库),Item Fulfillment(出库),Inventory Adjustment(库存调整),Inventory Transfer(库存转移)以及Transfer Order(库存调拨)这五类单据进行测试;
其次我们要有自定义的一个关于Warehouse的角色,并且对该角色的Employee Restrictions选项进行仅我及下属的设置,可以勾选Allow viewing:
最后一步是需要在NetSuite中有两个不同的账号(Vicky Min和Vicky MHY),都分别挂上Warehouse Test Role同一个角色,这样我们才能保证是同一角色下不同人员的测试。
Case 1
当使用Vicky Min创建PO并点击Receive执行收货并保存完成后,此时如使用另一账号想要更改原始IR单据,系统则会出现提示:我们被限制不可以改动此条记录。
使用A账号点击Edit后则出现Notice
系统提示不可更改此记录
Case 2
当使用Vicky Min创建SO并点击Fulfill执行发货并保存完成后,此时如使用另一账号想要更改原始IF单据,系统则也会出现提示:我们被限制不可以改动此条记录,和Case1 情况一致。
Case 3
当使用Vicky Min创建IA单据并直接保存后,此时如果使用另一账号想要更改原始的IA单据,点击Edit后系统并不会出现任何提示,且允许修改及保存,因此此功能对IA单据并没有限制的作用。
原始IA单的调增数量为100
使用另一账号更改调增数量为200
不同账号间可以进行改动保存
Case 4
当使用Vicky MHY创建IT单据并直接保存后,此时如果使用另一账号想要更改原始的IT单据,点击Edit后系统并不会出现任何提示,且允许修改及保存,因此此功能对IT单据并没有限制的作用。
不同账号间可以进行改动保存
Case 5
涉及到TO单可能稍稍有些复杂,其实我们有两种不同的操作步骤作为测试。
当A创建了TO单后,另一账号B是可以找到此TO单直接更改上面的任何信息,同时也可以“代替”A直接履行发货及收货的动作,这就说明了限制功能对TO单是不起作用的。
调整了调拨数量并履行
具体的测试过程是:
- 先使用A账号创建TO单,并使用B账号更改了调拨的数量并执行了Fulfill的动作;
- 又使用A账号返回到TO单并执行了Receive的动作。
我们发现这一连串的动作并没有受到任何的阻碍。因此,我们能够看到原本的TO单下面是挂了一张由B创建的IF发货单以及由A创建的IR收货单的。
IF+IR
另一个操作步骤就比较简单,当A创建了TO单并执行Fulfill后,B是不可以去更改A创建的IF单子的,一旦点击Edit,系统会提示被限制,类似于Case1的提醒。但是B依旧可以对TO单执行Receive的动作,当点击Receive时,IR单的明细行会出现相应等待收货明细的信息,可以进行Receive的动作。
两个操作步骤虽然不同,但是我们都可以对TO单本身进行更改,所以限制功能对TO单本身是没有限制作用的。
综上,此次关于Employee Restrictions的测试我们得出如下结论,在这里与大家共享:
1. PO-IR受限制,互相之间不能修改;
2. SO-IF受限制,互相之间不能修改;
3. IA库存调整, IT库存转移,库存调拨TO单是不受限制,可以互相更改。
因此,如果需要进一步限制库存类的单据,更为保险的方式是使用工作流锁定,保证只有创建人才可以修改单据,其他人则不行。
以上内容及结论如有错误或补充,欢迎大家随时指正,我们共同探讨研究,一同分享进步~