Dynamics CRM을 사용하다 보면 자동으로 저장되는 기능이 있습니다.

해당 파일의 아이콘으로, 브라우저 우측 하단에 존재합니다.

저장버튼을 누르지 않아도 되고, 데이터가 날라갈 위험이 적어서 좋지만

가끔은 저장되면 안되는 상황이 있을 때가 존재합니다. 그러한 때를 위해 MS에서는 자동저장 방지 기능을 스크립트로도 제공합니다.

링크: https://msdn.microsoft.com/en-us/library/gg509060.aspx


해당 기능을 사용하기 위해서는

1. 스크립트를 만들어 CRM에 등록시켜주기

2. 스크립트 onSave이벤트 만들기

3. onSave 이벤트에 CRM에서 매개변수 넘겨주는 항목에 체크하셔야 스크립트를 사용하실 수 있습니다.


1. 스크립트를 만들어 CRM에 등록시켜주기

- CRM 화면 - Form Editor - Form Property - Event - 항목에서 등록하실 수 있습니다.

-

- 파일 추가 후 이벤트 핸들러의 OnSave이벤트에 상단에서 만든 자바스크립트 함수를 걸어줍니다.

- 이벤트를 걸어줄 때


" Pass execuction context as first parameter " 항목에 반드시 체크해주셔야 합니다.

- 항목에 체크 후 이벤트를 걸어 준 다음


 
function onSave(econtext)
{
    var eventArgs = econtext.getEventArgs();

    // 자동저장/저장&닫기/저장/저장&새로
    if (eventArgs.getSaveMode() == 70 || eventArgs.getSaveMode() == 2 || eventArgs.getSaveMode() == 1 || eventArgs.getSaveMode() == 59)
    {
        // 다른 페이지로 넘어가지 못하게 한다.
        eventArgs.preventDefault();
    }
}


이러한 형태로 스크립트를 수정해 줍니다.


해당 스크립트 완성 및 배포 후에 저장하려고 보면 페이지를 유지할 것인지 데이터 손실을 감수하고 나갈 것인지에 대한

Alert 메시지가 나타납니다.


이벤트 Save 모드에 대해서는 MSDN을 참고하세요.

Dynamics CRM과 다른 사이트 간의 통신

MS Dynamics CRM에서 XRM SDK를 이용하여 CRM Online 및 On-Premise에 있는 데이터를

다룰 수 있다.

이 분야에서 제일 좋은 참고 자료인 MSDN Sample 링크를 첨부합니다.

1. SOAP를 이용한 QueryAttribute이용

Sample: https://msdn.microsoft.com/en-us/library/gg334708.aspx

2. QueryExpression 이용

Sample2: https://msdn.microsoft.com/en-us/library/gg328149.aspx


순서는 이렇습니다.

1. CRM SDK를 다운받습니다.

Link: https://www.microsoft.com/en-us/download/details.aspx?id=50032

2. SDK를 풀면 Bin 폴더 안에 XRM 관련 DLL들 파일이 있습니다. 해당 파일들을 프로젝트에 참조추가합니다.




추가할 DLL은 XRM.SDK / XRM.SDK.Workflow / SDK.Proxy 입니다. Deployment는 아직 사용할 일이 없습니다.


3. 웹서비스를 이용합니다. SOAP를 사용하므로 웹폼에서는 꼭 만들어야 합니다.

Razor를 사용하는 MVC패턴에서는 테스트를 하지는 않았지만 특성상 안만들어도 되지 않을까.. 생각합니다.



4. 웹서비스 파일에 위의 샘플코드를 가져와 자신의 CRM에 맞게 적당히 수정 후 사용합니다.




주의 할점은 통신을 위해 AJAX같은 스크립트 기반 기술을 사용할 경우 드래그한 부분인

[System.Web.Script.Services.ScriptService] 를 반드시 주석 해제하고 사용합니다.


'개발 > DynamicsCRM' 카테고리의 다른 글

자동 저장 방지.  (0) 2016.05.30
Dynamic crm 2016 솔루션/관리형비관리형 내보내기  (0) 2016.05.02

+ Recent posts