Report Acumatica报表设计器,条件输出

Report Acumatica报表设计器,条件输出,report,conditional-statements,acumatica,Report,Conditional Statements,Acumatica,在Acumatica报表设计器中,我希望根据同一屏幕中单个自定义字段的内容有条件地填充单个订单类型的字段 下面是我要基于条件的字段的图像: 在报表设计器中,可以通过[SOOrder.UserDocumentStatus]访问此自定义字段,与其他字段类似。 我希望如何使用报告标题执行此操作的示例:如果文档状态为“订单确认”,则标题字段将显示“订单确认”,如果文档状态为“常规”,则在同一标签中显示“常规” 下面是一些我认为可能有用的函数: 您可以尝试**注意。DocStatus是对DAC中自定义

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

下面是我要基于条件的字段的图像:

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

我希望如何使用报告标题执行此操作的示例:如果文档状态为“订单确认”,则标题字段将显示“订单确认”,如果文档状态为“常规”,则在同一标签中显示“常规”

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

您可以尝试**注意。DocStatus是对DAC中自定义字段名称的猜测,您应该能够从expression builder中的字段下拉列表中选择它

IIf([SOOrder.DocStatus] == 'Regular', 'Regular', 'Value if False')
如果要测试整个选择,请使用开关

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

您可能需要将==替换为just=我记不清报表设计器目前是如何处理字符串相等的。而“vs”(我认为使用“我认为这是正确的方式”)也可以在第一次不起作用时进行交换

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

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