1

내가 CRM을위한 자바 스크립트에 다음을 달성하기 위해 노력하고 onchange를 경고 설정 한 다음 사십오일 내에있는 경우 2013의 JScript CRM 2013 - 날짜 필드는

만약 날짜 필드

gteq_expirydate

이 (가) 다음 45 일 내에 있으면 알림을 설정합니다.

어떻게해야합니까?

+1

당신은 자바 스크립트의 일부에 갇혀 있습니까? 그렇다면 코드 일부를 게시하거나 문제를 해결했는지 설명하십시오. Javascript와 CRM에 대한 링크가 필요한 경우 : https://msdn.microsoft.com/en-us/library/hh771584(v=crm.6).aspx & Joe CRM에는 https : // www. powerobjects.com/blog/2011/01/14/crm-2011-useful-javascript-tidbits/ – Bactos

답변

1

Add days to JavaScript Date이 예제를 사용하여 javascript 날짜에 작업을 수행 한 다음 간단한 비교를 실행하십시오. 당신은 당신이 날짜 필드에 쓰기 새 값으로 날짜 필드의 이전 값을 비교해야하는 경우

var crmDate = Xrm.Page.getAttribute("gteq_passportexpirydate").getValue(); 
var today = new Date(); 
var tomorrow = new Date(today); 
tomorrow.setDate(today.getDate()+45); 
if(crmDate < tomorrow && crmDate >= today){ 
    alert("care"); 
} 

, 당신은, 그렇지 않으면 값을 비교를 실행하는 "오래된 날짜 필드"라는 또 다른 필드가 필요합니다 당신은 새로운 하나가 검색됩니다.

+0

이것에 대해 고마워,이게 내가해야만하는 곳이지만, 아마 트랙에서 약간 벗어날 것 같은 느낌이 든다. 함수 PassportExpiry() { if (Xrm.Page.getAttribute ("gteq_passportexpirydate"). getValue()! = null) { var today = new Date(); var tomorrow = new Date (오늘); 내일의 설정입니다 (오늘 .getDate() +45); if (날짜 필드 <내일 && 날짜 필드> = 오늘) { 경고 ("여권은 45 일 이내에 만료됩니다"); } } } –

+0

안녕하세요, 지금 상황을 확인해 주신 scripr을 수정했습니다. – Draiden

+0

완벽하게 작동했습니다. 고마워, 정말 고마워. –

1

이 요구 사항을 지원하기 위해 Moment JS에서 봐 (프로젝트에 연결하지 않고, 단지 요구 사항 이러한 유형의 CRM에 매우 도움이 발견했다.)

당신은 moment.js 라이브러리를 추가 할 필요가 및 이와 유사한 분야에 대한 OnChange 이벤트 : 당신이 때문에 유창한 스타일의 미래에 그것을 볼 때이 코드가 매우 쉽게 읽을

function checkDateOnChange (e) { 
var dateField = e.getEventSource(); 

var newDate = e.getValue(); 

if (moment.isDate(newDate) && moment(newDate).isBefore(moment().Add(45, 'days'))) 
    alert("Date is 45 or less days in the future."); 
} 

구현의 단순 게다가.