微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Crystal 报告数组未在组中的第一个项目之后将项目添加到数组

如何解决Crystal 报告数组未在组中的第一个项目之后将项目添加到数组

我有两个报告的设置方式与一个相同,而另一个则没有。 我初始化了第一组中的变量

 shared StringVar Array WcAr := [""];
 shared StringVar Array ShAr := [""];
 shared StringVar Shstr :="";
 shared StringVar Array RhAr := [""];
 shared StringVar Array UcAr := [""];
 shared StringVar Array TcAr := [""];
 shared StringVar Array BuAr := [""];
 shared StringVar Array RqAr := [""];
 shared StringVar Array SqAr := [""];
 shared StringVar Array BcAr := [""];
 shared NumberVar x := 1;

然后我将数组加载到组 4(工作中心)

 shared StringVar Array WcAr;
 shared StringVar Array ShAr;
 shared StringVar Shstr :="";
 shared StringVar Array RhAr;
 shared StringVar Array UcAr;
 shared StringVar Array TcAr;
 shared StringVar Array BuAr;
 shared StringVar Array RqAr;
 shared StringVar Array SqAr;
 shared StringVar Array BcAr;
 shared NumberVar x;

 (if not IsNull({@Work Center}) then WcAr [x] := {@Work Center};
   ReDim preserve WcAr[UBound (WcAr)+1];
   ShAr [x] := Cstr({Job_Operation.Act_Setup_Hrs},"####.##",2,",".");
   ReDim preserve ShAr[UBound (ShAr)+1];
   RhAr [x] := Cstr({Job_Operation.Act_Run_Hrs},".");
   ReDim preserve RhAr[UBound (RhAr)+1];
   UcAr [x] := Cstr({Job_Operation.Act_Unit_Cost},".");
   ReDim preserve UcAr[UBound (UcAr)+1];
   TcAr [x] := Cstr({Job_Operation.Act_Total_Cost}+ 
      {Job_Operation.Act_Run_Labor},".");
   ReDim preserve TcAr[UBound (TcAr)+1];
   x := x+1;);

我在用于每个数组的组页脚中输出这些

  shared StringVar Array WcAr;
  Join(WcAr,ChrW(10));
  

只有第一项被添加到任何数组中。 x 已经增加并且等于 17,这表明它通过了公式。我试过没有 if 语句和任何我能想到的东西,但我总是得到相同的结果。

解决方法

这应该有效,至少对于您的 WcAr。当您使用 Chr(10) 作为数组元素的分隔符时,我猜您只会看到第一个元素,因为字段格式不允许它增加。 => 在输出字段格式中激活“可以增长”,或使用另一个分隔符。

我的测试场景是这三个公式,其中COMMAND.STRING当然是输入字段:

初始化

shared StringVar Array WcAr := [""];
shared NumberVar x := 1;

添加

shared StringVar Array WcAr;
shared NumberVar x;

WcAr [x] := {COMMAND.STRING};
ReDim preserve WcAr[UBound (WcAr)+1];
x := x+1;

输出

shared StringVar Array WcAr;
Join(WcAr,',');

重要提示:添加公式字段必须放在重复的部分中,在我的情况下是详细信息部分,在您的情况下可能是组标题。输出公式只能显示收集到的值,当它放在最后一个值被收集的部分之后(或其中)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。