1

誰かがこれを手伝ってくれることを願っています。私はフォームにフィールド値を設定する方法を知っており、それはある意味で機能します。私の質問は、この行を単独で行としてフォームのロードイベントに入れた場合にのみ機能するということです。私が見ればフォームに小数点値を設定しても機能しない - Dynamics CRM 2013

Xrm.Page.getAttribute('cal_entrynumber').setValue(1.01);

しかし、現実には私はこの値を設定し、私はそれらの条件のチェックには、このラインを入れたときに、その後、私が気づくことはテキストボックスが空白であることである前に、いくつかの条件付きチェックを持っている必要がありますが、データエンティティの値で1.01の値を持つことを示します。

alert("No. in entity:" + Xrm.Page.data.entity.attributes.get('cal_entrynumber').getValue());

だから私は、誰もが潜在的に、このための原因である可能性があります何に私を正確に特定することができますかどうかを知りたいと思った...ここのラインが位置するコード(およびdoesntの仕事)があります。

var queryString = "?$select=cal_EntryNumber&$filter=cal_SafetyProgrammeNo eq '" + spNo + "'&top=1&$orderby=cal_EntryNumber desc"; 
SDK.REST.retrieveMultipleRecords(
    "cal_operation", 
    queryString, 
    function (results) { 
     //alert(results.length); 
     if (results.length == 0) { 
      //var entry = 1.01; 
      //alert("Entry No:" + Number(entry)); 
      Xrm.Page.getAttribute('cal_entrynumber').setValue(1.01); 

     } 
     else { 
      // Code to go here.        
     } 
    }, 
    errorHandler, 
    function() { 
     // OnComplete handler 
    } 
    ); 

答えて

1

私は(コードが正しいにもかかわらず)なぜこのdoesntの仕事を見つけたと私は助けるためにここに私の答えを投稿しています同じ問題を抱えている可能性のある人

フォームがロードされ、(javascriptセット)値のフィールドが空になったときに、エントリ番号フィールドにフォーカスが当てられます。私はフォームの最初のフィールドとして別のテキストボックスフィールドを置くことによってこれを修正し、フィールドはJavaScriptの設定値を表示しています(コード変更は必要ありません)。

私はコードをloadイベントに単独で入れても、それは同期的に実行されますが、retrieveMultipleRecordsの成功コールバック関数に同じ行のコードを置くと、非同期で実行されるため、この問題が発生します。これが他の誰にもこの問題を助けることを願っています。

関連する問題