Acumatica 报表设计器,条件输出

Acumatica Report Designer, Conditional Output

在 Acumatica 报表设计器中,我想根据同一屏幕中单个自定义字段的内容有条件地填充单个订单类型的字段。

下面是我要作为条件基础的字段的图像:

在报表设计器中,与其他字段类似,可通过 [SOOrder.UserDocumentStatus] 访问此自定义字段。

我想如何对报告标题执行此操作的示例:如果文档状态为 "Order Confirmation",则标题字段将显示 "Order Confirmation",如果文档状态显示 "Regular" 它会在同一个标​​签中显示 "Regular"。

下面是一些我认为可能有用的函数的转储:

您可以尝试 **注意 .DocStatus 是对 DAC 中自定义字段名称的猜测,您应该能够 select 从表达式构建器中的字段下拉列表中获取它。

IIf([SOOrder.DocStatus] == 'Regular', 'Regular', 'Value if False')

如果你想测试整个 selection 使用开关

Switch( [SOOrder.DocStatus] == 'Regular', 'Regular', [SOOrder.DocStatus] == 'Factory Order', 'Factory Order', ...)

您可能需要将 == 换成 = 我现在不记得报表设计器是如何处理字符串相等性的。如果“”与''(使用''我认为这是正确的方法)也可以交换,如果它第一次不起作用。

我通常使用每个选项的 IIf 语句来完成它,这与使用 Switch 函数相同(但我在真正了解开关如何工作之前就这样做了,并且仍然发现它更容易理解)

=iif([SOOrder.DocStatus]=='Regular', 'Regular', '') +
iif([SOOrder.DocStatus]=='Factory Order', 'Factory Order', '') +
iif([SOOrder.DocStatus]=='Order Confirmation', 'Order Confirmation', '')