我想过滤“项目”屏幕上显示的记录。我已经获得指令,看看是否限制项目的选择器(为ProjectID重写PXSelector?)也会限制屏幕上显示的记录,即用户无法导航到选择器不显示的记录。我认为并非如此,因为屏幕的视图不受选择器选择的限制 - 但我想验证这一点。
另外 - 限制显示在选择器中的记录(可能使用where子句重写Selector / BQL?) - 我查看了源DAC,对于我的生活,我可以&#39弄明白了。 ContractID上有一个PXSelector,它不使用我熟悉的SubstituteKey,而且ContractCD也有几个我不熟悉的属性 - 即PXRestrictor和PXDimensionSelector。 / p>
底线:
1。)限制屏幕选择器中显示的Project记录的最佳方法是什么?我可以添加到PXRestrictor属性吗?
2。)限制选择器的结果是否也会限制用户使用导航按钮在屏幕上导航到的内容?
答案 0 :(得分:0)
每当您需要限制对数据输入屏幕上的主记录的访问时,始终需要自定义查找DAC键字段和主数据视图。按照设计,在Acumatica中,DAC中的关键字段和主数据视图是完全独立的,这就是为什么需要修改两个部分以实现所需的结果。
例如,要拒绝在“项目”屏幕上访问已取消的项目,您应该将PXRestrictorAttribute添加到PMProject的ContractCD字段,并重新声明项目主数据视图:
for i in (a[1], a[4:7], a[9]):
print(i)