赞
踩
“对于系统中某个功能的深度挖掘有时候来源于客户的实际需求”,这句话是自己最近的心得体会~最近在项目上就碰到一个自己以前不曾接触过的位置,有关于Subtabs和Sublists的设置。客户的具体需求可以描述为,希望Warehouse角色下所看到的PO/SO界面上不能出现价格的相关信息,也就是我们经常在PO/SO上看到的Amount,Rate,包括Total值等信息都是需要隐藏起来的。今天我们就以PO为例说说我们怎样实现了这个合理的需求~
PO需要隐藏的信息
我们总体的实现思路是:通过建立自定义Form,隐藏需要屏蔽的价格字段,并且限定Form只给到对应的Warehouse角色。
说做就做,在自定义Form的界面,我们很容易地就可以将Screen Fields当中的Total/Subtotal,Sublist Fields 中的Unit Price以及Amount勾掉,但是会发现Sublist中的Items+金额这个类似于label一样的内容是无法在自定义Form界面上直接勾掉的。
Total,Subtotal可直接勾掉
Unit Price,Amount可直接勾掉或删除label内容
Sublist中的Items则无法勾掉
这一点可让我们犯了难,那怎么办呢?经过小伙伴的一番头脑风暴后,我们决定采取“偷梁换柱”的方式来实现我们的目标,意思是用代码隐藏掉Warehouse角色下所有PO的Sublist(Item/Expense)的信息,然后仅保留我们限制的Form上有自己设置的Subtab, Sublist,听上去稍为有点绕,但理清楚了逻辑后,实现起来的过程还是比较顺畅的~
具体步骤如下:
1.创建一个去除Amount的Saved Search。因为在建立Sublist的时候要选择一个Search,所以我们必须要先建立一个符合自己需求的Saved Search;
2.创建一个新的Subtab。因为后面我们会用建立的这个Subtab替换掉原本的Items Subtab;
3.创建一个新的Sublist。因为后面我们需要这个Sublist替换掉原本的Items+金额的部分;
4.调整自定义PO Form相应设置。Tab标签下勾选上我们自定义的Item以代替先前的Tab,而其他的PO Form上需要将此项勾掉,保留先前Amount,Total,Unit Price设置;
5.对角色进行设置。Forms标签下Transaction中限定Form,对应角色需要限制使用唯一的PO/SO。
具体步骤图示如下:
1. 创建一个去除Amount的Saved Search;
建立的Search一定要勾选可以用于Sublist
Results中不包含Amount的信息
Filters中加上Internal ID(我的开发伙伴设置的)
2. 创建一个新的Subtab;
保证Subtab中有新建的Item Subtab
3. 创建一个新的Sublist;
Tab选择之前新建的Item,Search选择新建的PO Search,勾选Purchase
且保证Sublist中已添加对应Search
4. 调整自定义PO Form对应的设置;
限制自定义Form勾选上Item,其他的Form上将Item项勾掉
Exchange rate同样也勾掉
5. 对应角色进行设置。
限制角色只看到对应自定义的PO/SO
但是最重要的其实是第一步,需要用到代码控制(这是我不涉及的领域,这里就不多说了)来隐藏Item和Expense子列表,因为只有完成了信息的全部隐藏后我们才能放上自己自定义的内容,这一点是我的开发小伙伴帮忙实现的,在这里非常感谢~
所以最终实现的PO界面就如下图所示,将所有相关价格的信息都进行了隐藏,留下了其余信息~PO最终实现界面
另外,关于SO的设置会简单得多,因为SO上的Sublist是不带金额的,所以对于SO来说就只需要把你要隐藏的信息(Total/Subtotal/Rate/Amount)在自定义Form的时候勾掉或者删除掉label即可,友情提示:SO比PO多的有Discount Item,Shipping Cost以及Tax Total这几个信息,这些也是要在自定义Form时一起勾掉的,完成后再对相应角色进行Form的限定(限制角色只看到对应自定义的SO)就可大功告成啦!
如有纠正或补充或更好的思路及办法,欢迎各位随时联系,愿我们共同进步~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。