Deli z drugimi prek


Dodajanje novih obrazcev entitet po meri (Project Service Automation 2.x)

Pomembno

Storitev Dynamics 365 Project Service Automation se je razvila v Dynamics 365 Project Operations. Če želite več informacij, glejte Prehod na avtomatizacijo storitev za Project Service.

Polje »Vrsta«

Dynamics 365 Project Service Automation se opira na polje »Vrsta( msdyn_ordertype) entitet »Priložnost«, »Ponudba«, »Naročilo« in »Račun«, da razlikuje med delovnimi različicami teh entitet in različicami, ki temeljijo na elementih in storitvah. Različice teh entitet, ki temeljijo na delu, obravnava PSA. Veliko poslovne logike na strani odjemalca in strežnika rešitve je odvisno od polja Vrsta . Zato je pomembno, da je polje v začetku izpolnjeno s pravilno vrednostjo, ko so entitete ustvarjene. Nepravilna vrednost lahko povzroči nepravilne postopke, del poslovne logike pa morda ne bo pravilno izveden.

Samodejni preklop obrazcev

Da se prepreči poškodovanje podatkov in nepričakovano delovanje, ki ga povzroči nepravilno prvotno izpolnjevanje in urejanje zapisov prodajnih entitet, PSA za vnaprej pripravljene obrazce zdaj vključuje logiko samodejnega preklopa obrazcev. Ta logika uporabnike usmeri na pravilen obrazec za delo z različico, ki temelji na delu, ali katero koli drugo vrsto entitete priložnosti, ponudbe, naročila ali računa. Ko uporabnik odpre službeno različico entitete »Priložnost«, »Ponudba«, »Naročilo« ali »Račun«, se obrazec preklopi na »Informacije o projektu«.

Logika samodejnega preklapljanja obrazcev temelji na preslikavi vrednosti formId in polja msdyn_ordertype . V to preslikavo so bili dodani vsi vnaprej pripravljeni obrazci. Obrazce po meri pa je treba ročno dodati, pri čemer je treba navesti, katero različico entitete naj obravnavajo. To temelji na msdyn_ordertype polju . Če v preslikavi manjka preklapljanje med obrazci, logika preklopi na vnaprej pripravljen obrazec na podlagi vrednosti, ki je shranjena v polju msdyn_ordertype entitete.

Dodajanje obrazcev po meri in vklop logike za preklapljanja obrazcev

V spodnjem primeru je prikazano, kako dodate obrazec po meri,Informacije o mojem projektu, tako da deluje s priložnostmi, ki temeljijo na delu. Isti postopek se uporablja za dodajanje obrazcev po meri, da delujejo s ponudbami, naročili in računi.

Sledite tem korakom, če želite ustvariti različico obrazca Informacije o projektu po meri.

  1. V entiteti Priložnost odprite obrazec Informacije o projektu in shranite kopijo pod imenom Moje informacije o projektu.

  2. Odprite nov obrazec in se prepričajte, da so v lastnostih prisotni skripti za inicializacijo obrazca iz obrazca Informacije o projektu.

    Pomembno

    Skriptov ne odstranjujte. Če to storite, bodo nekateri podatki morda nepravilno inicializirani.

  3. Preverite, ali je polje Vrsta (msdyn_ordertype) prisotno v obrazcu.

    Pomembno

    Tega polja ne odstranjujte. Če to storite, skripti za inicializacijo ne bodo uspešni.

  4. Poiščite vrednost formId novega obrazca. Ta korak lahko izvedete na dva načina:

    • Obrazec »Moje informacije o projektu« izvozite kot del neupravljane rešitve in nato poiščite vrednost formId v datoteki prilagajanja.xml izvožene rešitve.
    • Odprite obrazec Informacije o mojem projektu v urejevalnik obrazcev in poiščite globalni enolični identifikator (GUID) poleg parametra fromId v URL-ju, kot je prikazano na spodnji sliki.

    Vrednost formId novega obrazca v URL-ju.

  5. Ustvarite msdyn_ordertype preslikavo za vrednost formId tako, da uredite spletni vir msdyn_/SalesDocument/PSSalesDocumentCustomFormIds.js. Odstranite kodo iz vira in jo zamenjajte z naslednjo kodo.

    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. Shranite prilagoditve in jih nato objavite.