在Acumatica中将SQL转换为BQL

在Acumatica中将SQL转换为BQL,acumatica,Acumatica,我想从SQL翻译过来 到Acumatica BQL 请帮助我获取此信息。有几种方法可以做到这一点: 1。使用In3/Or和BQL常量 您需要做的第一件事是创建表示“A”和“B”的BQL常量。 就像这样: public class constantA: PX.Data.Constant<string> { public constantA() : base("A") { } } public class constantB: PX.Data.Constant

我想从SQL翻译过来

到Acumatica BQL


请帮助我获取此信息。

有几种方法可以做到这一点:

1。使用In3/Or和BQL常量

您需要做的第一件事是创建表示“A”和“B”的BQL常量。 就像这样:

public class constantA: PX.Data.Constant<string>
{
    public constantA() : base("A") { }
}
public class constantB: PX.Data.Constant<string>
{
    public constantB() : base("B") { }
}
公共类常量:PX.Data.Constant
{
public constantA():基(“A”){}
}
公共类:PX.Data.Constant
{
public constantB():基(“B”){}
}
这将允许您在BQL查询中使用A和B。(您可以在T200培训中找到更多信息,例如3.1:为查询页面提供数据) (根据参数类型,您可以使用
PX.Data.Constant
PX.Data.Constant
等)

之后,您可以编写BQL:

PXSelect<Table, Where<Table.field, In3<constantA, constantB>>>
PXSelect
(或选择
px

2。在中使用并且是必需的

PXSelect<Table, Where<Table.field, In<Required<Table.field>>>>.Select(graph, new string[]{"A","B"}) //you may need to use array of objects instead of array of strings
PXSelect.Select(图形,新字符串[]{“A”,“B”})//您可能需要使用对象数组而不是字符串数组

这种方式允许您在运行时组合常量列表,并将其作为参数传递给查询。参数应为相应类型的数组(本例中为字符串数组)。

仅选择一项,其中field=“A”。field=“B”存在

var-arr=新字符串[]{“A”,“B”};
PXSelect.Select(新建PXGraph(),arr,**arr**)
事情发生了,但为什么? 谢谢

PXSelect<Table, Where<Table.field, In<Required<Table.field>>>>.Select(graph, new string[]{"A","B"}) //you may need to use array of objects instead of array of strings
    var arr = new string[]{"A","B"};

    PXSelect<Table, Where<Table.field, In<Required<Table.field>>>>.Select(new PXGraph(), arr ,**arr**)