일정 스크립트 사용 사례
비즈니스 규칙 스크립트는 비즈니스 규칙이 수행하는 작업을 지정합니다. 일반적으로 스크립트에는 현재 기록과 같은 시스템의 항목을 참조하는 미리 정의된 전역 변수가 포함됩니다. 전역 변수는 모든 비즈니스 규칙에 사용할 수 있습니다.
경고:
여기에 설명된 커스터마이제이션은 특정 인스턴스에서 사용하기 위해 개발되었으며 에서 지원되지 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 조건을 사용합니다.
서버 측 스크립트에 사용할 수 있는 시스템의 스크립팅 기능을 활용할 수도 있습니다.
비즈니스 규칙 양식의 옵션을 사용하면 스크립트를 작성할 필요 없이 조건을 작성하고, 필드 값을 설정하고, 경보 메시지를 표시할 수 있습니다.