사용자 지정 모범 사례

Dynamics 365 Field Service의 성능, 사용성 및 지원 가능성 문제를 방지하려면 다음 모범 사례를 따르십시오.

양식의 사용자 지정 필드 최소화

시스템 사용자 지정 도구는 엔터티 양식에 사용자 지정 필드를 추가하여 업계 및 비즈니스에 맞는 정보를 수집하고, 비즈니스 프로세스를 실행하고, 보고할 정보를 수집합니다. 그러나 양식에 사용자 지정 필드가 너무 많으면 성능 문제가 발생할 수 있습니다.

성능 문제를 방지하려면:

  • 모든 양식의 사용자 지정 필드의 수를 최소화하십시오. 작업 주문서가 Field Service 앱에서 가장 많이 사용하는 양식이라면, 해당 양식부터 시작하는 것이 좋습니다. 아이디어
  • 사용자 정의 필드 중 조회 유형 필드와 하위 그리드의 수를 최소화합니다.
  • 첫 번째 양식 탭에서 다른 양식 탭으로 사용자 지정 필드(특히 조회 및 하위 그리드)를 이동합니다.
  • 기본적으로 양식에서 덜 사용되는 필드를 숨깁니다.

기본 제공 웹 리소스, 옵션 집합, 보안 역할 또는 워크플로를 변경하지 마세요

기본 제공 웹 리소스, 옵션 집합, 보안 역할 또는 워크플로를 변경하거나 사용자 지정하지 마세요. 그렇지 않으면 의도치 않은 시스템 동작이 발생할 수 있습니다.

이러한 구성요소를 사용자 지정하는 조직에서는 환경에서 즉시 문제가 발생하지 않을 수도 있습니다. 그러나 Microsoft에서 사용자 지정된 기본 제공 구성 요소에 대해 릴리스한 변경 사항은 해당 구성 요소의 최상위 레이어에 적용되지 않습니다. 대신, 특정하게 사용자 정의된 레이어는 모든 향후 변경 사항을 무시하고, 이러한 무시는 결국 예측할 수 없는 오류와 동작을 유발합니다.

날짜 필드 또는 시스템 상태를 수정, 편집 또는 삭제하지 마세요

날짜 필드 및 상태를 수정, 편집 또는 삭제하면 비즈니스 논리에 영향을 줄 수 있으며 솔루션 업데이트에 문제가 발생할 수 있습니다. 작업 주문 날짜 필드의 예로는 약속부터의 시간약속까지 시간이 있습니다. 상태 필드의 예로는 작업 주문의 경우 시스템 상태 와 계약의 경우 시스템 상태 가 있습니다.

기본 필드를 편집하거나 양식에서 제거하지 마세요.

고객은 자사의 비즈니스 요구에 맞게 기본 필드를 편집할 수 있습니다. 그러나 기본 필드를 편집하면 오류가 발생할 수 있으며, 특히 프로세스가 해당 필드의 값에 따라 달라지는 경우 더욱 그렇습니다.

오류를 방지하려면:

  • 양식에서 원하지 않는 필드를 숨깁니다.
  • 원하지 않는 필드를 다른 양식 탭으로 이동합니다.

예를 들어, 현장 서비스 프로세스에서는 예약 가능한 리소스 예약 레코드의 예상 도착 시간 필드 값을 계산하여 현장 근로자가 현장에 도착할 것으로 예상되는 시간을 나타냅니다. 귀하의 조직에 이 필드가 필요하지 않은 경우, 제거하는 대신, 양식에서 숨기세요.

옵션 집합(선택) 값을 편집하지 마십시오

기본 필드의 옵션 집합 값을 편집하면 오류가 발생할 수 있습니다. 특히 프로세스가 해당 필드 값에 따라 달라지거나 업그레이드 중에 오류가 발생할 수 있습니다.

오류를 방지하려면:

  • 기본 필드의 옵션 집합 라벨 만 편집하세요. 이 필드의 옵션 집합을 절대 편집하지 마세요.
  • 옵션 집합 선택 항목을 제거하지 마십시오.
  • 옵션 세트 선택 사항을 추가하지 마십시오.

예를 들어, 현장 서비스 작업 주문에는 기본적으로 시스템 상태 필드가 포함됩니다. 이 필드는 옵션 집합(선택 가능 유형)이며, 예약되지 않음 , 예약됨, 진행 중, 완료됨, 취소됨과 같은 옵션이 있습니다. 각 옵션에는 레이블과 관련된 숫자 값이 있습니다. 시스템 관리자는 옵션 세트의 레이블(예: 예약되지 않음)을 편집할 수 있지만 레이블과 연결된 숫자 값은 편집할 수 없습니다.

사용자 지정 스크립트 사용 감소 및 모범 사례 준수

시스템 사용자 지정자는 비즈니스 로직을 실행하기 위해 스크립트(일반적으로 JavaScript 웹 리소스)를 작성합니다. 그러나 사용자 정의 스크립트는 업그레이드 중에 성능 문제, 오류 및 복잡성을 초래할 수 있습니다.

이러한 문제를 방지하려면:

  • 로드 시 실행되는 스크립트 수를 최소화합니다.
  • 많은 양의 데이터를 호출하는 스크립트를 작성하지 말고, 동일한 데이터를 호출하는 여러 스크립트를 작성하지 마세요.

다음 하위 섹션에서는 모범 사례를 설명합니다. 또한, Dynamics 365 Customer Engagement를 활용한 개발 모범 사례에서 양식 스크립트 모범 사례를 따라와에서 확인하세요.

OnLoad 이벤트에서 요청되는 네트워크 요청 수 및 데이터 양 최소화

양식을 로드하는 동안 네트워크 요청이 많을수록, 해당 요청에서 다운로드되는 데이터가 많을수록 양식을 로드하는 데 걸리는 시간도 길어집니다. 필요한 최소한의 데이터만 요청하세요. 또한, 가능하다면 데이터를 캐싱하여 향후 양식을 로드할 때 불필요하게 데이터를 요청하지 않도록 하는 것이 좋습니다.

동기식 네트워크 요청 사용 방지

동기식 네트워크 요청으로 인해 페이지 로드가 느려지고 양식이 응답하지 않을 수 있습니다. 대신 비동기 요청을 사용하세요. 다음 블로그 게시물에서는 더 많은 예를 제공합니다. 동기식 요청에서 벗어나 모델 기반 앱을 가속화하세요. 또한, 동일한 엔터티와 레코드에 대해 여러 네트워크 호출이 필요한 모든 시나리오에서 "비동기 및 대기"를 사용하는 것을 고려하세요. async와 await에 대해 자세히 알아보세요.

불필요한 JavaScript 웹 리소스 라이브러리 포함 방지

양식에 추가하는 스크립트가 많을수록 다운로드하는 데 걸리는 시간도 길어집니다. 일반적으로 스크립트는 처음 로드된 후 브라우저에 캐시됩니다. 하지만, 처음으로 형태를 볼 때의 성과가 상당한 인상을 남기는 경우가 많습니다.

Onload 이벤트 시 모든 스크립트 로드 방지

열에 대한 이벤트만 지원하는 코드나 이벤트 자체만 지원하는 코드가 있는 경우, 해당 이벤트에 대한 이벤트 처리기를 사용하여 스크립트 라이브러리를 설정해야 합니다. 이벤트 자체를 설정하는 대신요. OnChange OnSave OnLoad 이런 방법을 사용하면 라이브러리의 로딩을 지연시킬 수 있고, 폼이 로드될 때 성능이 향상됩니다.

축소된 탭을 사용하여 웹 리소스 로딩을 지연합니다.

접을 수 있는 탭의 섹션에 포함된 웹 리소스나 iFrame 구성 요소는 탭이 접힌 경우 로드되지 않습니다. 탭이 확장될 때만 로드됩니다. 탭 상태가 변경되면 TabStateChange 이벤트가 발생합니다. 축소된 탭에서 웹 리소스나 iFrame을 지원하는 데 필요한 모든 코드는 해당 이벤트에 대한 이벤트 핸들러를 사용할 수 있으며, 해당 이벤트에서 발생할 수 있는 코드를 줄일 수 있습니다. TabStateChange OnLoad

클라이언트 측 코드에서 중복 네트워크 요청 방지

다중 또는 중복 네트워크 요청으로 인해 웹 브라우저가 중단되고 양식 로드 시간에 영향을 줄 수 있습니다. 요청 수를 줄이면 성능이 향상될 수 있습니다. 대안은 네트워크 요청을 통합하고 요청의 값을 캐시하는 것입니다. 또한, 앞서 언급한 대로 비동기 네트워크 요청도 고려해 보세요.

관련 정보가 XRM API에서 사용 가능한 경우 역할 및 시스템 사용자별 호출을 사용하지 마십시오.

XRM API를 사용하면 사용자 권한 정보를 얻기 위한 네트워크 요청을 방지할 수 있습니다. 동기 요청에서 벗어나는 방법에 대해 자세히 알아보세요.. 또한, XRM API의 정보가 요구 사항을 충족하는 경우 시스템 사용자 호출을 피하세요.

기본 표시 유형 옵션 설정

OnLoad 이벤트의 경우, 양식 요소를 숨기는 양식 스크립트 사용은 피하세요. 대신 숨겨져 있을 수 있는 양식 요소의 경우 기본 가시성 옵션을 설정하여 양식이 로드될 때 기본적으로 요소가 숨겨지도록 합니다. 그런 다음 OnLoad 이벤트에서 스크립트를 사용하여 표시하려는 양식 요소를 표시합니다.

다음 자료에서 자세히 알아보세요.

스크립트에서 솔루션 검사기 실행

Power Apps 솔루션 검사기는 Power Apps 솔루션에 문제가 있는지 확인하고 모범 사례를 권장하는 Microsoft의 유용한 도구입니다. 이러한 문제에는 JavaScript, HTML, 플러그인 및 사용자 정의 워크플로 활동과 관련된 문제가 포함됩니다.

다음 자료에서 자세히 알아보세요.

동기 워크플로 대신 비동기 워크플로를 사용하세요

시스템 사용자 지정자는 Field Service에서 데이터가 변경될 때 실행되는 비즈니스 로직을 실시간으로 수행하기 위해 동기 워크플로를 작성하는 경우가 많습니다. 그러나 워크플로를 동기적으로 실행하면 성능이 저하됩니다. 성능 문제를 방지하려면 대신 비동기적으로 워크플로를 실행하세요.

Field Service 및 Resource Scheduling 즉시 사용 가능한 프로세스 활성화

현장 서비스 및 리소스 일정 관리에는 필요한 비즈니스 로직을 수행하는 많은 프로세스가 포함됩니다. 비활성화된 프로세스는 오류를 유발할 수 있습니다. 문제를 방지하려면 모든 현장 서비스 및 리소스 일정 프로세스가 활성 상태인지 확인하세요. 프로세스가 비활성화 상태인지 확인하려면 정기적으로 필드 서비스 솔루션 상태 허브를 실행하세요.

솔루션 상태 허브를 실행하여 문제를 감지하세요.

솔루션 상태 허브는 환경의 상태를 더 잘 파악하고 Dynamics 365 환경의 문제를 감지하는 데 도움이 됩니다. 환경의 구성은 시간이 지남에 따라 자연스러운 시스템 운영을 통해 변경될 수 있습니다. 솔루션 상태 허브는 인스턴스 내에서 규칙을 실행하여 환경의 구성을 검증합니다. 일부 규칙은 현장 서비스에만 적용되며, 문제가 발생하면 필요에 따라 실행할 수 있습니다. 일부 규칙은 Field Service를 설치하거나 업데이트하면 자동으로 적용됩니다.

환경의 상태를 모니터링하려면 정기적으로 솔루션 상태 허브 규칙세트를 실행하세요.

모바일 앱 성능 고려 사항

모바일 앱을 사용자 지정하면 성능에 영향을 미칠 수 있습니다. 모바일 앱을 사용자 지정할 때 성능 고려 사항에서 자세히 알아보세요.