Bagikan melalui


Praktik terbaik kustomisasi

Ikuti praktik terbaik ini untuk menghindari masalah kinerja, kegunaan, dan dukungan Dynamics 365 Field Service.

Meminimalkan bidang kustom pada formulir

Penyesuai sistem menambahkan bidang kustom ke formulir entitas untuk menangkap informasi khusus untuk industri dan bisnis mereka, untuk menjalankan proses bisnis, dan untuk mengumpulkan informasi untuk dilaporkan. Namun, terlalu banyak bidang kustom pada formulir dapat menyebabkan masalah kinerja.

Untuk menghindari masalah kinerja:

  • Minimalkan jumlah bidang kustom di semua formulir. Memulai dengan formulir perintah kerja adalah ide yang baik jika itu adalah formulir yang paling sering Anda gunakan di aplikasi Field Service.
  • Minimalkan bidang tipe pencarian dan subkisi di antara bidang kustom.
  • Memindahkan bidang kustom (terutama pencarian dan subkisi) dari tab formulir pertama ke tab formulir lainnya.
  • Sembunyikan bidang yang kurang digunakan secara default pada formulir.

Jangan mengubah sumber daya web, rangkaian opsi, peran keamanan, atau alur kerja bawaan

Jangan mengubah atau mengkustomisasi sumber daya web, rangkaian opsi, peran keamanan, atau alur kerja siap pakai. Hal ini dapat mengakibatkan perilaku sistem yang tidak diinginkan.

Organisasi yang menyesuaikan komponen ini mungkin tidak segera melihat masalah di lingkungan mereka. Namun, karena Microsoft merilis perubahan pada komponen out-of-box yang disesuaikan, perubahan ini tidak diterapkan ke lapisan atas komponen tersebut. Lapisan khusus yang disesuaikan mengesampingkan semua perubahan di masa mendatang, yang pada akhirnya menyebabkan kesalahan dan perilaku yang tidak terduga.

Jangan mengubah, mengedit, atau menghapus kolom tanggal atau status sistem

Memodifikasi, mengedit, atau menghapus bidang tanggal dan status dapat memengaruhi logika bisnis dan dapat menyebabkan masalah dengan pembaruan solusi. Contoh tanggal perintah kerja adalah waktu dari yang dijanjikan dan waktu yang dijanjikan. Contoh bidang status termasuk status sistem perintah kerja dan status sistem perjanjian.

Jangan mengedit atau menghapus bidang bawaan dari formulir

Pelanggan mengedit bidang out-of-the-box untuk mengakomodasi kebutuhan bisnis mereka. Namun, mengedit bidang out-of-the-box dapat menyebabkan kesalahan, terutama ketika proses bergantung pada nilai bidang tersebut.

Untuk menghindari kesalahan:

  • Menyembunyikan bidang yang tidak diinginkan dari formulir.
  • Memindahkan bidang yang tidak diinginkan ke tab formulir lain.

Berikut ini hanya satu contoh: Proses Field Service menghitung nilai bidang Perkiraan Waktu Kedatangan pada catatan Pemesanan Sumber Daya Dapat Dipesan untuk menunjukkan kapan pekerja garis depan diharapkan tiba di lokasi. Jika organisasi Anda tidak memerlukan bidang ini, sembunyikan di formulir daripada menghapusnya.

Jangan mengedit nilai rangkaian pilihan (pilihan)

Mengedit nilai rangkaian pilihan bidang siap pakai dapat menyebabkan kesalahan, terutama saat proses bergantung pada nilai bidang tersebut atau selama pemutakhiran.

Untuk menghindari kesalahan:

  • Hanya edit rangkaian pilihan label dan jangan pernah mengedit rangkaian pilihan nilai bidang siap pakai.
  • Jangan hapus pilihan rangkaian pilihan apa pun.
  • Jangan menambahkan pilihan rangkaian pilihan.

Berikut ini hanya satu contoh: Perintah kerja Field Service mencakup bidang yang disebut "Status Sistem" secara default. Bidang ini adalah rangkaian pilihan (ketik "pilihan") dengan opsi seperti Tidak Terjadwal, Terjadwal, Dalam proses, Selesai, Dibatalkan, dll. Masing-masing opsi ini memiliki label dan nilai numerik terkait. Administrator sistem dapat mengedit label kumpulan opsi (seperti "Tidak terjadwal") tetapi tidak pernah dapat mengedit nilai numerik label terkait.

Gunakan lebih sedikit skrip kustom dan ikuti praktik terbaik

Penyesuai sistem menulis skrip, biasanya sumber daya web JavaScript, untuk menjalankan logika bisnis. Namun, skrip kustom dapat menyebabkan masalah kinerja, kesalahan, dan komplikasi saat memutakhirkan.

Untuk menghindari masalah ini:

  • Minimalkan skrip yang berjalan saat dimuat.
  • Jangan menulis skrip yang memanggil banyak data atau menulis beberapa skrip yang memanggil data yang sama.

Ikuti praktik terbaik skrip formulir lainnya, termasuk praktik terbaik berikut.

Meminimalkan jumlah permintaan jaringan dan jumlah data yang diminta dalam peristiwa OnLoad

Semakin tinggi jumlah permintaan jaringan yang dibuat selama pemuatan formulir, dan semakin banyak jumlah data yang diunduh dari permintaan tersebut, semakin banyak waktu yang dibutuhkan untuk memuat formulir. Cukup minta jumlah data minimum yang diperlukan. Selain itu, pertimbangkan untuk membuat cache data bila mungkin untuk menghindari permintaan data yang tidak perlu dalam memuat halaman di masa mendatang.

Hindari menggunakan permintaan jaringan sinkron

Permintaan jaringan sinkron dapat menyebabkan memuat halaman lambat dan formulir yang tidak responsif. Gunakan permintaan asinkron sebagai gantinya. Lihat posting blog ini untuk contoh lainnya. Selain itu, pertimbangkan untuk menggunakan "async and wait" dalam skenario apa pun di mana beberapa panggilan jaringan untuk entitas dan rekaman yang sama diperlukan; Temukan detail selengkapnya di sini.

Hindari menyertakan pustaka sumber daya web JavaScript yang tidak perlu

Semakin banyak skrip yang Anda tambahkan ke formulir, semakin banyak waktu yang dibutuhkan untuk mengunduhnya. Biasanya skrip di-cache di browser Anda setelah dimuat pertama kali, tetapi kinerja saat pertama kali formulir dilihat sering kali menciptakan kesan yang signifikan.

Hindari memuat semua skrip dalam peristiwa Onload

Jika Anda memiliki kode yang hanya mendukung peristiwa OnChange untuk kolom atau peristiwa OnSave, pastikan untuk mengatur pustaka skrip dengan penanganan peristiwa untuk peristiwa tersebut, bukan peristiwa OnLoad. Dengan demikian pemuatan perpustakaan tersebut dapat ditunda dan meningkatkan kinerja saat formulir dimuat.

Menggunakan tab yang diciutkan untuk menunda pemuatan sumber daya web

Saat sumber daya web atau komponen iframe disertakan dalam bagian di dalam tab yang diciutkan, sumber daya web atau komponen iframe tidak dimuat jika tab diciutkan. Mereka memuat ketika tab diperluas. Ketika status tab berubah, peristiwa TabStateChange terjadi. Kode apa pun yang diperlukan untuk mendukung sumber daya web atau iframe dalam tab yang diciutkan dapat menggunakan penanganan peristiwa untuk peristiwa TabStateChange dan mengurangi kode yang mungkin harus terjadi dalam peristiwa OnLoad.

Hindari permintaan jaringan duplikat dalam kode sisi klien

Beberapa atau duplikat permintaan jaringan dapat menyebabkan browser web macet dan berdampak pada waktu buka formulir. Mengurangi jumlah permintaan dapat meningkatkan kinerja. Alternatifnya adalah mengkonsolidasikan permintaan jaringan dan menyimpan nilai permintaan dalam cache. Pertimbangkan juga permintaan jaringan asinkron seperti yang disebutkan sebelumnya.

Hindari menggunakan peran dan panggilan khusus pengguna sistem jika informasi yang relevan tersedia di XRM API

Gunakan XRM API untuk menghindari permintaan jaringan guna mendapatkan info hak istimewa pengguna. Lihat artikel berikut tentang transisi dari permintaan sinkron. Demikian pula, hindari panggilan pengguna sistem jika informasi dari XRM API memenuhi persyaratan Anda.

Mengatur opsi visibilitas default

Hindari menggunakan skrip formulir dalam peristiwa OnLoad yang menyembunyikan elemen formulir. Tetapkan standar pilihan visibilitas default untuk elemen formulir yang mungkin tersembunyi agar tidak terlihat secara default bila formulir dimuat. Kemudian, gunakan skrip dalam peristiwa OnLoad untuk menampilkan elemen formulir yang ingin Anda tampilkan.

Untuk informasi selengkapnya, lihat sumber daya ini:

Jalankan Pemeriksa Solusi pada skrip Anda

Pemeriksa Power Apps solusi adalah alat yang berguna dari Microsoft yang memeriksa Power Apps solusi untuk masalah dan merekomendasikan praktik terbaik. Masalah ini termasuk masalah dengan JavaScript, HTML, Plugin, dan aktivitas alur kerja kustom.

Untuk informasi selengkapnya, lihat sumber daya ini:

Gunakan alur kerja asinkron alih-alih sinkron

Penyesuai sistem sering menulis alur kerja sinkron untuk melakukan logika bisnis secara real time yang dijalankan saat data diubah di Field Service. Namun, menjalankan alur kerja secara sinkron menurunkan kinerja.

Untuk menghindari masalah kinerja, jalankan alur kerja secara asinkron.

Aktifkan Field Service dan penjadwalan sumber daya proses out-of-the-box

Field Service dan Resource Scheduling dikirimkan dengan banyak proses yang melakukan logika bisnis yang diperlukan.

Proses yang dinonaktifkan dapat menyebabkan kesalahan.

Untuk menghindari masalah, pastikan semua proses Field Service dan penjadwalan sumber daya dalam keadaan aktif. Untuk mengidentifikasi apakah proses dalam keadaan dinonaktifkan, jalankan Field Service Pusat Kondisi Solusi secara teratur.

Jalankan Pusat Kondisi Solusi untuk mendeteksi masalah

Pusat Solusi kesehatan memungkinkan Anda untuk mendapatkan gambaran yang lebih baik tentang kondisi lingkungan Anda dan mendeteksi masalah lingkungan Dynamics 365 Anda. Pusat Kesehatan solusi menjalankan aturan dalam instans untuk memvalidasi konfigurasi lingkungan, yang mungkin berubah dari waktu ke waktu melalui operasi sistem alami. Beberapa aturan spesifik untuk Dynamics 365 Field Service dan Anda dapat menjalankan aturan sesuai permintaan saat Anda mengalami masalah. Beberapa aturan secara otomatis terpicu saat Field Service diinstal atau diperbarui.

Untuk memantau kesehatan lingkungan Anda, jalankan Field Service Pusat Kondisi Solusi rulesset secara rutin .

Pertimbangan performa aplikasi seluler

Menyesuaikan aplikasi seluler juga dapat memengaruhi kinerja. Untuk informasi selengkapnya, buka Pertimbangan performa saat menyesuaikan aplikasi seluler.