AIFの使用を検討しましたか?
AXを直接呼び出すことを主張する場合の簡単な方法:
静的X++メソッドを作成し、次を呼び出します。
- ジャーナルを作成するため
- ジャーナル行を作成するための、パラメータとしてのフィールド
- ジャーナルを投稿する場合は、
infolog
(文字列として)戻ります
AXメソッドに元帳転記クラスを使用して配管を実行させます。
投稿はすべてまたはまったくありません(エラー行が新しいジャーナルに転送される可能性があります)。エラーが発生した場合、バウチャー番号が再利用されます。これは、バウチャー番号が投稿時に割り当てられ、ジャーナル名に設定できることを意味していると思います。
infolog
戻り値を文字列に変換して、C#側を単純化することができます。
文字列に変換するX++コード:
client server static str infoCon2List(container c)
{
TextBuffer t = new TextBuffer();
str info;
int i;
int n;
for (i = 1; i <= conlen(c); i += 2)
{
info = conpeek(c,i+1);
n = strFind(info,'\t',strLen(info),-99999);
t.appendText(strFmt('%1\t%2\t%3\n', conpeek(c,i), n > 1 ? strReplace(subStr(info,2,n-2), '\t', '\\') : '', substr(info,n+1,9999)));
}
return t.getText();
}
それを呼び出す方法:
int e = infolog.num();
try
{
doThePosting(...);
}
catch //anything
{
exceptionTextFallThrough();
}
return Info::infoCon2List(infolog.copy(e+1,infolog.num()));