Urlaubsantrag an Workflow übermitteln
Gilt für diese Dynamics 365-Apps:
Human Resources
In Microsoft Dynamics 365 Human Resources können Sie die Anwendungsprogrammierschnittstelle (API) MyLeaveRequests submit () verwenden, um eine Urlaubsanfrage an den Workflow zu übermitteln. Diese API wird als Aktion für die OData-Entität MyLeaveRequests verfügbar gemacht.
Voraussetzungen
Die Urlaubsanforderung muss in der Datenbank gespeichert und über die MyLeaveRequests-Entität abrufbar sein.
Berechtigungen
Zum Aufrufen dieser API ist eine der folgenden Berechtigungen erforderlich. Weitere Informationen zu Berechtigungen und zu ihrer Auswahl finden Sie unter Authentifizierung.
Berechtigungstyp | Berechtigungen (von den mit den wenigsten bis zu den meisten Rechten) |
---|---|
Delegiert (Geschäfts- oder Schulkonto) | Benutzer-Identitätswechsel |
HTTPS-Anforderung
POST https://{cluster}.hr.talent.dynamics.com/namespaces/{namespace_guid}/data/MyLeaveRequests(RequestId='{requestId}', LeaveType='{leaveType}', LeaveDate={leaveDate}, dataAreaId={dataArea})/Microsoft.Dynamics.DataEntities.submit?cross-company=true
Die Anforderung entspricht den OData-Standards. Die Parameter {requestId}, {leaveType}, {leaveDate} und {dataArea} beziehen sich auf die Felder, die den zusammengesetzten natürlichen Schlüssel für die MyLeaveRequests-Entität bilden.
Notiz
Während sich die Felder für die MyLeaveRequests-Entität auf eine einzelne Zeile in der Urlaubsanforderung beziehen, wird beim Aufrufen der Übermittlungs-API die gesamte Urlaubsanforderung (alle Zeilen) an den Workflow übermittelt.
Anforderungskopfzeile
Header | Value |
---|---|
Autorisierung | Bearer-{token} (erforderlich) |
Inhaltstyp | Anwendung/JSON |
Anforderungstext
Geben Sie für diese Methode keinen Anforderungstext an.
Antwort
Eine erfolgreiche Antwort ist immer eine Antwort der Form 204 Kein Inhalt.
Nicht autorisierte Aufrufer erhalten eine Antwort der Form 401 Nicht Autorisiert oder 403 Verboten.
Wenn die Übermittlung fehlschlägt (z. B. aufgrund einer Validierung), hat die Antwort die Form 500 Serverfehler und der Antworttext enthält ein JSON-Objekt mit weiteren Details.
Beispiel
POST https://aos-rts-sf-550e5c091f6-prod-westus2.hr.talent.dynamics.com/namespaces/b2eb8003-334f-4a84-ab63-edbe23569090/data/MyLeaveRequests(RequestId='USMF-000065', LeaveType='Vacation', LeaveDate=2019-10-04T12:00:00Z, dataAreaId='USMF')/Microsoft.Dynamics.DataEntities.submit
{
"error": {
"code": "",
"message": "An error has occurred.",
"innererror": {
"message": "Exception occurred while executing action submit on Entity MyLeaveRequest: The request would put the 'Vacation' balance below the allowed minimum balance on 9/10/2019.",
"type": "System.InvalidOperationException",
"stacktrace": " at Microsoft.Dynamics.Platform.Integration.Services.OData.Action.ActionInvokable.Invoke() at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateProcessor.ActionInvocation(ChangeOperationContext context, ActionInvokable action) at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateManager.<>c__DisplayClass13_0.<ScheduleInvokable>b__0(ChangeOperationContext context) at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.ExecuteActionsInCompanyContext(IEnumerable`1 actionList, ChangeOperationContext operationContext)\r\n at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.ExecuteActions(ChangeOperationContext context) at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateManager.SaveChanges() at Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataDelegatingHandler.<SaveChangesAsync>d__3.MoveNext()"
}
}
}
Validierungs- und Fehlermeldungen
Im Rahmen des Aufrufs der Übermittlungs-API führt die Personalverwaltung vor der Übermittlung eine Geschäftslogikvalidierung durch, um sicherzustellen, dass die Urlaubsanforderungen für die Übermittlung gültig ist. Die möglichen Fehlermeldungen für die Antwort, wenn die Validierung fehlschlägt, sind:
- Die Anforderung würde den Saldo "{LeaveTypeId}" unterhalb des zulässigen Mindestguthabens {date} ansetzen.
- Urlaubsantrag mit Status „Abgeschlossen“ kann nicht übermittelt werden.
- Anforderung kann nicht übermittelt oder gespeichert werden, da keine Änderungen vorgenommen wurden. Ergänzen oder aktualisieren Sie den Betrag oder den Urlaubstyp und versuchen Sie es erneut.
- Der eingegebene Urlaubsantrag enthält einen oder mehrere Tage mit demselben Datum und demselben Urlaubstyp wie eine vorhandene ausstehende Anforderung. Rufen Sie die vorhandene Anforderung zurück, um Änderungen vorzunehmen.
- Der Ursachencode '{ReasonCodeId}' gilt für keinen der Urlaubstypen in dem Antrag.
- Der Urlaubstyp '{LeaveTypeId}' erfordert einen Ursachencode. Wählen Sie den entsprechenden Typ und den Ursachencode aus.
- Der Urlaubsantrag wurde nicht erfolgreich übermittelt. Der Urlaubsantrag wurde als Anforderungsentwurf gespeichert.
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für