2014-12-15 6 views
1

저는 JScript에 익숙하지 않지만 양식로드시 (OnLoad)에 실행될 함수 webResource 내에 다음 코드를 작성했습니다.crm 2011 xrm.page.getattribute는 값이있을 때 null을 반환합니다.

var creationDateName = "createdon"; 
var today = new Date(); 
var creationDateAttr = Xrm.Page.getAttribute(creationDateName); 
if(creationDateAttr!=null) 
{ 
    /* Some more code */ 
} 

Xrm.Page.getAttribute (creationDateName)는 필드에 값이있을 때 null을 반환합니다 (필드는 양식에 표시되지 않지만 조회시에는 값이 있음). 펑키 한 점은 테스트 조직에서 같은 코드가 매력처럼 작동했지만 솔루션을 출시하기 위해 프로덕션 조직에 복사하여 붙여 넣을 때 제대로 작동하지 않아서 혼란 스러웠습니다. 무슨 일이 일어날 지 아무 생각 없어?

답변

4

getValue를 사용하여 필드의 값을 반환해야합니다. 코드는 필드가 페이지에 존재하는지 확인하는 것입니다.

또한 작성 모드에서이 값은 설정되지 않으므로 검색 할 수 없습니다. 업데이트 모드에서 작동합니다. 그래서 당신은 페이지도 업데이트 모드에 있는지 확인해야합니다

var formType = Xrm.Page.ui.getFormType(); 

if (formType === 2) // Update 
{ 
    var creationDate = Xrm.Page.getAttribute(creationDateName).getValue(); 
} 
+1

정말로 페이지의 필드가 누락되었습니다. 귀하의 답변을 주셔서 감사 드리며 실제로 getValue() – reneh5

0

바보 나, 나는 그것이 대답 DONAL에 널 (null)하지만 덕분에 반환 이유가 찾고 있던 필드의 추가 깜빡 실제로 내가했다 필드가 가득 찼거나 null인지 확인하려고합니다. 감사합니다

그것은 당신에게 속성이 아닌 값을 제공
2

..

당신이

도움이 될 것입니다

var creationDateAttr = Xrm.Page.getAttribute(creationDateName); 
var valueDateAttr=creationDateAttr.getValue(); 

또는

var creationDateAttrValue = Xrm.Page.getAttribute(creationDateName).getValue(); 

희망을 다음과 같이 코드를 작성해야 값을 얻을 수