Share via


Új egyéni entitás-űrlapok hozzáadása (Project Service Automation 2.x)

Fontos

A Dynamics 365 Project Service Automation átalakult a Dynamics 365 Project Operations szolgáltatássá. További tájékoztatás: Project Service Automation áttérés.

Mező típusa

Dynamics 365 Project Service Automation a Lehetőség, Árajánlat, Rendelés és Számla entitások Típus(msdyn_ordertype ) mezőjére támaszkodik, hogy megkülönböztesse ezen entitások munkaalapúverzióit acikk- és szolgáltatásalapú verzióktól . Az entitások munkaalapú változatát a PSA kezeli. A megoldás ügyfél- és kiszolgálóoldalán sok üzleti logika függ a Típus mezőtől. Ezért fontos, hogy az entitások létrehozásakor a program a megfelelő értékkel inicializálja a mezőt. A helytelen értékek helytelen viselkedést okozhatnak, és előfordulhat, hogy bizonyos üzleti logika nem működik megfelelően.

Automatikus űrlapváltás

Ha el szeretné kerülni az esetleges adatsérüléseket és a váratlan viselkedéseket, amelyeket az értékesítési entitások bejegyzéseinek helytelen inicializálása és módosítása okoz, a PSA az űrlapon kívüli űrlapokon történő automatikus átváltáshoz tartalmaz logikai adatokat. Ez a logika a megfelelő űrlapra viszi a felhasználókat a munkaalapú verzió vagy bármely más típusú Lehetőség, Árajánlat, Megrendelés, vagy Számla entitás használata során. Amikor egy felhasználó megnyitja egy Lehetőség, Árajánlat, Rendelés vagy Számla entitás munkaalapú verzióját, a képernyő Projektinformációkra vált.

Az automatikus űrlapváltási logika a formId érték és a msdyn_ordertype mező közötti leképezésen alapul. A leképezéshez az összes nem beépített űrlap hozzá van adva. Az egyéni űrlapokat azonban kézzel kell hozzáadni ahhoz, hogy meg lehesesn adni, a kezelni kívánt entitás melyik verzióját kívánja használni. Ez a msdyn_ordertype mezőn alapul. Ha az űrlapváltás hiányzik a leképezésből, a logika átvált a beépített űrlapra az entitás msdyn_ordertype mezőjében mentett érték alapján.

Egyéni űrlapok hozzáadása és az űrlapátváltás logikájának bekapcsolása

A következő példa bemutatja, hogyan adhat hozzá egyéni űrlapot, a Saját projektadatokat , hogy működjön a munkaalapú lehetőségekkel. Ugyanez a folyamat használható az egyéni űrlapok hozzáadására, hogy az ajánlatokat, megrendeléseket és számlákat használják.

Kövesse az alábbi lépéseket a Projekt adatai képernyő egyéni verziójának létrehozásához.

  1. A Lehetőség entitásban nyissa meg a Projekt adatai képernyőt, és mentsen egy másolatot Saját projektadatok néven.

  2. Nyissa meg az új képernyőt, majd a tulajdonságok között ellenőrizze, hogy a Projekt adatai űrlap inicializálási parancsfájljai jelen vannak-e.

    Fontos

    Ne távolítsa el a parancsfájlokat. Ellenkező esetben előfordulhat, hogy egyes adatok hibásan lesznek inicializálva.

  3. Ellenőrizze, hogy a Type (msdyn_ordertype) mező megtalálható-e az űrlapon.

    Fontos

    Ne távolítsa el ezt a mezőt. Ellenkező esetben az inicializációs parancsfájlok sikertelenek lesznek.

  4. Keresse meg az új űrlap formId értékét. Ezt kétféleképpen teheti meg:

    • Exportálja a Saját projekt adatai képernyőt egy nem felügyelt megoldás részeként, majd keresse meg aformId értéket az exportált megoldás testreszabási .xml fájljában.
    • Nyissa meg a Saját projekt adatai űrlapot a űrlapszerkesztő mappában, majd keresse meg a globálisan egyedi azonosítót (GUID) afromId paraméter mellett az URL-címben, ahogy az alábbi ábrán látható.

    Az új űrlap formId értéke az URL-ben.

  5. Hozzon létre egy msdyn_ordertype leképezést a formId értékhez a msdyn_/SalesDocument/PSSalesDocumentCustomFormIds .js webes erőforrás szerkesztésével. Távolítsa el a kódot az erőforrásból, és cserélje le az alábbi kódra.

    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. Mentse el, majd tegye közzé a testreszabásokat.