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,',');

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...