5

誰かがバッチの狂気を理解するのを手伝ってくれませんか?

約 50 のバッチ ジョブを持つ Axapta 3.0 実装をデバッグしようとしています。description()バッチ化されたクラスのほとんどはメソッドを実装していないため、バッチ リストフォーム (基本>>お問い合わせ>>バッチ リスト) を見ると、説明フィールドは空白です。Batch GroupStart Timeなどを確認できますが、実際にどのクラスが呼び出されているかはわかりません。

Batchテーブルには、クラスのIDプロパティを識別するClassNumという隠しフィールドが含まれています。IDから対応するクラスを見つける方法を誰か教えてもらえますか? 犯人を特定したら、説明を追加できます。

AOT で標準の検索機能を使用してみましたが、検索されません。

どんな提案でも大歓迎です!

どうもありがとう、マイク

4

3 に答える 3

7

Jay の回答は、2 つの包括的なソリューションを提供します。

グローバル クラスClassId2Nameが同じことを行うことを発見したので、次のようにするだけです。

display str Classname()
{
   return ClassId2Name(this.ClassNum);    
}
于 2008-10-07T06:09:10.920 に答える
2

これを行うには、少なくとも 2 つの方法があります。DictClassクラスを使用できます。

display ClassName className()
{
    DictClass dictClass = new DictClass(this.ClassNum);
    ;
    if(dictClass!=null)
        return dictClass.name();
    return '';
}

またはUtilIdElementsテーブルを使用して:

display ClassName className()
{
    UtilIdElements utilIdElements;
    ;
    select utilIdElements where utilIdElements.id==this.ClassNum && utilIdElements.recordType==UtilElementType::Class;
    if(utilIdElements)
        return utilIdElements.name;
    return '';
}
于 2008-10-07T16:44:01.607 に答える