私はしばらくの間この問題をいじっていて、解決策を見つけることができないようです。私は別の人が最初に書いたコードに取り組んでいます。彼がそれを完成させる可能性がなかったので、私の仕事はそれを機能させることです。
1月から12月までのすべての月を含む配列要素を使用して、MpasMthSalesIndexというEDTを作成しました。
フォームから以下のメソッド(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;
}