Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Bedeutung
Dynamics 365 Project Service Automation wurde zu Dynamics 365 Project Operations weiterentwickelt. Weitere Informationen finden Sie unter Übergang zu Project Service Automation.
Feld 'Typ'
Dynamics 365 Project Service Automation basiert auf dem Feld "Typ " (msdyn_ordertype) der Entitäten "Verkaufschance", "Angebot", "Auftrag" und "Rechnung", um arbeitsbasierte Versionen dieser Entitäten von elementbasierten und dienstbasierten Versionen zu unterscheiden. Arbeitsbasierte Versionen dieser Entitäten werden von PSA behandelt. Viele Geschäftslogik auf clientseitiger und serverseitiger Lösung hängt vom Feld "Typ " ab. Daher ist es wichtig, dass das Feld beim Erstellen der Entitäten mit einem richtigen Wert initialisiert wird. Ein falscher Wert kann zu falschen Verhaltensweisen führen, und einige Geschäftslogik wird möglicherweise nicht ordnungsgemäß ausgeführt.
Automatisches Wechseln von Formularen
Um mögliche Datenverfälschungen und unerwartete Verhaltensweisen zu vermeiden, die durch eine fehlerhafte Initialisierung und Bearbeitung der Verkaufsentitätsdatensätze verursacht werden, enthält PSA jetzt eine Logik für den automatischen Formularwechsel in Standardformularen. Diese Logik führt den Benutzer zum richtigen Formular für die Arbeit mit der arbeitsbasierten Version oder einem anderen Typ der Entitäten Verkaufschance, Angebot, Bestellung oder Rechnung. Wenn ein Benutzer die arbeitsbasierte Version einer Verkaufschancen-, Angebots-, Bestellungs- bzw. Rechnungsentität öffnet, wird zum Formular Projektinformationen gewechselt.
Die logik für den automatischen Wechsel von Formularen basiert auf der Zuordnung zwischen dem FormId-Wert und dem feld msdyn_ordertype . Alle Standardformulare wurden zu dieser Zuordnung hinzugefügt. Benutzerdefinierte Formulare müssen jedoch manuell hinzugefügt werden, um anzugeben, welche Version der Entität sie behandeln sollen. Dies basiert auf dem feld msdyn_ordertype . Wenn der Formularwechsel in der Zuordnung fehlt, wechselt die Logik auf der Grundlage des Werts, der im Feld msdyn_ordertype der Entität gespeichert ist, zum Standardformular.
Hinzufügen von benutzerdefinierten Formularen und Aktivieren der Formularwechsellogik
Das folgende Beispiel zeigt, wie Sie ein benutzerdefiniertes Formular, "Meine Projektinformationen", hinzufügen, damit es mit arbeitsbezogenen Gelegenheiten funktioniert. Derselbe Prozess wird verwendet, um benutzerdefinierte Formulare hinzuzufügen, sodass sie mit Angeboten, Bestellungen und Rechnungen arbeiten.
Führen Sie die folgenden Schritte aus, um eine benutzerdefinierte Version des Projektinformationsformulars zu erstellen.
Öffnen Sie in der Verkaufschancen-Einheit das Formular „Projektinformationen“, und speichern Sie eine Kopie unter dem Namen „Meine Projektinformationen“.
Öffnen Sie das neue Formular, und stellen Sie dann in den Eigenschaften sicher, dass die Formularinitialisierungsskripts aus dem Projektinformationsformular vorhanden sind.
Von Bedeutung
Entfernen Sie die Skripts nicht. Andernfalls werden einige Daten möglicherweise falsch initialisiert.
Stellen Sie sicher, dass das Feld "Typ " (msdyn_ordertype) im Formular vorhanden ist.
Von Bedeutung
Entfernen Sie dieses Feld nicht. Andernfalls schlagen die Initialisierungsskripts fehl.
Suchen Sie den FormId-Wert des neuen Formulars. Sie können diesen Schritt auf zwei Arten ausführen:
- Exportieren Sie das Formular "Meine Projektinformationen " als Teil einer nicht verwalteten Lösung, und suchen Sie dann den FormId-Wert in der customization.xml Datei der exportierten Lösung.
- Öffnen Sie das Formular "Meine Projektinformationen " im Formular-Editor, und suchen Sie dann neben dem FromId-Parameter in der URL nach dem GUID (Globally Unique Identifier), wie in der folgenden Abbildung dargestellt.
Erstellen Sie eine msdyn_ordertype Zuordnung für den FormId-Wert , indem Sie die Webressource msdyn_/SalesDocument/PSSalesDocumentCustomFormIds.js bearbeiten. Entfernen Sie den Code aus der Ressource, und ersetzen Sie ihn durch den folgenden Code.
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; });Speichern Und veröffentlichen Sie dann die Anpassungen.