0

请帮我 :(

acumatica 中销售价格工作表 (AR202010) 屏幕中的价格代码字段。当我选择 priceType = customer 时,价格代码显示所有客户并且不遵循我已安装的行级安全性。

我在另一个屏幕上查看了一些客户字段,但过滤器仍然正确。

对不起,我英语不好,希望大家能明白我在说什么。非常感谢。

4

1 回答 1

0

这可能是 Acumatica 中的一个错误,我建议打开一个关于此问题的案例,以便他们可以在未来的版本中修复此问题。同时,您可以创建 ARPriceWorksheetMaint 的 PXGraphExtension 并覆盖 CustomerCode 视图以添加客户组限制。

public class ARPriceWorksheetMaintExtension : PXGraphExtension<ARPriceWorksheetMaint>
{

    #region Views

    public PXSelectJoin<BAccount,
                                    InnerJoin<Customer, On<Customer.bAccountID, Equal<BAccount.bAccountID>>>,
                                    Where2<
                                            Where<Match<Customer, Current<AccessInfo.userName>>>,
                                            And<
                                                Where<BAccount.type, Equal<BAccountType.customerType>,
                                                    Or<BAccount.type, Equal<BAccountType.combinedType>>>>>> customerCode;

    #endregion

}

在代码片段中,我创建了一个 customerCode 代码视图(带有小写 c),它将覆盖 Acumatica 的 CustomerCode 视图。在我看来,我向 Customer 添加了一个 Inner Join,这样我就可以在 Customer 上添加 Match<> ,这将对选择应用组限制。这将更改选择器属性的查询,因为在 ARPriceWorksheetMaint Acumatica 中重写了 ExecuteSelect 方法以更改 BQL 以使用 CustomerCode 视图的 BQL。

于 2019-10-08T15:06:06.040 回答