Bagikan melalui


Tambahkan formulir entitas kustom baru (Project Service Automation 2. x)

Penting

Dynamics 365 Project Service Automation telah berkembang menjadi Dynamics 365 Project Operations. Untuk informasi selengkapnya, lihat Transisi Project Service Automation.

Bidang Jenis

Dynamics 365 Project Service Automation bergantung pada bidang Jenis (msdyn_ordertype) entitas Peluang, Kuotasi, Pesanan, dan Faktur untuk membedakan versi berbasis kerja entitas ini dari versi berbasis item dan berbasis layanan . Versi berbasis pekerjaan dari entitas ini ditangani oleh PSA. Banyak logika bisnis di sisi klien dan sisi server solusi tergantung pada bidang Type . Oleh karena itu, penting bahwa bidang diinisialisasi dengan nilai yang benar saat entitas dibuat. Nilai yang salah dapat menyebabkan perilaku yang tidak benar, dan beberapa logika bisnis mungkin tidak berjalan dengan benar.

Pengalihan formulir otomatis

Untuk menghindari kerusakan data potensial dan perilaku tak terduga yang disebabkan oleh inisialisasi salah dan mengedit rekaman entitas penjualan, PSA sekarang mencakup logika untuk beralih formulir otomatis dalam formulir bawaan. Logika ini akan membawa pengguna ke formulir yang benar untuk bekerja dengan versi berbasis pekerjaan atau jenis peluang, kuotasi, pesanan, atau entitas faktur lainnya. Saat pengguna membuka versi berbasis kerja entitas peluang, kuotasi, pesanan, atau faktur, formulir dialihkan ke informasi proyek.

Logika pengalihan formulir otomatis bergantung pada pemetaan antara nilai formId dan bidang msdyn_ordertype . Semua formulir bawaan telah ditambahkan ke pemetaan tersebut. Namun, formulir kustom harus ditambahkan secara manual untuk menunjukkan versi entitas yang ditujukan untuk ditangani. Ini didasarkan pada bidang msdyn_ordertype . Jika pengalihan formulir hilang dari pemetaan, logika akan beralih ke formulir siap pakai, berdasarkan nilai yang disimpan di bidang msdyn_ordertype entitas.

Tambahkan formulir kustom dan Hidupkan logika beralih formulir

Contoh berikut menunjukkan cara menambahkan formulir kustom,Informasi Proyek Saya, sehingga berfungsi dengan peluang berbasis kerja. Proses yang sama digunakan untuk menambahkan formulir kustom agar berfungsi dengan kuotasi, pesanan, dan faktur.

Ikuti langkah-langkah ini untuk membuat versi kustom formulir Informasi Proyek.

  1. Di entitas peluang, buka formulir informasi proyek, dan simpan salinan dengan nama informasi proyek saya.

  2. Buka formulir baru, dan kemudian, di properti, pastikan bahwa skrip inisialisasi formulir dari formulir informasi proyek ada.

    Penting

    Jangan hapus skrip. Jika tidak, beberapa data mungkin diinisialisasi dengan tidak benar.

  3. Verifikasi bahwa bidang Type (msdyn_ordertype) ada dalam formulir.

    Penting

    Jangan hapus bidang ini. Jika tidak, skrip inisiasi akan gagal.

  4. Temukan nilai formId formulir baru. Anda dapat menyelesaikan langkah ini dengan dua cara:

    • Ekspor formulir Informasi Proyek Saya sebagai bagian dari solusi tidak terkelola, lalu cari nilai formId dalam file customization.xml solusi yang diekspor.
    • Buka formulir Informasi Proyek Saya di editor formulir, lalu cari pengidentifikasi unik global (GUID) di samping parameter fromId di URL, seperti yang diperlihatkan dalam ilustrasi berikut.

    Nilai formId formulir baru di URL.

  5. Buat pemetaan msdyn_ordertype untuk nilai formId dengan mengedit sumber daya web msdyn_/SalesDocument/PSSalesDocumentCustomFormIds.js. Hapus kode dari sumber daya, dan gantilah dengan kode berikut.

    define(["require", "exports"], function (require, exports) {
        "use strict";
        var SalesDocumentCustomFormIds = (function () {
            function SalesDocumentCustomFormIds() {
            }
            SalesDocumentCustomFormIds.overwriteFormIds = function (mappedFormIds) {
                /*
                ---- Notes ----
                mappedFormIds[SalesEntity][OrderType] => The array of forms IDs that support particular entity and order type
                Add or overwrite customized formId for the particular entity and order type by calling:
                    mappedFormIds[<EntityType>][<msdyn_ordertype>].push("<formId>");
                Allowed msdyn_ordertype values for reference:
                    ServiceBased: 690970002 (Field Service version of the entity)
                    WorkBased: 192350001 (PSA version of the entity)
                    ItemBased: 192350000 (Regular out of the box entity)
                Uncomment and update one of the following lines to register custom PSA form for required entity:
                */		
                //mappedFormIds[1][192350001].push("<formId>"); //Quote
                //mappedFormIds[5][192350001].push("<formId>"); //Quote Line
                //mappedFormIds[2][192350001].push("<formId>"); //Sales Order
                //mappedFormIds[6][192350001].push("<formId>"); //Sales Order Line
                // In this example we have added new form for Opportunity
                mappedFormIds[0][192350001].push("192EE537-DCC4-45D3-B7AF-EA694B9113D2"); //Opportunity
                //mappedFormIds[4][192350001].push("<formId>"); //Opportunity Line
            };
            return SalesDocumentCustomFormIds;
        }());
        exports.default = SalesDocumentCustomFormIds;
    });
    
  6. Simpan, lalu Publikasikan penyesuaian.