Jagamisviis:


Kohandatud olemite uute vormide lisamine (Project Service Automation 2.x)

Oluline

Dynamics 365 Project Service Automation on läinud üle rakenduseks Dynamics 365 Project Operations. Lisateavet vaadake jaotisest Project Service Automationi üleminek.

Välja tüüp

Dynamics 365 Project Service Automation tugineb müügivõimaluse, hinnapakkumise, tellimuse ja arve olemite väljale Tüüp (msdyn_ordertype), et eristada nende olemite tööpõhiseid versioone kauba- ja teenusepõhistest versioonidest. Nende olemite tööpõhiseid versioone käsitletakse PSA-s. Palju äriloogikat lahenduse kliendi ja serveri poolel sõltub väljast Tüüp . Seetõttu on oluline, et väli lähtestatakse olemite loomisel õigete väärtusega. Vale väärtus võib põhjustada valet käitumist ja mõni äriloogika ei pruugi õigesti töötada.

Automaatne vormi vahetamine

Üksuse kirjete valest lähtestamisest ja muutmisest põhjustatud võimaliku andmete rikkumise ja ootamatu käitumise vältimiseks on PSA kasutusvalmise vormides nüüd ka automaatseks vormiks ümberlülitamise loogika. See loogika viib kasutajad õigele vormile, et töötada tööpõhise versiooniga või mis tahes muud tüüpi müügivõimaluse, hinnapakkumise, tellimuse või arve üksusega. Kui kasutaja avab müügivõimaluse, hinnapakkumise, tellimuse või arve olemi tööpõhise versiooni, lülitatakse vorm ümber projektiteabele.

Vormi automaatse vahetamise loogika tugineb formId väärtuse ja välja msdyn_ordertype vahelisele vastendusele. Kõik kasutusvalmis vormid on lisatud sellesse vastendamisse. Kohandatud vorme tuleb siiski käsitsi lisada, et näidata, millist olemi versiooni need käsitlema peaks. See põhineb msdyn_ordertype väljal . Kui vormivahetus vastendusest puudub, lülitub loogika valmiskujul vormile, mis põhineb olemi väljale msdyn_ordertype salvestatud väärtusel.

Kohandatud vormide lisamine ja vormilülituse loogika sisselülitamine

Järgmises näites kirjeldatakse, kuidas lisada kohandatud vormi Minu projekti teave nii, et see töötaks koos tööpõhiste müügivõimalustega. Sama protsessi kasutatakse kohandatud vormide lisamisel, nii et need töötavaks hinnapakkumiste, tellimuste ja arvetega.

Vormist Projektiteave kohandatud versiooni loomiseks tehke järgmist.

  1. Avage olemis Võimalus vorm Projektiteave ja salvestage selle koopia nimega Minu projektiteave.

  2. Avage uus vorm ja veenduge atribuutides, et vormi initsialiseerimise skriptid vormil Projektiteave on olemas.

    Oluline

    Ärge eemaldage skripte. Muidu võidakse teatud andmed valesti lähtestada.

  3. Veenduge, et väli Tüüp (msdyn_ordertype) oleks vormil olemas.

    Oluline

    Ärge eemaldage seda välja. Muidu ei hakka lähtestamise skriptid tööle.

  4. Leidke uue vormi formId väärtus. Nende sammude läbimiseks on kaks võimalust.

    • Eksportige vorm Minu projektiteave mittehallatava lahenduse osana ja seejärel otsige eksporditud lahenduse failist customization.xml väärtust formId .
    • Avage väljaredaktor vorm Minu projektiteave ja otsige URL-is parameetri fromId kõrval olevat globaalset ainuidentifikaatorit (GUID), nagu on näidatud järgmisel joonisel.

    URL-il oleva uue vormi formId-väärtus.

  5. Looge msdyn_ordertype vastendus formId väärtusele , redigeerides veebiressurssi msdyn_/SalesDocument/PSSalesDocumentCustomFormIds.js. Eemaldage ressursist kood ja asendage see järgmise koodiga.

    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. Salvestage kohandus ja seejärel avaldage see.