Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Rozwiązanie Dynamics 365 Project Service Automation rozwinęło się w Dynamics 365 Project Operations. Aby uzyskać więcej informacji, zobacz przejście do rozwiązania Project Service Automation.
Pole Typ
Program Dynamics 365 Project Service Automation wykorzystuje pole Typ (msdynordertype) w encjach Szansa sprzedaży, Oferta, Zamówienie i Faktury do rozróżniania między wersjami tych encji opartymi na pracy, opartymi na towarach i opartymi na usługach. Wersje robocze tych jednostek są obsługiwane przez PSA. Wiele logiki biznesowej po stronie klienta i po stronie serwera rozwiązania zależy od pola Typ . Dlatego ważne jest, aby pole było inicjowane przy użyciu poprawnej wartości podczas tworzenia jednostek. Nieprawidłowa wartość może powodować nieprawidłowe zachowania, a niektóre logiki biznesowej mogą nie działać poprawnie.
Automatyczne przełączanie formularzy
Aby uniknąć potencjalnego uszkodzenia danych i nieoczekiwanych zachowań spowodowanych niepoprawną inicjalizacją i zmodyfikowaniem rekordów encji sprzedaży, program PSA zawiera teraz logikę automatycznego przełączania gotowych formularzy. Logika powoduje przeniesienie użytkownika do formularza odpowiedniego do pracy z wersją opartą na pracy lub z dowolnym innym typem encji Szansa sprzedaży, Oferta, Zamówienie lub Faktura. Kiedy użytkownik otworzy wersję encji Szansa sprzedaży, Oferta, Zamówienie lub Faktura opartą na pracy, formularz jest przełączany na Informacje o projekcie.
Logika automatycznego przełączania formularzy opiera się na mapowaniu między wartością formId a polem msdyn_ordertype . Wszystkie gotowe formularze zostały dodane do tego mapowania. Należy jednak ręcznie dodać formularze niestandardowe, aby wskazać, która wersja jednostki ma być obsługiwana. Jest to oparte na polu msdyn_ordertype . Jeśli opcji przełączania formularzy nie ma w mapowaniu, logika przełączy na gotowy formularz na podstawie wartości zapisanej w polu msdyn_ordertype w encji.
Dodawanie formularzy niestandardowych i włączanie logiki przełączania formularzy
W poniższym przykładzie pokazano, jak dodać formularz niestandardowy My Project Information, aby współdziałał z możliwościami pracy. Ten sam proces służy do dodawania formularzy niestandardowych, tak aby działały z ofertami, zamówieniami i fakturami.
Wykonaj następujące kroki, aby utworzyć niestandardową wersję formularza Informacje o projekcie .
W obiekcie 'Szansa' otwórz formularz Informacje o projekcie i zapisz jej kopię pod nazwą Moje Informacje o Projekcie.
Otwórz nowy formularz, a następnie we właściwościach upewnij się, że istnieją skrypty inicjowania formularza z formularza Informacje o projekcie .
Ważne
Nie usuwaj skryptów. W przeciwnym razie niektóre dane mogą zostać zainicjowane niepoprawnie.
Sprawdź, czy pole Typ (msdyn_ordertype) znajduje się w formularzu.
Ważne
Nie usuwaj tego pola. W przeciwnym razie skrypty inicjalizacyjne zakończą się niepowodzeniem.
Znajdź wartość formId nowego formularza. Ten krok można wykonać na dwa sposoby:
- Wyeksportuj informacje o moim projekcie jako część rozwiązania niezarządzanego, a następnie wyszukaj wartość formId w pliku customization.xml wyeksportowanego rozwiązania.
- Otwórz formularz Moje informacje o projekcie w edytorze formularzy, a następnie wyszukaj globalnie unikatowy identyfikator (GUID) obok parametru fromId w adresie URL, jak pokazano na poniższej ilustracji.
Utwórz mapowanie msdyn_ordertype dla wartości formId , edytując zasób internetowy msdyn_/SalesDocument/PSSalesDocumentCustomFormIds.js. Usuń kod z zasobu i zastąp go następującym kodem.
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; });Zapisz, a następnie opublikuj dostosowania.