PxProjection - 如何在Select类中使用滤镜参数?

时间:2017-07-25 14:35:24

标签: acumatica

我以选择DAC特定字段的方式使用PxProjection属性。我应该如何在select命令中传递过滤器参数(与图中使用Or<CRInsurancePolicy.currentreportsTo, Equal<Current<BAccountParam.bAccountID>>>相同的方式),以便在图表中过滤数据?

1 个答案:

答案 0 :(得分:0)

我建议在PXProjection中查看Select2属性。 Select2属性允许使用过滤器 - 所有可能的BQL命令(Join,Where,GroupBy,OrderBy)。

这里的例子是,该属性连接两个表中的数据并将其投影到单个DAC:

[Serializable]
[PXProjection(typeof(Select2<Supplier,
    InnerJoin<SupplierProduct,
        On<SupplierProduct.accountID, Equal<Supplier.accountID>>>>))]
public partial class SupplierPrice : IBqlTable
{
    public abstract class accountID : PX.Data.IBqlField
    {
    }
// The field mapped to the Supplier field (through setting of BqlField)
[PXDBInt(IsKey = true, BqlField = typeof(Supplier.accountID))]
public virtual int? AccountID { get; set; }
public abstract class productID : PX.Data.IBqlField
{
}
// The field mapped to the SupplierProduct field
// (through setting of BqlField)
[PXDBInt(IsKey = true, BqlField = typeof(SupplierProduct.productID))]
[PXUIField(DisplayName = "Product ID")]
public virtual int? ProductID { get; set; }
...
}