2017-12-21 6 views
0

私は、変更された内容とブラウザコンソールに保存する必要がある内容を判断するために、CRMフォームのすべてのダーティフィールドのリストを取得する方法を探していました。これはjavascriptやその他のCRM関連の問題を一般的にデバッグするのに役立ちますコンソールに汚れているCRMフィールドをすべて一覧表示するにはどうすればよいですか?

私はこれをどのように達成できますか?

答えて

0

あなたは

var attribs = Xrm.Page.data.entity.attributes.get(); 

からのすべてのフィールドのリストを取得し、今

var filterDirty = attribs.filter(function(elem,index,attribs){ 
     var name = elem.getName(); 
     return (Xrm.Page.getAttribute(name).getIsDirty() === true); 
}); 

filterDirtyとしてそれのための機能getIsDirty()を呼び出すためにあなたの参考のために、次のコードを使用することができますすべての汚れたフィールドの配列を保持し、マップと一緒に印刷することができます。

filterDirty.map(function(e){ console.log(e.getName()); }); 

注:私はhere

から、上記のどのようなコード全体があなた

// get the correct frame 
for(var i=0;i<5;i++) //loop through 0 to 4 
    if(frames[i].Xrm.Page.ui != undefined) //check if undefined  
    { 
     Xrm = frames[i].Xrm; //assign Xrm 
     console.info("~: Xrm updated with frame " + i + " :~"); //show info 
     break; //breakout the loop 
    } 

//Query 
var attribs = Xrm.Page.data.entity.attributes.get(); 

//Filter 
var filterDirty = attribs.filter(function(elem,index,attribs){ 
     var name = elem.getName(); 
     return (Xrm.Page.getAttribute(name).getIsDirty() === true); 
}); 

//print 
filterDirty.map(function(e){ 
    console.log(e.getName()); 
}); 
のために、このようになります前に
は、単にコードの追加ビットがある理由XRMが利用可能であるあなたが見ることができることを確認してください
関連する問題