Bendrinti naudojant


Prašymo išeiti atostogų pateikimas darbo eigai

Taikoma šioms „Dynamics 365“ programoms:
„Human Resources“

„Microsoft Dynamics 365 Human Resources“ galite naudoti „MyLeaveRequests submit()“ taikomojo programavimo sąsają (API), kad pateiktumėte atostogų prašymų į darbo eigą. Ši API pateikiamas kaip veiksmas „MyLeaveRequestst OData“ objekte.

Būtinieji komponentai

Atostogų užklausa turi būti įrašyta duomenų bazėje ir turi būti atgaunama per „MyLeaveRequests“ objektą.

Teisės

Norint iškviesti šią API reikia vienos iš šių teisių. Norėdami gauti daugiau informacijos apie teises ir kaip jas pasirinkti, žr. Autentifikavimas.

Teisės tipas Teisės (nuo mažiausių teisių iki didžiausių teisių)
Perduota (darbo arba mokyklos paskyra) user_impersonation

HTTPS užklausa

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

Užklausa atitinka „OData“ standartus. Parametrai {requestId}, {leaveType}, {leaveDate} ir {dataArea} nurodomi laukams, kurie sudaro sudėtinį objekto „MyLeaveRequests“ srities raktą.

Banknotas

Jei objekto „MyLeaveRequests“ laukai priklauso atskirai atostogų užklausos eilutei, iškvietus pateikimą, API pateiks visą atostogų užklausą (visas eilutes) į darbo eigą.

Užklausų antraštės

Antraštė Value
Autorizavimas Pateikėjo {token} (privaloma)
Turinio tipas programa / json

Užklausos tekstas

Naudodami šį metodą, nepateikite užklausos teksto.

Atsiliepimas

Sėkmingas atsakymas visada yra 204 nėra turinio atsakymas.

Neteisėtas skambintojai gauna 401 neteisėtą arba 403 draudžiama atsakymas.

Jei pateikimas nesėkmingas (pvz., dėl tikrinimo), atsakymas tai 500 serverio klaida, o atsakymas bus JSON objektas su išsamesne informacija.

Pavyzdys

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()"
    }
  }
}

Tikrinimas ir klaidų pranešimai

Iškviesdama pateikimo API, prieš pateikdama, „Human Resources“ atlieka verslo logikos patikrinimą, užtikrindama, kad atostogų užklausa yra tinkamos pateikti būsenos. Jei patikrinti nepavyksta, kaip atsakymą galbūt gausite tokius klaidos pranešimus:

  • Pateikus užklausą, „{LeaveTypeId}“ balansas nukris žemiau leidžiamo minimalaus balanso ​{date}.
  • Baigtos būsenos laiko užklausos pateikti negalima.
  • Nepavyksta pateikti ar įrašyti užklausos, nes nebuvo atlikta pakeitimų. Pridėkite arba atnaujinkite sumą arba atostogų tipą ir bandykite dar kartą.
  • Įvestoje atostogų užklausoje yra viena ar daugiau tos pačios datos dienų ir atostogų tipų kaip ir esamoje laukiančioje užklausoje. Atšaukite esamą užklausą ir atlikite keitimus.
  • Priežasties kodas {ReasonCodeId} netaikomas jokiam prašyme nurodytam atostogų tipui.
  • Atostogų tipui {LeaveTypeId} būtinas priežasties kodas. Pasirinkti tinkamą tipą ir priežasties kodą.
  • Laiko nurašyti sėkmingai pateikta nebuvo. Atostogų laikas buvo įrašytas kaip užklausos juodraštis.

Taip pat žiūrėkite