복잡한 비즈니스 논리를 구현하는 스크립트 작성

Dynamics 365 Field Service 일부 구현에는 Field Service가 기본적으로 제공하는 프로세스를 넘어서는 기능과 복잡한 비즈니스 로직이 포함됩니다. 때로는 이러한 복잡성이 워크플로나 비즈니스 규칙와 같은 플랫폼 옵션을 넘어 확장될 수도 있습니다. 복잡한 요구 사항이 있으면 개발자는 사용자 지정 코드를 만들 수 있습니다.

복잡한 비즈니스 로직을 구현하려면 일반적으로 서버 측에서 플러그인을 작성하고 클라이언트 측에서 JavaScript 웹 리소스를 작성해야 합니다.

이 문서에서는 다음과 같은 모범 사례를 살펴봅니다.

  • 스크립트를 작성하기 전에 기존 현장 서비스 프로세스와 역량을 조사하세요.
  • 가능하면 대본 작성은 피하세요. 먼저, Power Automate 및 워크플로와 같은 플랫폼 옵션을 사용해 보세요.
  • 동기 대신 비동기적으로 스크립트를 실행합니다.
  • 양식이 로드될 때 스크립트가 로드되지 않도록 하세요. 대신, 필요할 때만 로드하세요.
  • 스크립트에서 솔루션 검사기를 실행합니다.
  • 기존 양식 라이브러리를 편집하거나 삭제하면 안 됩니다.

스트립트 유형

플러그인

플러그인을 사용하면 상상할 수 있는 거의 모든 프로세스에 대해 Microsoft의 이벤트 기반 Dynamics 365 플랫폼 위에 사용자 정의 기능을 작성할 수 있습니다. 플러그인은 이벤트 처리기 역할을 하며 Dynamics 365에서 특정 이벤트가 발생할 때 실행되도록 등록됩니다. 플러그인은 C# 또는 Visual Basic로 작성되며, 동기 모드 또는 비동기 모드로 실행될 수 있습니다.

사용자 지정 플러그인이 도움이 될 수 있습니다.

  • Dynamics 365 레코드를 만들거나 업데이트할 때 레코드의 특정 필드를 업데이트하거나 관련 레코드를 업데이트하는 등 일부 비즈니스 로직을 실행합니다.
  • 레코드가 저장되거나 업데이트되는 등 특정 이벤트에 대해 외부 웹 서비스를 호출합니다.
  • 레코드가 열릴 때마다 필드 값을 동적으로 계산합니다.
  • Dynamics 365에서 특정 이벤트에 따라 고객에게 이메일을 보내는 등의 프로세스를 자동화합니다.

JavaScript 웹 리소스

JavaScript는 Dynamics 365의 양식에 데이터를 표시하기 위해 사용자 지정 비즈니스 프로세스 논리를 적용하는 한 가지 방법을 제공합니다. Field Service의 맥락에서 개발자는 비즈니스 논리를 적용하기 위해 작업 주문과 예약 양식에 JavaScript를 추가할 수 있습니다. 또한, 일정 게시판에 JavaScript를 추가하여 일정 게시판에서 예약이 생성될 때 유효성 검사를 수행하는 예약 규칙을 만들 수도 있습니다.

1단계. 사용자 정의 스크립트 작성의 위험을 이해하세요

Field Service 구현에 플러그인과 JavaScript를 추가할 때는 주의하세요. 너무 많은 스크립트와 엉성하게 작성된 스크립트는 성능이 저하되고 오류가 발생하는 주요 원인입니다. 사용자 정의가 현장 서비스 운영에 중요한 경우에만 스크립트를 작성하세요.

스크립트를 작성하고 구현하기 전, 중, 후에 이 기사와 관련 콘텐츠를 꼼꼼히 읽으세요.

2단계. Field Service 또는 Dynamics 365가 요구 사항을 충족할 수 있는지 확인하세요.

플러그인이나 JavaScript 웹 리소스를 작성하기 전에 Field Service나 다른 Dynamics 365 앱이 동일하거나 유사한 기능을 수행할 수 있는지 확인하세요. 프로세스가 중복되면 오류 및 성능 문제가 발생할 수 있습니다.

3단계. 먼저 플랫폼 옵션을 사용해 보세요

사용자 정의 스크립트를 작성하기 전에 Power Automate, 워크플로, 비즈니스 규칙와 같은 플랫폼 옵션을 사용하여 요구 사항을 충족해보세요.

플랫폼 옵션을 사용하여 요구 사항을 충족할 수 없는 경우 워크플로가 비즈니스에 도움이 될 만큼 닫기가 될 수 있는지 결정하세요. 플랫폼 옵션은 확장성과 지원성이 더 뛰어나고, 업그레이드 중에 손상될 가능성이 적고 성능이 더 좋습니다.

플랫폼 옵션 사용 방법에 대한 자세한 내용은 플러그인과 워크플로우를 사용할 때는 언제인가요?를 참조하세요.

4단계. 플러그인이나 스크립트를 작성하기 전에 모범 사례를 검토하세요

수천 개의 Dynamics 365 구현에 걸친 개발자의 경험을 통해 많은 모범 사례가 수집되었습니다. 플러그인이나 스크립트를 작성하기 전과 작성하는 동안 다음 모범 사례를 검토하세요.

5단계. 도구를 사용하여 스크립트를 테스트하세요

스크립트를 작성한 후에는 테스트해야 합니다.

먼저, 솔루션 검사기를 사용하여 모델 기반 앱의 유효성을 검사합니다. Power Apps 솔루션 검사기는 스크립트가 비동기적으로 실행하는 대신 동기적으로 실행하는 것과 같은 모범 사례를 위반하는지 여부를 식별합니다. ...

그런 다음 플러그인 프로파일러를 사용하여 문제를 디버깅합니다.

양식 라이브러리

작업 주문(다음 이미지 참조) 등 많은 현장 서비스 기록 유형에는 현장 서비스에 기본적으로 포함된 JavaScript 양식 라이브러리가 있습니다. 이런 라이브러리는 중요한 프로세스를 수행합니다.

중요

양식 라이브러리를 편집하거나 삭제하면 안 됩니다.

 Power Apps의 작업 주문 양식에 대한 양식 라이브러리를 보여주는 스크린샷입니다.

일정 게시판의 JavaScript(예약 규칙)

예약 규칙은 JavaScript를 사용하여 일정 게시판에 대한 유효성 검사를 수행하는 방법을 제공합니다. 하지만 작업 주문서 등 다른 양식에서 JavaScript를 사용하는 경우에는 주의해서 진행하시기 바랍니다. 예약 규칙을 둘 이상 만들면 안 됩니다. 대신, 예약 알림 을 사용해 파견자에게 문제에 대한 알림을 보내는 것을 고려해보세요.