我已经摆弄了这个问题一段时间,似乎无法找到解决方案。我正在编写另一个人最初编写的一些代码,我的工作是让它工作,因为他没有机会完成它。
我创建了一个名为 MpasMthSalesIndex 的 EDT,其中包含所有月份的数组元素,即 Jan - Dec。
我从表单调用下面的方法(位于 MpasItemSales 数据源中)以获取返回的数组,如下所示:
[MpasMthSalesIndex] = MpasItemSales.MthSales(Year(today())-2);
给我错误:“操作数类型与运算符不兼容”
它不起作用。这就是原始代码,我已经尝试了所有我能想出的方法来返回这个数组。有谁知道我该怎么做?
这是我调用的方法:
我所做的是初始化 MpasMthSalesIndex Ret,并用值填充它并尝试返回它,这里没有错误,但是当我尝试从我需要它的表单将它分配给 MpasMthSalesIndex 时出现错误...
MpasMthSalesIndex MthSales(Yr _yr)
{
int i;
int m;
date d = SystemDateGet();
date e;
Qty YrSales[366];
MpasMthSalesIndex ret;
;
switch(_yr)
{
case(Year(d)) : [YrSales] = this.MpasSalesCurYr;
d = dateStartYr(d);
break;
case(Year(PrevYr(d))) : [YrSales] = this.MpasSalesPrevYr;
d = dateStartYr(PrevYr(d));
break;
case(Year(PrevYr(PrevYr(d)))) : [YrSales] = this.MpasSalesPrev2Yr;
d = dateStartYr(PrevYr(PrevYr(d)));
break;
case(Year(PrevYr(PrevYr(PrevYr(d))))) : [YrSales] = this.MpasSalesPrev3Yr;
d = dateStartYr(PrevYr(PrevYr(PrevYr(d))));
break;
}
e = dateEndYr(d);
while (d<e)
{
i = DayOfYr(d);
m = MthOfYr(d);
ret[m] += YrSales[i];
d++;
}
return ret;
}