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을 참고하세요.

+ Recent posts