Dalintis per


Prašymo išeiti atostogų pateikimas darbo eigai

Taikoma šioms Dynamics 365 programoms:
Personalas

Be to Microsoft Dynamics 365 Human Resources, galite naudoti MyLeaveRequests submit() programų programavimo sąsają (API), kad pateiktumėte atostogų užklausą darbo eigai. Š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ų. Daugiau informacijos apie teises ir tai, kaip jas pasirinkti, rasite skyriuje 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ą.

Pastaba

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 No Content atsakymas.

Neįgalioti skambinantieji gauna 401 neleistiną arba 403 uždraustą atsakymas.

Jei pateikimas yra nesėkmingas (pvz., Dėl patvirtinimo), atsakymas yra 500 serverio klaida, o atsakymas tekste 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}.
  • Ne darbo laiko užklausa, kurios būsena Baigta , pateikti negalima.
  • Nepavyksta pateikti arba įrašyti prašymo, nes nebuvo atlikta jokių 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. Prisiminkite esamą prašymą atlikti pakeitimus.
  • 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ą.
  • Laisvas laikas nebuvo sėkmingai pateiktas. Atostogų laikas buvo įrašytas kaip užklausos juodraštis.

Taip pat žiūrėkite