我创建了一份水晶报告,根据订单编号对产品进行分组。
我创建了一个公式,根据每个产品上名为“差异”的字段是否等于0,显示“部分完成”或“完全完成”文本。如果“差异”为0,则显示“完全完成”,反之亦然。
我需要做的是显示整个订单号的相应消息(即,如果订单的任何产品有差异!= 0然后显示'部分完成'。如果所有产品都有差异=对于订单= 0,然后显示'完全完成'。
这是我到目前为止尝试的代码:
StringVar ouputText;
if {AD_999_SB_Fulfillment__Summary.FulfillmentPicking.Difference} = 0 then
ouputText := 'Full'
else
ouputText := 'Partial';
ouputText;
我假设我需要某种for循环来遍历订单的所有产品,并检查是否有任何订单有差异!= 0然后根据所有产品是否有更新消息差异== 0或其中一个产品通过产生差异来打破条件!= 0。
答案 0 :(得分:1)
循环是一个长时间的过程,而不是根据"订单"然后将产品放在细节部分。这将自动循环订单中的整个产品。
创建名称为reset的公式并将其放在组头中。代码如下。
共享stringVar数组y;
y:=" ";
join(y);
创建公式并将其放在详细信息部分。这将获取结果并将其存储在数组中以供将来使用。使用以下代码。
StringVar ouputText;
共享stringVar数组y;
如果{AD_999_SB_Fulfillment__Summary.FulfillmentPicking.Difference} = 0则 y:= y +'完整' 其他 y:= y +'部分';
if {AD_999_SB_Fulfillment__Summary.FulfillmentPicking.Difference} = 0 then
ouputText := 'Full'
else
ouputText := 'Partial';
ouputText;
在组页脚中创建另一个公式,以显示订单的结果是完整还是部分。
共享stringVar数组y;
如果"部分"在y 然后"部分" 否则"完全&#34 ;;