1

AX で windows-environment-variables を利用する可能性はありますか?

NormalImage上のプロパティMenuItem。私はsthを使いたいです。明示的なユーザー名の代わりに %USERNAME% のように。たとえば、クラスでは、WINAPIマクロを使用してユーザー フォルダー変数を参照できます。たとえばCSIDL_MYPICTURES、ユーザーごとのパスにアクセスできます。AOT-object-properties では、マクロを参照する可能性はありません...

これを達成する方法はありますか?

4

3 に答える 3

0

クライアント名とマシン名を取得する例

static void testGetClientMachineName(Args _args)
{
    str localClientname, terminalServerName;
    ;
    localClientname = System.Environment::GetEnvironmentVariable('CLIENTNAME') ;
    info(localClientname);

    terminalServerName = System.Environment::get_MachineName();
    info(terminalServerName);

}
于 2015-02-26T16:55:02.223 に答える
0

いいえ、AOT でこれを行うことはできません。X++ コードを使用して実行時に一部のプロパティを変更できますが、私の知る限り、MenuItem の画像を動的に変更することはできません。

一部のメニュー項目を表示/非表示にすることができます。この方法でやろうとしていることをシミュレートできるかもしれませんが、これは AX の設計パターンと完全には一致していません。

于 2013-02-15T14:17:10.310 に答える
0

はい、.Net フレームワークを使用して環境変数を取得するか、組み込みの AX 関数を使用できます。私が入力したこの例を参照してください。

static void Job85(Args _args)
{
    System.String   systemString;
    str             marshalString;
    ;

    // Built in AX function
    info(strfmt("%1, %2, %3", xUserInfo::find().networkAlias, xUserInfo::find().networkDomain, xUserInfo::find().name));

    // .Net Framework
    systemString = System.Environment::GetEnvironmentVariable('username');
    marshalString = systemString; // Marshal it
    info(strfmt("%1", marshalString));
}

http://msdn.microsoft.com/en-us/library/system.environment.getenvironmentvariable.aspxを参照してください。

于 2013-02-19T16:26:29.420 に答える