0
변경된 내용과 브라우저 콘솔에 저장해야 할 내용을 결정하기 위해 CRM 양식의 모든 더티 필드 목록을 가져 오는 방법을 찾고있었습니다. 이것은 일반적으로 자바 스크립트 또는 기타 CRM 관련 문제를 디버깅하는 데 도움이됩니다콘솔에 더러운 모든 CRM 필드를 나열하는 방법은 무엇입니까?
나는 이것을 어떻게 얻을 수 있습니까?
변경된 내용과 브라우저 콘솔에 저장해야 할 내용을 결정하기 위해 CRM 양식의 모든 더티 필드 목록을 가져 오는 방법을 찾고있었습니다. 이것은 일반적으로 자바 스크립트 또는 기타 CRM 관련 문제를 디버깅하는 데 도움이됩니다콘솔에 더러운 모든 CRM 필드를 나열하는 방법은 무엇입니까?
나는 이것을 어떻게 얻을 수 있습니까?
당신은
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()); });
참고 : 그냥 확인 xRM을 내가 전체 코드가
// 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());
});
에 대해 다음과 같이 보일 것입니다
here
에서 위에서 설명한 무엇을하기 전에 코드의 추가 비트가 왜 당신이 볼 수 있습니다 있도록