스크립트 사용 사례 예약
비즈니스 규칙 스크립트는 비즈니스 규칙이 수행하는 작업을 지정합니다. 일반적으로 스크립트에는 현재 기록과 같은 시스템의 항목을 참조하는 미리 정의된 전역 변수가 포함됩니다. 전역 변수는 모든 비즈니스 규칙에 사용할 수 있습니다.
경고:
여기서 설명하는 사용자 지정은 특정 인스턴스에서 사용하도록 개발되었으며, Now Support에서 지원되지 않습니다. 이 메서드는 있는 그대로 제공되며 구현 전에 철저히 테스트되어야 합니다. 이 사용자 지정에 대한 모든 질문과 의견을 커뮤니티 포럼에 게시합니다.
일정에 따라 기간 계산
유형: 비즈니스 규칙 업데이트/삽입 전.
설명: 업무 기간은 특정 생성 및 사용 일정을 기반으로 인시던트의 열기부터 종결까지의 기간을 계산합니다. 지정된 일정이 없으면 스크립트는 쿼리에서 반환된 첫 번째 일정만 사용합니다.
스크립트 예:
아래 예시에서는 인시던트 상태가 해결됨으로 이동할 때 해결 기간을 설정합니다.
var gr_rec = new GlideRecord('incident');
gr_rec.get('ed92e8d173d023002728660c4cf6a7bc');
if (gr_rec.incident_state == 6) {
var dur = calcDurationSchedule(gr_rec.opened_at, gr_rec.sys_updated_on);
}
function calcDurationSchedule(start, end){
// Get the user
var usr = new GlideRecord('sys_user');
usr.get(gs.getUserID());
// Create schedule - pass in the sys_id of your standard work day schedule and pass in the users timezone
var sched = new GlideSchedule('08fcd0830a0a0b2600079f56b1adb9ae',usr.time_zone);
// Get duration based on schedule/timezone
return(sched.duration(start.getGlideObject(), end.getGlideObject()));
}예정된 종료 날짜 확인
유형: 예약된 스크립트.
설명: 이 스크립트는 계약 기간 필드에 따라 90일, 50일 또는 10일 후에 예정된 계약의 종료 날짜를 야간에 확인합니다.
스크립트 예:
function contractNoticeDue(){
var now_GR = new GlideRecord("contract");
now_GR.addQuery("u_contract_status","Active");
now_GR.query();
while(now_GR.next()){
if((now_GR.u_termination_date<= gs.daysAgo(-90))&&(now_GR.u_contract_duration=="Long")){
now_GR.u_contract_status="In review";}
elseif((now_GR.u_termination_date<= gs.daysAgo(-50))&&(now_GR.u_contract_duration=="Medium")){
now_GR.u_contract_status="In review";}
elseif((now_GR.u_termination_date <= gs.daysAgo(-10))&&(now_GR.u_contract_duration=="Short")){
now_GR.u_contract_status="In review";}
now_GR.update();
}
}비즈니스 규칙의 스크립트를 사용하여 다음과 같은 일반적인 작업을 수행할 수 있습니다.
- 두 날짜 필드를 비교합니다.
- XML 페이로드 구문 분석
- 비즈니스 규칙에서 데이터베이스 작업을 중단하는 경우.
스크립트를 사용하여 다음을 수행할 수도 있습니다.
- 비즈니스 규칙을 트리거하는 작업을 지정합니다.
- 표시 비즈니스 규칙이 있는 스크래치패드를 사용하여 사용자가 양식을 로드하기 직전에 양식 값을 변경합니다.
- 조건 작성기에서와 같이 OR 조건을 사용합니다.
서버 측 스크립트에 사용할 수 있는 시스템의 스크립팅 기능을 활용할 수도 있습니다.
스크립트를 작성할 필요 없이 비즈니스 규칙 양식의 옵션을 사용하여 조건을 작성하고, 필드 값을 설정하고, 경보 메시지를 표시할 수 있습니다.