비즈니스 규칙 및 스크립트 포함

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 3분
  • 비즈니스 규칙은 인스턴스 기록에 대한 CRUD(생성, 읽기, 업데이트, 삭제) 작업 중에 실행할 수 있는 서버 측 작업입니다.

    주:
    에이전틱 AI의 도움을 받아 애플리케이션을 생성하는 것이 좋습니다. 자세한 내용은 ServiceNow AI Platform에서 Vibe 코딩 및 AI 앱 개발 문서를 참조하십시오.

    비즈니스 규칙을 사용할 때 좋은 방법은 다음과 같습니다.

    • 비즈니스 규칙을 작고 구체적으로 유지하십시오.
    • 기본 시스템 비즈니스 규칙을 수정하지 마십시오.
    • 전역 비즈니스 규칙 대신 스크립트 포함을 사용합니다.
    • 필요한 경우에만 스크립팅을 사용하십시오.
    • 재사용 가능한 스크립트 논리를 스크립트 포함에 저장합니다.
    • 쿼리를 사용하여 비즈니스 규칙 내에서 처리되는 기록을 제한합니다.
    • 클라이언트 스크립트를 실행할 때 효율성을 향상시키기 위해 클라이언트 호출 가능 비즈니스 규칙을 사용하지 마십시오.
    • 항상 비즈니스 규칙과 함께 조건을 사용하여 비즈니스 규칙이 실행되는 시기를 제어합니다. 조건이 있는 비즈니스 규칙을 실행하는 것도 디버깅에 도움이 될 수 있습니다. 비즈니스 규칙이 조건 없이 실행되는 경우는 거의 없습니다.

    비즈니스 규칙은 데이터베이스 작업 이전 또는 후에 실행되도록 구성할 수 있습니다. 또한 비동기식으로 실행되도록 구성할 수도 있고 폼을 표시하거나 쿼리를 실행하기 전에도 실행할 수 있습니다.

    실행 사용 시기 예제
    이전 데이터베이스 작업 전에 동기적으로 저장 작업의 일부로 현재 객체의 값을 설정하거나 업데이트합니다. 필요한 경우 실행을 확인한 후 중단합니다. 개발자가 해당 기록의 다른 입력을 기반으로 현재 기록의 상태를 설정하려고 합니다.
    이후 데이터베이스 작업 후 동기적으로 데이터베이스 업데이트 후 이벤트와 알림을 트리거하여 이전 객체에 액세스하거나 순서대로 작업을 수행하도록 합니다. 업데이트 중인 기본 테이블 이외의 관련 기록을 업데이트하여 이전 객체에 액세스하거나 순서대로 작업을 수행합니다. 개발자가 현재 기록에서 하위 기록까지 값을 계단식으로 변경하려고 합니다.
    비동기 데이터베이스 작업이 완료된 후 별도의 프로세스로 비동기적으로 실행됩니다. 규칙에 의해 트리거되는 프로세스를 실행하는 데 시간이 걸릴 수 있습니다. 작업을 트리거한 사용자에게 즉시 출력이 필요하지 않은 경우. 기록의 이전 값 또는 특정 작업 시퀀스에 액세스할 필요가 없는 경우 이벤트, 알림 또는 관련 기록 업데이트를 트리거합니다. 개발자는 시간이 걸리거나 많은 수의 기록을 업데이트할 수 있는 외부 프로세스를 트리거해야 합니다.
    표시 해당 양식이 표시될 때마다 실행됩니다. 클라이언트 측 스크립트에서 서버 측 객체를 사용할 수 있도록 하는 데 사용됩니다. 개발자가 현재 기록과 연결된 사용자에 대한 정보를 클라이언트 측 스크립트에서 사용할 g_scratchpad 객체에 작성하려고 합니다.
    주:
    current.update()는 비즈니스 규칙에서 사용해서는 안 됩니다. current.update()를 사용하면 추가 데이터베이스 작업이 트리거되어 중복 알림, 재귀 루프 등이 발생할 수 있습니다.

    스크립트 포함을 사용하여 서버 스크립트에서 사용할 JavaScript 함수와 클래스를 저장합니다. 각 스크립트 포함은 서버 측 스크립트 간에 재사용할 수 있는 객체 클래스 또는 함수를 정의합니다. 자세한 내용은 Script includes 문서를 참조하십시오.

    스크립트 포함의 다른 곳에서 사용해야 할 수 있는 코드를 저장합니다. 비즈니스 규칙, UI 작업, 워크플로우 스크립트, 스크립팅된 REST API 등에서 스크립트 포함을 호출합니다. UI 작업에서 비즈니스 규칙을 호출하거나 스크립팅된 REST API에서 UI 작업을 호출하는 대신, 코드를 스크립트 포함에 넣고 두 위치 모두에서 스크립트 포함을 호출합니다.

    스크립트 포함에 함수를 보관하면 스크립트된 다른 영역에 함수를 배포하기 전에 함수를 테스트할 수 있으므로 전체 개발 및 테스트 시간을 단축할 수 있습니다.

    자세한 내용은 Classic Business rules 문서를 참조하십시오.