2013-03-13 4 views
4

법정 면책 조항에 : 새로운 양식 자바 스크립트 CRM 2011

자바 스크립트

에 : MyForm을

필드 :

ntt_name 
ntt_lookup1 
ntt_lookup2 

요구 사항 :

ntt_lookup1의 값을 읽기 및 ntt_lookup2를 사용하여 name (id가 아님)을 결합하여 이름 필드 (Primary Attribute)에 채 웁니다.

웹 리소스로 업로드하고 Form MyForm과 연결하여 onsave 이벤트에 추가합니다.

다음과 같은 오류가 발생합니다.

enter image description here

질문 : 내가 잘못 뭐하는 거지? 지금까지 할 것을

:

  1. 오류에 대한 구글 검색을했고 this SO 질문을 발견했다. 따라서 누락 된 대괄호가 두 번 있으면 메모장 + +와 수동으로 수동으로 추적하여 두 번 검사합니다.

코드 :

if (typeof(CRMDynamics2011) == "undefined") 
{ CRMDynamics2011 = {}; } 

CRMDynamics2011.MyForm = { 
    FormSave: function() { 
     alert("Within Function FormSave"); 
     var lookup1 = Xrm.Page.getAttribute("ntt_lookup1").getValue(); 
     var lookup2 = Xrm.Page.getAttribute("ntt_lookup2").getValue(); 
     if (lookup1 != null && lookup1[0] && lookup1[0].name != null) { 
      alert("lookup1 is NOT NULL"); 
      var value1 = lookup1[0].name; 
     } 
     if (lookup2 != null && lookup2[0] && lookup2[0].name != null) { 
      alert("lookup2 is NOT NULL"); 
      var value2 = lookup2[0].name; 
     } 
     var fieldName = Xrm.Page.getAttribute("ntt_name"); 
     fieldName.setValue(value1 + ' - ' + value2); 

    } 
}; 
+0

온 세미 (onsave)에 무엇을 추가 하시겠습니까? FormSave()에서 추측 할 수 있습니다. 'CRMDynamics2011.MyForm.FormSave()'를 실행 해보십시오. – glosrob

+0

나는 바보처럼 느껴진다! 고마워요 glosrob! 그 대답을하면, 나는 그것을 승인 된대로 upvote/mark 할 것입니다. 그렇지 않으면 OK입니다. Deletion을 위해 플래그를 지정할 수 있습니다. (필자의 선호도 - 프로그래밍과 같은 중요한 질문이 아닙니다.) 어느 쪽이든, 그것은 나에 의해 괜찮습니다. – Kanini

+0

먼저 해보기 (문제가되지 않을 수도 있음)! 그리고 어쨌든 즉시 분명하지는 않습니다. 그래서 확실히 바보가 아닙니다. 롤업 12를 사용하는 경우 추가 문제가있을 수 있습니다. – glosrob

답변

3

당신이 네임 스페이스 지정 사용하는 것처럼, 당신은 완벽하게 통화 할 방법을 한정해야합니다.

그래서 CRM의 양식 속성에서 된 OnSave 이벤트에 대한 저장을 클릭하면

CRMDynamics2011.MyForm.FormSave(); 

CRM은 다음 메소드를 호출해야 사용할 수 있습니다.

+0

감사! 네, 메소드의 Fully Qualified Name을 사용하자마자 작동했습니다. – Kanini