如何选择px并将其放在var上



嗨,我是 acumatica 开发的新手,我如何 px选择单个列并从 bql 命令中获取结果,你能告诉我如何做到这一点吗,谢谢。这是针对销售订单的,我一直在网上搜索样品,但它与我的问题不同,有人可以帮助我吗

var str = "10020";
var cmd = PXSelect < SOOrder , Where < SOOrder.OrderNbr, Equal<
str>>>;

然后从CMD获取字符串结果 我不知道如何正确编码,提前谢谢。 我一直在尝试几种代码来了解如何做到这一点,但它总是返回一个空值。

你可以搜索PXSelect的Acumatica源代码,你可以找到很多例子。看看SOOrderEntry图,有很多和少数使用SOOrder。

Acumatica 训练还应该有助于学习 Bql 语句和查询结果。

培训资源:openuni.acumatica.com

帮助文档:help.acumatica.com

要执行一个简单的PXSelect,您将拥有主DAC(在本例中为SOOrder(,后跟一个Where条件。在字段的 where 条件中,您将使用"当前<>"或"必需<>"来传入值。电流将从给定DAC的缓存中获取当前值。字段名称。必需<>允许您将参数传递给 PXSelect。由于您没有定义视图并且需要选择记录,因此以 .Select(( 在其中传入图形以用于选择和参数(如果有(。

如果我们看一下SOOrderEntry图,就会发现一个使用SOOrder和Current的例子<>

SOOrder associatedOrder = PXSelect<SOOrder, Where<SOOrder.origOrderType, Equal<Current<SOOrder.orderType>>,
And<SOOrder.origOrderNbr, Equal<Current<SOOrder.orderNbr>>>>>.Select(this);

如果我们将其更改为采用参数,我们将拥有...

SOOrder order = PXSelect<SOOrder, Where<SOOrder.orderType, Equal<Required<SOOrder.orderType>>,
And<SOOrder.orderNbr, Equal<Required<SOOrder.orderNbr>>>>>.Select(this, "SO", "123456");

然后从那里使用返回的对象。如果为 null,则找不到该条件的值。如果需要多个记录,则可以在循环中使用语句或在结果集中捕获语句。

if(order?.OrderNbr != null)
{
//good to go
}

最新更新