기록 액세스 제한
데이터베이스 쿼리 전에 실행되는 쿼리 비즈니스 규칙을 사용하여 사용자가 특정 기록에 액세스하지 못하도록 할 수 있습니다.
경고:
여기서 설명하는 사용자 지정은 특정 인스턴스에서 사용하도록 개발되었으며, Now Support에서 지원되지 않습니다. 이 메서드는 있는 그대로 제공되며 구현 전에 철저히 테스트되어야 합니다. 이 사용자 지정에 대한 모든 질문과 의견을 커뮤니티 포럼에 게시합니다.
인시던트 기록에 대한 액세스를 제한하는 기본 비즈니스 규칙의 다음 예를 고려하십시오.
| 이름 | 테이블 | 시기 |
|---|---|---|
| 인시던트 쿼리 | 인시던트 | before, query |
기록 액세스 제한
다음 예에서 사용자는 itil 역할이 없고 호출 자 또는 오픈한 사람 필드에 나열되지 않는 한 인시던트 기록에 액세스할 수 없습니다. 셀프 서비스 사용자가 인시던트 목록을 열면 제출한 인시던트만 볼 수 있습니다.
if (!gs.hasRole("itil")&& gs.isInteractive()) {
var u = gs.getUserID();
var qc = current.addQuery("caller_id", u).addOrCondition("opened_by", u).addOrCondition("watch_list","CONTAINS", u);
gs.print("query restricted to user: " + u);}
주:
액세스 제어를 사용하여 사용자가 볼 수 있는 기록을 제한할 수도 있습니다. 자세한 내용은 Access Control List Rules 문서를 참조하십시오.
평일 일정 스크립트
유형: 비즈니스 규칙/클라이언트 스크립트
이 스크립트는 평일에 대한 스크립트를 예약합니다. "여기에 스크립트"라고 표시된 스크립트를 삽입합니다.
var go ='false';
var now =new Date();
// Correct time zone, which is by default GMT -7
now.setHours(now.getHours()+8);
var day = now.getDay();
// No go on Saturday or Sunday
if(day !=0&& day !=6){
// (your script here)
}현재 날짜에 따라 날짜 필드 설정
이 스크립트는 현재 요일에 따라 날짜 필드를 설정합니다. 이 예에서 요일이 월요일부터 수요일까지이면 다음 월요일로 날짜를 설정합니다. 그렇지 않으면 날짜 필드가 다음 월요일로 설정됩니다.
function setCabDate(){
var today = new Date();
var thisDay = today.getDay();
//returns 0 for Sunday, 1 for Monday, through 6 for Saturday.
var thisMon = new GlideDateTime();
thisMon.setDisplayValue(gs.beginningOfThisWeek());
var nextMon = thisMon.getNumericValue();
nextMon +=(1000*60*60*24*7);
if((thisDay <4)&&(thisDay >0))
//if today is Mon thru Wed (thisDay = 1, 2, or 3), set cab to this coming Monday.
current.u_req_cab_rev_date.setDateNumericValue(thisMon.getNumericValue());
else if((thisDay >=4)||(thisDay ==0))
//if today is Thurs thru Sun (thisDay = 4, 5, 6, or 0), set cab to next Monday.
current.u_req_cab_rev_date.setDateNumericValue(nextMon);
}모든 날짜/시간 필드의 입력을 확인하려면 확인 스크립트(). 날짜/시간 형식은 이 스크립트에 하드 코딩되어 있으므로 인스턴스의 날짜/시간 형식과 일치해야 합니다. 인스턴스의 날짜/시간 형식이 변경되면 확인 스크립트를 업데이트해야 합니다.
확인 스크립트의 유형을 날짜/시간으로 설정합니다. 그런 다음 이 확인 스크립트를 사용하여 사용자가 날짜/시간 필드에 잘못된 형식을 입력하면 오류 메시지가 표시됩니다.
function validate(value){
// empty fields are still valid dates
if(!value)
return true;
// We "should" have the global date format defined always defined. But there's always that edge case.
if(typeof g_user_date_time_format !=='undefined')
return isDate(value, g_user_date_time_format);
// if we don't have that defined, we can always try guessing
return parseDate(value)!==null;}자세한 내용은 확인 스크립트 사용 사례 - 날짜 및 시간 문서를 참조하십시오.