Делите путем


Додавање нових образаца прилагођених ентитета (Project Service Automation 2. x)

Важно

Dynamics 365 Project Service Automation се развио у Dynamics 365 Project Operations. Више информација потражите у чланку Прелазак аутоматизације услуге пројекта.

Поље Тип

Dynamics 365 Project Service Automation ослања се на поље Врста( msdyn_ordertype ) ентитета прилика, понуда, поруџбина и фактура да би разликовао радне верзије ових ентитета од верзија заснованих на артиклу и услуга. PSA управља верзијама ових ентитета заснованих на послу. Много пословне логике на страни клијента и серверске стране решења зависи од поља Врста. Због тога је важно да се ово поље покрене са тачном вредношћу приликом креирања ентитета. Нетачна вредност може проузроковати неправилна понашања, а нека пословна логика неће исправно радити.

Аутоматско пребацивање образаца

Да би се избегла потенцијална оштећења података и неочекивано понашање који су последица неправилног покретања и уређивања записа ентитета продаје, PSA сада укључује логику за аутоматско пребацивање образаца у унапред дефинисане обрасце. Ова логика преусмерава кориснике на прави образац за рад са верзијом заснованом на послу или било који други тип ентитета могућности за пословање, понуде, поруџбине или фактуре. Када корисник отвори радну верзију ентитета могућности за пословање, понуде, поруџбине или фактуре, образац се пребацује на информације о пројекту.

Логика аутоматског пребацивања обрасца ослања се на мапирање између ИД вредности обрасца и поља msdyn_ordertype обрасца. Сви унапред дефинисани обрасци су додати том мапирању. Међутим, прилагођени обрасци морају се ручно додати да би се назначило којом верзијом ентитета би требало да управљају. Ово се заснива на msdyn_ordertype пољу . Ако промена обрасца недостаје у мапирању, логика ће се пребацити на образац за излаз из оквира, на основу вредности сачуване у пољу msdyn_ordertype поља ентитета.

Додавање прилагођених образаца и укључивање логике промене обрасца

Следећи пример приказује како се додаје прилагођени образац,,Моје информације о пројекту ", тако да функционише са пословним могућностима. Исти процес се користи за додавање прилагођених образаца како би функционисале са понудама, поруџбинама и фактурама.

Следите ове кораке да бисте креирали прилагођену верзију обрасца "Информације о пројекту ".

  1. У ентитету могућности за пословање отворите образац " Информације о пројекту" и сачувајте копију под именом Моје информације о пројекту.

  2. Отворите нови образац, а затим се у својствима уверите да су присутне скрипте за покретање обрасца из обрасца "Информације о пројекту".

    Важно

    Немојте уклањати скрипте. У супротном, неки подаци могу бити неправилно покренути.

  3. Проверите да ли је поље msdyn_ordertype ) присутно у обрасцу.

    Важно

    Немојте уклањати ово поље. У супротном, скрипте за покретања неће успети.

  4. Пронађите ИД вредности обрасца новог обрасца. Овај корак можете да обавите на два начина:

    • Извезите образац "Моје информације о пројекту" као део неконформираног решења, а затим потражите вредност "ИД обрасца" у датотеци прилагођавања.xмл датотеку извезеног решења.
    • Отворите образац "Моје информације о пројекту" у дијалогу уређивач образаца, а затим потражите глобални јединствени идентификатор (ГУИД) поред параметра "ИД " у УРЛ адреси, као што је приказано на следећој илустрацији.

    Вредност formId новог обрасца у URL адреси.

  5. Креирајте msdyn_ordertype мапирање вредности ИД обрасца уређивањем Веб ресурса msdyn_/СалесДоцумент/ПССалесДоцументЦустомФормИдс.јс веб ресурса. Уклоните кôд из ресурса и замените га следећим кодом.

    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. Сачувајте, а затим објавите прилагођавања.