問題タブ [dynamics-ax-2012-r3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
axapta - CustVendOpenTransManager による VendTransOpen マーキング
VendOpenTrans にボタンがあり、そのクリックされたメソッドを実装しました。
これでうまくいくと思ったのですが、例外が発生して AX が閉じてしまいました。
次の行をコメントアウトすると、基本的にグリッド内のすべての行をマークして機能します。
したがって、より明確にするために、残っているのは次のとおりです。 manager.updateTransMarked(vto, NoYes::Yes);
このように、それは機能します。私が見る限り、その選択を追加すると何かが起こります。
デバッグを使用して確認できましたが、forループによって例外がスローされたと思います..
これについてヒントを得る機会はありますか?
axapta - テーブル リレーション エラー値が範囲外です
斧 2012 R3。グループ データを保持する新しいテーブルを作成しました (AgencyTable と呼びましょう)。AgencyTable を参照し、RefRecId を拡張する RefRecId を作成しました (AgencyTableRefRecId と呼びましょう)。
RatingsTable という別の新しいテーブルを作成し、AgencyTableRefRecId を追加しました。RatingsTable には AgencyTableRefRecId の AgencyTable との関係があります (カーディナリティ = OneMore、RelatedTableCardinality = ExactlyOne、RelationshipType = Association)。また、RatingsTable の参照を BankAccountTable に追加し、BankAccountId に関係を作成しました。
AgencyTable レコードがあります。RatingsTable にレコードを作成し、AgencyTable を参照するフィールドをクリックすると、ドロップダウンが表示され、AgencyTable レコードが表示されますが、レコードを選択すると、次のエラーが表示されます。許容値は -9223372036854775808 ~ 9223372036854775808 の範囲です (int64 の最大値と最小値)。
これは非常に単純な関係であり、データを関連付ける一般的な方法です。私はedtをチェックしました。関係を確認しましたが、問題の原因が見つかりません。(BankAccount との関係は正常に機能します)。
データ辞書が同期されました。AOS は最近再起動されました。
問題の原因は何ですか?
axapta - 小売 webApi サービス AX7
などの webAPI を使用して小売サービス経由で AX7 データにアクセスしようとしています。
https://AX---.cloud.dynamics.com/commerce/customer
モバイルアプリのデータを直接使用できるようにします。
私は、retailsdk の部分が苦手です。誰でも標準サービスのリストに、URL で渡す必要のあるパラメーターを提供できますか?
または、標準サービスを webAPI として公開するために他に必要なものがある場合。
また、これにはどのような認証が必要で、URL 自体でそれを提供する方法を教えてください。
axapta - ルックアップ列の幅を変更する
2 つの列を持つルックアップを作成しました。最初の列には整数が含まれていますが、2 番目の列には長い名前があり、ここで問題が発生します。ユーザーは、文字列全体を確認するために水平方向にスクロールする必要があります。その場合でも、列の幅はデータ全体を表示するのに十分な大きさではありません。
私はこれを見つけました:
しかし、どこに何を追加すればよいのか正確にはわかりません。
よくわかりませんが、パラメーター セクションで、SSRS レポートを指すメニュー項目でこのルックアップが使用されているという事実を追加する必要があるかもしれません。
更新 1:
次のようなルックアップフォームで動作するようになりました:
そして、このフォームのinitメソッドに次を追加しました:
私が本当に必要とするフィールドを意味します。
メカニズムを完全に理解しているかどうかはわかりませんが、この正確なフィールドを実際に開始した場所から DialogField に戻す方法を知っているようです。
ルックアップのように見せるために、デザインのスタイルを Auto のままにしましたが、WindowTypeをPopupに、HideToolBarをYesに、FrameをBorderに変更しました。
axapta - フォームの X ボタンでデータを保存できないようにする方法
フォームの (X) ボタンをクリックすると、データが保持されます。(X) ボタンを使用してフォームを閉じ、データを保存しないようにしたい。なぜこれが起こっているのか誰にも分かりますか?
シナリオ:
Form1 には [車の情報を入力] ボタンがあり、このボタンをクリックすると別のフォーム Form2 が開き、すべての車の情報を入力できます。[OK] ボタンをクリックすると、Form2 が閉じ、Form1 が Form2 の情報で更新されます。
私の問題:
Form2 の [X] ボタンをクリックすると、Form1 は Form2 の情報で更新されます。これを防ぐ方法はありますか?
助けてくれてありがとう!
axapta - コントローラーでクエリを取得する
コントローラークラスでクエリを取得するこれら2つのバージョンがあります。
prePromptModifyContract メソッド:
と
ここには奇妙なメランジがあります。私のクエリは、一時テーブルと共にデータ プロバイダー クラスに属性として追加されます。processReport メソッドでは、クエリが実行されますが、範囲はコントローラーでのみ設定されます。そのため、正確なフローと、コントローラーが上記の強調表示された行を使用してクエリへの参照を取得する方法は何ですか?
もう 1 つ、前述のメソッド呼び出しの違いは何ですか? 現時点では両方とも機能しますが、どちらか一方を使用する必要がある理由はありますか?
regex - TextBuffer .replace() の @ 記号に続く場合を除き、3 文字を選択します。
@記号の後にない限り、「STR」などの3文字を選択して置き換えたいと思います。
replace メソッドでテキスト バッファー クラスを使用します。3 文字を置換できますが、3 文字の前の文字も置換されます。
これは私のコードです:
結果は「FOO @STR FOO」です。
私が望む結果は、" FOO @STR #FOO" で、スペースと # はそのままです。
問題は、4 つの文字を一致させているが、3 つだけを置き換えたいということだと思います。非キャプチャ グループまたはいくつかのルックアラウンドが必要だと思います。Debuggex で次の式を試しました。
これは機能しているようで、@ の後に 3 文字が続く場合は選択されますが、Dynamics AX ではサポートされていないようです。X++ RegEx サポートについてこのページを見ましたが、問題を解決する構文が見つかりませんでした。
上記のジョブを変更して、「 FOO @STR #FOO」という出力が得られるようにすることは可能ですか?