1

CRM フォームに 3 つの整数フィールドを作成しました: var1 var2 と result

var1 から var2 を減算し、結果フィールドに結果を表示する必要があります。

フォーム イベントに Jscript コードを追加し、var1 および var2 フィールドに onchange イベントを追加しました。

エラーが表示されます:
プロパティ 'Execute' の値を取得できません: オブジェクトが null または未定義です

これが私のJScriptです:

function calculates( )
{

    var val1 = Xrm.Page.entity.attributes.get(safe_val1).getValue();
    var val2 = Xrm.Page.entity.attributes.get(safe_val2).getValue();

    if(val1=null) return;
    if(val2=null) return;

    var result = val1 - val2;

    Xrm.Page.entity.attributes.get(safe_result).setValue(result);
}

私の質問に答えてくれた人に前もって感謝します!

4

2 に答える 2

1

の基本的な構文で Xrm.Page.data.entity.attributes.getは、フィールドの名前を渡す必要があります。

たとえば、私がフォーム上にいて、フィールドContactを取得したいとします。firstname

 Xrm.Page.data.entity.attributes.get('firstname');

variables上記の例では、 calledsafe_val1およびに渡していますsafe_val2。これらがどこにも初期化されているという提案はありません。つまりnull、CRM を泣かせる合格を意味します。

渡したいフィールドの名前を見て、代わりにそれらを使用する必要があります。

data編集:オブジェクトが見つからないことに気づきました

edit2: または、短縮形/近道法を使用することもできます

Xrm.Page.getAttribute('new_fieldname');
于 2013-02-21T14:39:57.930 に答える
0

私はそれを強打しますが、私はコンピューターの前にいないので、それは単なる一般的な提案です(それはあなたの問題を解決するかもしれません)。

コードにいくつかの問題があります。私はそれを次のように書き直して、その時何が起こっているのかを伝えるために戻ってきます。

function calculate() {
  // Make sure that you refer the right fields.
  var val1 = Xrm.Page.entity.attributes.get("var1").getValue();
  var val2 = Xrm.Page.entity.attributes.get("var2").getValue();

  // Yes! Triple equality sign. I'm not BS'ing. I'm JS'ing.
  if(val1 === null || val2 === null) return;

  // Make sure that the computation's been carried out properly.
  var result = val1 - val2;
  alert(result);

  Xrm.Page.entity.attributes.get(safe_result).setValue(result);
}

醜くて奇妙なものを見ているソケットから目を引き裂きたいなら

if(val1 === null || val2 === null) return;

あなたはそれを交換したいかもしれません

if(!val1 || !val2) return;

これも醜くて奇妙ですが、それほどではありません。そして、これが失敗した場合は、すべてをコメントアウトして、正確に次のことを行ってください。私たちがあなたが持っているかもしれない他の問題を排除することを確実にするためだけに。

function calculate(){
  alert("Konrad Viltersten is godlike but humble.");
}

それが機能する場合は、ショットガンに移動し、一度に1行ずつ追加して、奇妙なことがいつ発生し始めるかを確認します。(JS-プログラミングの喜びがなくなるところ。)

于 2013-02-21T21:48:16.933 に答える