1

私は Dynamics AX を初めて使用し、学習に一生懸命取り組んでいます。新しいテーブル、テーブルを表示する新しいフォームを作成しました。すべてが正常に動作します...

テーブルには ID、NAME、および SURNAME が列として含まれています。ユーザーに自分の名前と姓を入力してもらいたいのですが、システムによって作成される ID を一意にしたいのです。そのため、ユーザーが ID を入力できないようにしました。

ID を主キーとして作成しましたが、自動インクリメントする方法がわかりませんでした。

ヒントを教えてください。

4

1 に答える 1

5

私は同じ問題に直面していました。MSDN でこの説明を見つけました。数列を作成する手順については、以下およびこの Web サイトを参照してください。

更新しました

ステップ1

EDT の作成 - 文字列型

そこで、「AX Seq」というラベルの付いた「AXSeqEDT」という名前の EDT を作成しました。

テーブル (FirstTable) フィールドにドラッグ

ステップ2

ここで、新しい番号順序を作成します

num Sequence を作成するためのパスは

「モジュール::組織管理……共通…………数列……数列」

新規(番号順序)をクリックします

番号シーケンス フォームが開きます----4 つのセクションが含まれます。

セクション 1.識別.....NumberSeqCode と名前を指定します

セクション 2.スコープ パラメータ... ドロップダウンからスコープを選択します

セクション 3.セグメント.... 定数と英数字を追加します (追加ボタンをクリックしてドロップダウンから選択します)。

セクション 4.一般.....連続のチェックマークと「最小および最大および次の」フィールドの指定

設定を保存します

ステップ 3

それぞれのマニュアルコードをクラスに追加します - NumberSeqModuleURMODULE

およびテーブル - URMODULEParameters。

だから私はHRMモジュールに基づいて番号シーケンスを作成しています.....だから私はクラスNumberSeqModuleHRMとテーブルHRMParametersを使用しています

次に、AOT---Classes-NumberSeqModuleHRM---loadModule() に移動します。

注::ここで、既存の実装を参照してコードを追加できます

追加されたコードは::

/* setup discussion number sequence - it is global */

    datatype.parmDatatypeId(extendedtypenum(AXSeqEDT));

    datatype.parmReferenceHelp(literalstr("@SYS32633"));

    datatype.parmWizardIsContinuous(true);

    datatype.parmWizardIsManual(NoYes::No);

    datatype.parmWizardIsChangeDownAllowed(NoYes::No);

    datatype.parmWizardIsChangeUpAllowed(NoYes::No);

    datatype.parmWizardHighest(99999);

    datatype.parmSortField(12);



    this.create(datatype);

次に、AOT---Tables---HRMParameters---methods---新しいメソッドをクリックします

コードを New メソッドに追加します

注::ここで、既存の実装を参照してコードを追加できます

追加されたコードは

static client server NumberSequenceReference numRefAXSeqEDT()

{

    return NumberSeqReference::findReference(extendedTypeNum(AXSeqEDT));

}

ステップ 4

新しく作成した番号シーケンス参照をモジュールに追加するには、次のジョブを記述して実行します

以下のジョブは実行することが重要です。これがないと、新しい番号シーケンスはパラメーターの下の番号シーケンス フォームで使用できなくなります。これは、動的 AX の再起動中にすべての新しい番号シーケンスが読み込まれる AX 2009 からの動作の変更です。AX 2012 では、インストール中にすべての番号シーケンスがシステムに作成されるため、AOS を再起動しても新しい番号シーケンスの読み込みには影響しません。そのため、ジョブを実行して新しい番号シーケンスを読み込むことが重要です。

The Jobに追加されたコードは

static void jobName(Args _args)

{

    NumberSeqModuleHRM  NumberSeqModuleHRM = new NumberSeqModuleHRM();

    ;

    NumberSeqModuleHRm.load();

}

ステップ 5

上記のジョブを実行すると、新しく作成された番号シーケンス参照「AX Seq」が HRM モジュールに追加されます----番号シーケンス設定フォーム

確認しましょう

Number Sequence をクリックし、新しく作成された Number Seq Reference を識別します。

番号順序参照を識別した後----番号順序コードを番号順序参照に割り当てます.....ドロップダウンリストから選択して

ステップ 6

Forms Datasource メソッドの Create メソッドに Code を追加します。

Goto-AOT-Forms-FirstForm-Datasources-FirstTable-Methods-Override メソッド (作成)

public void create(boolean _append = false)

{

    ;

    super(_append);



    FirstTable.AXSeqEDT = NumberSeq::newGetNum(HRMParameters::numRefAXSeqEDT(),true).num();

}

ステップ 7

すべての設定を保存します.....フォームを開きます-FirstForm

于 2013-09-24T06:34:26.423 に答える