Editați calendarele orelor de lucru folosind API-uri
Organizațiile trebuie adesea să creeze, să editeze sau să șteargă programul de lucru în calendarele resurselor lor. Calendarele arată orele de lucru, timpul liber și pauzele care determină disponibilitatea unei resurse atunci când se programează munca. Resursele respective trebuie să fie programate în anumite fusuri orare, ar putea sau nu să observe închiderea firmei și pot avea capacitate variabilă. Pentru informații despre definirea orelor de lucru în aplicația Field Service, accesați Adăugați orele de lucru la o resursă care poate fi rezervată.
Pe lângă utilizarea aplicației Field Service, puteți utiliza următoarele API-uri pentru a modifica regulile calendarului pentru tipurile de înregistrări selectate:
- API-ul Save Calendar (
msdyn_SaveCalendar
) creează sau actualizează înregistrări de calendar pentru o entitate selectată, pe baza intrărilor transmise ca solicitare. - API-ul Delete Calendar (
msdyn_DeleteCalendar
) șterge toate regulile interne de calendar ale unui calendar dintr-o entitate selectată, pe baza intrărilor transmise ca solicitare. - API-ul Save/Delete Calendar V2 (msdyn_SaveCalendar/msdyn_DeleteCalendar, pass flag UseV2) permite repetarea mai multor ore de lucru simultan, modificând logica regulilor care se suprapun. Pentru mai multe informații, consultați Ce se întâmplă dacă există reguli care se suprapun?
Acest articol conține detalii despre intrarea (cererea) și ieșirea fiecărei API (răspuns) și utilizarea lor, cu exemple.
Cerințe preliminare
- Versiunea platformei 9.2.21055 sau mai sus cu versiunea Universal Resource Scheduling 3.12.45.7.
- Utilizarea unuia dintre următoarele tipuri de înregistrări:
- Resursa rezervabila (resursa rezervabila)
- Cerință de resurse (msdyn_resourcerequirement)
- Șablon oră de lucru (msdyn_workhourtemplate)
- Proiect (msdyn_project)
Tipuri de evenimente din calendar
Când creați un calendar, definiți de câte ori apare un tip de oră de lucru —o dată, toată ziua, în fiecare săptămână sau în fiecare zi sau puteți crea o recurență personalizată. Pentru mai multe informații despre aceste evenimente din calendar, accesați exemplele de mai jos în acest articol.
Apariție
Când un tip de oră de lucru apare o singură dată în calendarul entității, se numește apariție.
De exemplu, luați în considerare o resursă care funcționează între orele 05:00 - 10:00, 26 mai 2021. Aceste API acceptă doar acest tip de apariție, care începe și se termină în aceeași zi. Pentru un alt exemplu, luați în considerare o resursă care funcționează de la 26 mai 2021 la 20:00 10:00 la 27 mai 2021. Nu puteți crea această apariție utilizând doar un apel al msdyn_SaveCalendar
API; trebuie să efectuați două apeluri.
Apariție pe tot parcursul zilei
Când un tip de oră de lucru are loc pentru una sau mai multe zile întregi, începând cu miezul nopții (00:00) a datei de începere, este o apariție pe tot parcursul zilei. Durata maximă pentru apariția unei zile este de cinci ani.
De exemplu, o resursă funcționează toată ziua de la 26 mai 2021 până la sfârșitul zilei, la 30 mai 2021. Acesta este un eveniment care durează cinci zile.
Recurență săptămânală
Când un tip de oră de lucru are loc în același timp în anumite zile ale fiecărei săptămâni, se numește recurență săptămânală.
De exemplu, o resursă funcționează între orele 5:00 - 10:00 în fiecare luni, marți și miercuri.
Recurență zilnică
Când un tip de oră de lucru are loc la aceeași oră în fiecare zi, se numește recurență zilnică.
De exemplu, o resursă funcționează între orele 5:00 - 10:00 pentru fiecare zi a săptămânii.
Recurență personalizată
Când un tip de oră de lucru apare la anumite ore în anumite zile ale săptămânii, dar orele sunt diferite în zile diferite, puteți crea o recurență personalizată.
De exemplu, o resursă funcționează de la 5:00 la 10:00 în fiecare luni și de la 12:00 la 15:00 în fiecare miercuri.
Tipuri de ore de lucru
Aceste API acceptă operațiuni de creare, actualizare și ștergere pentru următoarele tipuri de ore de lucru:
Ore lucrătoare
Programul de lucru este timpul în care o entitate este disponibilă pentru a efectua lucrări.
Folosind aceste API-uri, puteți face următoarele:
- Creați, editați sau ștergeți o apariție de oră de lucru.
- Creați, editați sau ștergeți o apariție de recurență zilnică.
- Creați, editați sau ștergeți o apariție de recurență săptămânală.
- Creați, editați sau ștergeți o apariție de recurență particularizată.
- Creați, editați sau ștergeți programul de lucru pe tot parcursul zilei.
- Creați sau modificați capacitatea în timpul programului de lucru.
- Editați o singură apariție de oră de lucru într-o recurență.
- Editați Acesta și următoarele apariții într-o recurență.
- Schimbați apariția unei ore de lucru într-o recurență.
- Schimbați fusul orar al regulii calendarului.
Folosind acest API nu puteți face următoarele:
- Șterge o singură apariție de oră de lucru dintr-o recurență.
- Creați o întâmplare care se întinde pe 24 de ore, dar nu începe și nu se termină la miezul nopții (24:00).
- Creați, editați sau ștergeți o recurență pe tot parcursul zilei.
Ora nelucrată
Sunt momente în care entitatea nu este disponibilă pentru a lucra din cauza unui motiv nespecificat.
Folosind aceste API-uri, puteți face următoarele:
- Creați sau editați orele non-lucrătoare pe tot parcursul zilei.
- Creați sau editați o apariție a orelor de lucru nelucrătoare.
- Schimbați fusul orar al regulii calendarului.
Folosind aceste API-uri, puteți face următoarele:
- Creați sau editați o recurență a orelor nelucrătoare.
Pauză
Acestea sunt momente într-o zi lucrătoare în care o entitate ia o pauză și nu este disponibilă pentru muncă. Pauzele nu pot exista fără programul de lucru; trebuie să apară între două ore de lucru într-o zi. Pauzele nu se pot suprapune cu programul de lucru.
Folosind aceste API-uri, puteți face următoarele:
- Creați sau editați pauze în timpul programului de lucru.
Folosind aceste API-uri, puteți face următoarele:
- Ștergeți doar pauzele de la apariția sau recurență orelor de lucru.
Indisponibilitate
Sunt momente în care o entitate nu este disponibilă pentru a lucra din cauza unei vacante. Motivul perioadei libere poate fi specificat.
Folosind aceste API-uri, puteți face următoarele:
- Creați sau editați pauza cu o etichetă.
- Schimbați fusul orar al regulii calendarului.
Folosind aceste API-uri, puteți face următoarele:
- Creați sau editați o repetare a orei de oprire.
Închidere firmă
Puteți să creați entități de închidere a afacerii care definesc orele în care afacerea este închisă. Folosind msdyn_SaveCalendar
API, puteți seta fiecare entitate să observe sau să ignore orele de închidere a afacerii organizației, folosind cheia opțională ObserveClosure . Când sunt setați să respecte aceste închideri, entitățile nu sunt disponibile pentru muncă.
Salvați calendarul API
Intrare
Solicitarea conține un singur atribut—CalendarEventInfo, care este de tip String . Conține alte câteva atribute care sunt toate încorporate în acest șir.
Notă
În tabelul următor, Tipul reprezintă formatul așteptat pentru a face o solicitare cu succes. Cu toate acestea, întreaga solicitare este analizată ca un singur șir.
CalendarEventInfo
Nume | Tip | Necesar | Descriere |
---|---|---|---|
EntityLogicalName | Șir | Da | Această cheie descrie entitatea de la care se apelează API-ul. Calendarul acestei entități urmează să fie creat sau editat. |
CalendarId | GUID | Da | Această cheie conține ID-ul calendarului aferent entității descrise mai sus. Când se creează oricare dintre aceste entități, se creează automat și o înregistrare calendaristică. Aceste API-uri editează înregistrarea calendarului adăugând reguli sau modificând regulile existente. |
RulesAndRecurrences | RulesAndRecurrences | Da | Această cheie este o matrice și fiecare element conține mai multe atribute, așa cum sunt listate în tabelul din secțiunea următoare. Dimensiunea matricei trebuie să fie de cel puțin una. |
IsVaried | Boolean | No | Această cheie ar trebui setată la true pentru scenariile personalizate de recurență. |
IsEdit | Boolean | No | Această cheie ar trebui setată la true pentru editarea regulilor existente. |
TimeZoneCode | Integer | No | Această cheie ia o valoare întreagă corespunzătoare fusului orar pentru regulile calendarului. Pentru mapare, accesați Coduri de fus orar, mai târziu în acest articol. Valoarea implicită este fusul orar al utilizatorului. |
InnerCalendarDescription | Șir | No | Această cheie este necesară numai dacă regula calendarului este pentru pauză. Ar trebui să conțină motivul perioadei libere. |
ObserveClosure | Boolean | No | Această cheie este specifică recurențelor. Dacă este setat la true , entitatea observă închiderea afacerii. |
RecurrenceEndDate | DateTime | No | Această cheie este specifică recurențelor. Conține data de încheiere a recurenței. Dacă marca de timp este 08:00:00 sau mai devreme, data de încheiere a recurenței este cu o zi înainte de data specificată. Dacă marca de timp este 08:00:01 sau mai târziu, data este respectată ca atare. Valoarea implicită pentru apariții este nulă. Valoarea implicită pentru recurențe este 30 decembrie 9999, 23:59:59, UTC. |
RecurrenceSplit | Boolean | No | Această cheie este specifică recurențelor. Este setat la true pentru editarea „Acesta și următoarele apariții” ale unei recurențe. |
ResourceId | GUID | No | Această cheie conține SystemUserId sau ResourceId și trebuie transmisă numai atunci când entitatea asociată cu acest apel este o resursă rezervabilă de tip SystemUser. Acest lucru este necesar pentru a verifica privilegiile OwnCalendar în fila Service Management . |
UtilizareV2 | Semnalizator | No | Trecerea acestui flag activează versiunea V2 a calendarului orelor de lucru, cu o logică îmbunătățită a regulilor care se suprapun, permițând mai multe recurențe. Pentru mai multe informații, consultați Ce se întâmplă dacă există reguli care se suprapun? |
RulesAndRecurrences
Nume | Tipul | Obligatoriu | Descriere |
---|---|---|---|
Reguli | Reguli | Da | Această cheie este o matrice și fiecare element conține mai multe atribute, așa cum sunt listate în tabelul din secțiunea următoare. Dimensiunea matricei trebuie să fie de cel puțin una. |
RecurrencePattern | Șir | No | Această cheie este specifică recurențelor. În prezent acceptăm doar acest model: FREQ=WEEKLY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA . BYDAY poate fi modificat pentru a include mai puține zile; cu toate acestea, FREQ și INTERVAL nu pot fi modificate. |
InnerCalendarId | GUID | No | Această cheie este specifică editări. Dacă o regulă este în curs de editare, InnerCalendarId trebuie să fie transmis aici. Dacă un InnerCalendarId nu este trecut, API-ul creează o nouă regulă, chiar dacă este setată cheia IsEdit la adevărat. |
Acțiune | Integer | No | Această cheie este specifică recurențelor particularizate. Dacă se creează sau se editează o recurență personalizată, trebuie introduse unul dintre următoarele numere:
|
Reguli
Nume | Tip | Obligatoriu | Descriere |
---|---|---|---|
StartTime | DateTime | Da | Această cheie conține o intrare de dată și oră în format ISO. De exemplu, \"2021-05-15T12:00:00.000Z\" . Porțiunea de timp determină ora de începere a orei de lucru în fusul orar specificat mai devreme. Porțiunea de dată determină data de începere a orei de lucru. Aici, 15 mai 2021 este data apariției sau data de începere a recurenței. Dacă modelul a fost BYDAY=TU,WE , dar 15 mai (o sâmbătă) este data, API-ul va crea sau edita automat reguli pentru toate zilele de marți și miercuri care urmează datei de 15 mai. Acesta este cazul în care regula nu trebuie să aibă data corespunzătoare zilei. |
EndTime | DateTime | Da | Acesta conține o intrare de dată și oră în format ISO. De exemplu, \"2021-05-15T12:00:00.000Z\" . Porțiunea de timp determină ora de încheiere a orei de lucru în fusul orar specificat mai devreme. Partea cu dată trebuie să să conțină aceeași dată ca și porțiunea cu dată a Ora de începere. Singurele excepții sunt:
|
WorkHourType | Integer | Da | Această cheie conține un număr care corespunde uneia dintre următoarele opțiuni:
|
Efort | Integer | No | Această cheie determină capacitatea entității. Trebuie să fie un număr întreg. Valoarea implicită este 1. |
Ieșire
Acest API POST creează sau modifică înregistrări de reguli de calendar pentru entitatea selectată. De asemenea, oferă următoarea ieșire.
Nume | Tip | Descriere |
---|---|---|
InnerCalendarIds | Șir | O matrice de InnerCalendarIds GUID-uri care sunt rezultatul operației POST. |
Ștergere calendar API
Intrare
Nume | Tip | Necesar | Descriere |
---|---|---|---|
EntityLogicalName | Șir | Da | Acest câmp descrie entitatea ale cărei reguli de calendar urmează să fie șterse. |
InnerCalendarId | GUID | Da | Acest câmp descrie ID-ul InnerCalendarId care trebuie șters. Dacă există mai multe InnerCalendarIds asociate cu o singură regulă, orice ID este suficient aici. Mai multe informații despre calendarele interioare și exterioare: Entități calendaristice |
CalendarId | GUID | Da | Acest câmp descrie CalendarId al entității. |
IsVaried | Boolean | No | Acest câmp este specific recurențelor și este setat la yes dacă o regulă de recurență personalizată este ștearsă. |
UtilizareV2 | Semnalizator | No | Trecerea acestui flag activează versiunea V2 a calendarului orelor de lucru, cu o logică îmbunătățită a regulilor care se suprapun, permițând mai multe recurențe. Pentru mai multe informații, consultați Ce se întâmplă dacă există reguli care se suprapun? |
Ieșire
Acest API POST șterge înregistrări de reguli de calendar pentru entitatea selectată. În plus, oferă următoarea ieșire.
Nume | Tip | Descriere |
---|---|---|
InnerCalendarIds | Șir | O matrice de InnerCalendarIds GUID-uri care sunt rezultatul operației POST. |
Încărcați API-ul Calendar
Intrare
Nume: msdyn_LoadCalendars
Tip: Acțiune
Descriere: returnează calendare pentru LoadCalendarsInput dat.
Nume: msdyn_LoadCalendars.LoadCalendarsInput
Tip: Parametru
Descriere: șir în următorul format JSON:
{
StartDate: string,
EndDate: string,
CalendarIds: string[]
}
Nume: msdyn_LoadCalendarsResponse
Tip: ComplexType
Descriere: conține răspuns din acțiunea msdyn_loadCalendars.
Nume: msdyn_LoadCalendarsResponse.CalendarEvents
Tip: Proprietate
Descriere: șir în următorul format JSON:
{
"calendarId": CalendarEventSlot[]
}
Unde calendarId este un ghid adecvat care reprezintă Ghidul calendarului și CalendarEventSlot este un obiect de următorul format:
{
CalendarId: string,
InnerCalendarId: string,
Start: string,
End: string,
Effort: double
}
Cum să apelați API-urile
Aceste API-uri pot fi apelate utilizând browserul.
- Deschideți browserul și organizația în care trebuie să faceți aceste modificări de calendar.
- Deschideți Instrumente pentru dezvoltatori (selectați Ctrl+Shift+I în Microsoft Edge, selectați F12 în Google Chrome).
- În consolă, introduceți următoarea funcție, după înlocuirea [nume-organizație] cu detaliile organizației (de exemplu,
http://your_org.crm.dynamics.com
):
function CalendarAction(action, data) {
let req = new XMLHttpRequest();
req.open("POST", "**[org-name]**/api/data/v9.0/" + action, true);
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("Prefer", 'odata.include-annotations="*"');
req.onreadystatechange = function () {
if (this.readyState === 4) {
req.onreadystatechange = null;
if(this.status == 200) {
console.log(JSON.parse(this.response));
} else {
console.error(JSON.parse(this.response));
}
}
};
req.send(JSON.stringify(data));
}
- După ce această funcție este definită, o puteți apela pentru a crea, edita sau șterge calendare utilizând API-urile. Introduceți următorul apel pentru a salva un calendar:
CalendarAction("msdyn_SaveCalendar",{
"CalendarEventInfo":"{
\"CalendarId\":\"df0857c4-50f5-4576-8e89-f236670ad2d5\",
\"EntityLogicalName\":\"bookableresource\",
\"TimeZoneCode\":92,\"StartDate\":\"2021-04-25T00:00:00.000Z\",
\"IsVaried\":false,
\"RulesAndRecurrences\":[{
\"Rules\":[{
\"StartTime\":\"2021-04-25T08:00:00.000Z\",
\"EndTime\":\"2021-04-25T17:00:00.000Z\",
\"Duration\":540,
\"Effort\":1
}]
}]
}"
})
Introduceți următorul apel pentru a șterge un calendar:
CalendarAction("msdyn_DeleteCalendar", {
"CalendarEventInfo":"{
\"CalendarId\":\"8390358c-77d0-430f-b176-f27adadac8eb\",
\"EntityLogicalName\":\"bookableresource\",
\"InnerCalendarId\":\"cf508c2c-5c55-485c-be1e-d2ebcb385441\"
}"
})
Consultați secțiunea următoare pentru exemple despre cum să efectuați diferite apeluri în funcție de nevoile dvs. Înlocuiți action
apelul de funcție din pas 3 cu msdyn_SaveCalendar
sau msdyn_DeleteCalendar
și înlocuiți data
cu CalendarEventInfo
relevantă.
Consultați, de asemenea, următoarea captură de ecran pentru o Power Automate apel pentru msdyn_SaveCalendar
acțiune:
Exemple de scenarii pentru utilizarea API
Să parcurgem câteva scenarii pentru care puteți utiliza aceste API-uri.
Bob și Tim sunt șoferi de camioane de livrare pentru Contoso Enterprises din Bellevue, Washington. Dispeceratul lor, Debbie, este responsabilă pentru modificarea calendarelor lor de lucru. Debbie face aceste modificări utilizând API-urile msdyn_SaveCalendar
și msdyn_DeleteCalendar
.
Creați o apariție de oră de lucru.
Bob este programat să circule pentru a livra colete de la 9:00 la 17:00 pe 15 mai 2021. Debbie folosește msdyn_SaveCalendar
API-ul.
Solicitare
{
"CalendarEventInfo": "{\"CalendarId\":\"d33263c7-c16b-4e3e-a56a-20f7a66cafc1\",\"EntityLogicalName\":\"bookableresource\",\"TimeZoneCode\":5,\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-05-15T09:00:00.000Z\",\"EndTime\":\"2021-05-15T17:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}]}]}"
}
Răspuns
{
"InnerCalendarIds": "[\"f76cc333-cbbe-eb11-a81d-000d3a6e4359\"]"
}
Editați o oră de lucru.
Programul lui Bob se schimbă apoi pentru a începe la ora 10:00 pe 15 mai 2021. Debbie folosește msdyn_SaveCalendar
API-ul.
Solicitare
{
"CalendarEventInfo": "{\"CalendarId\":\"d33263c7-c16b-4e3e-a56a-20f7a66cafc1\",\"EntityLogicalName\":\"bookableresource\",\"IsEdit\":\"true\",\"TimeZoneCode\":5,\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-05-15T10:00:00.000Z\",\"EndTime\":\"2021-05-15T17:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}], \"InnerCalendarId\":\"f76cc333-cbbe-eb11-a81d-000d3a6e4359\"}]}"
}
Răspuns
{
"InnerCalendarIds": "[\"f76cc333-cbbe-eb11-a81d-000d3a6e4359\"]"
}
Ștergeți o apariție de oră de lucru.
Apare o urgență în familie și Bob trebuie să anuleze o zi întreagă de muncă. Debbie folosește msdyn_DeleteCalendar
API-ul.
Solicitare
{
"CalendarEventInfo": "{\"CalendarId\":\"d33263c7-c16b-4e3e-a56a-20f7a66cafc1\",\"EntityLogicalName\":\"bookableresource\",\"InnerCalendarId\":\"f76cc333-cbbe-eb11-a81d-000d3a6e4359\"}"
}
Răspuns
{
"InnerCalendarIds": "[\"f76cc333-cbbe-eb11-a81d-000d3a6e4359\"]"
}
Creați o recurență zilnică cu o oră de lucru
Începând cu 20 mai 2021, Bob decide să lucreze cu Contoso toată săptămâna de la 8:00 la 17:00 și nu va mai lucra acolo pe 15 iulie 2021.
Solicitare
{
"CalendarEventInfo": "{\"CalendarId\":\"d33263c7-c16b-4e3e-a56a-20f7a66cafc1\",\"EntityLogicalName\":\"bookableresource\",\"TimeZoneCode\":5,\"RecurrenceEndDate\":\"2021-07-15T00:00:00.000Z\",\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-05-20T08:00:00.000Z\",\"EndTime\":\"2021-05-20T17:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}],\"RecurrencePattern\":\"FREQ=WEEKLY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA\"}]}"
}
Răspuns
{
"InnerCalendarIds": "[\"20f6cfa7-cfbe-eb11-a81d-000d3a6e4359\"]"
}
Editați o oră de lucru repetată zilnic cu o capacitate crescută
Bob decide să nu mai lucreze pentru întreaga săptămână din 15 iunie 2021 pentru a lua o pauză. Până atunci, Bob va continua programul pentru toată săptămâna, așa cum sa convenit anterior. Debbie face aceste modificări utilizând msdyn_SaveCalendar
API-ul.
Solicitare
{
"CalendarEventInfo": "{\"CalendarId\":\"d33263c7-c16b-4e3e-a56a-20f7a66cafc1\",\"EntityLogicalName\":\"bookableresource\",\"TimeZoneCode\":5,\"RecurrenceEndDate\":\"2021-06-15T00:00:00.000Z\",\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-05-20T08:00:00.000Z\",\"EndTime\":\"2021-05-20T17:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}],\"InnerCalendarId\":\"20f6cfa7-cfbe-eb11-a81d-000d3a6e4359\",\"RecurrencePattern\":\"FREQ=WEEKLY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA\"}]}"
}
Răspuns
{
"InnerCalendarIds": "[\"867a2461-cdbe-eb11-a81d-000d3a6e4359\"]"
}
Creați o recurență săptămânală cu o oră de lucru
Începând cu 16 iunie 2021, Bob va lucra de la 8:00 la 17:00 miercurea și vineri și va lua o pauză de la 12:00 la 12:30 pentru prânz. Debbie folosește msdyn_SaveCalendar
API-ul, dar face o greșeală și programează pauza de la 12:00 la 13:00.
Solicitare
{
"CalendarEventInfo": "{\"CalendarId\":\"d33263c7-c16b-4e3e-a56a-20f7a66cafc1\",\"EntityLogicalName\":\"bookableresource\",\"TimeZoneCode\":5,\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-06-16T08:00:00.000Z\",\"EndTime\":\"2021-06-16T12:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}, {\"StartTime\":\"2021-06-16T12:00:00.000Z\",\"EndTime\":\"2021-06-16T13:00:00.000Z\",\"Effort\":null,\"WorkHourType\":1}, {\"StartTime\":\"2021-06-16T13:00:00.000Z\",\"EndTime\":\"2021-06-16T17:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}],\"RecurrencePattern\":\"FREQ=WEEKLY;INTERVAL=1;BYDAY=WE,TH,FR\"}]}"
}
Răspuns
{
"InnerCalendarIds": "[\"1f894441-d0be-eb11-a81d-000d3a6e4359\"]"
}
Editați o pauză dintr-o oră de lucru repetată săptămânal
Apoi, Debbie corectează greșeala și modifică întreruperea de la 12:00 la 12:30, utilizând msdyn_SaveCalendar
API.
Solicitare
{
"CalendarEventInfo": "{\"CalendarId\":\"d33263c7-c16b-4e3e-a56a-20f7a66cafc1\",\"EntityLogicalName\":\"bookableresource\",\"IsEdit\":\"true\",\"TimeZoneCode\":5,\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-06-15T08:00:00.000Z\",\"EndTime\":\"2021-06-15T12:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}, {\"StartTime\":\"2021-06-15T12:00:00.000Z\",\"EndTime\":\"2021-06-15T12:30:00.000Z\",\"Effort\":null,\"WorkHourType\":1}, {\"StartTime\":\"2021-06-15T12:30:00.000Z\",\"EndTime\":\"2021-06-15T17:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}],\"InnerCalendarId\":\"1f894441-d0be-eb11-a81d-000d3a6e4359\",\"RecurrencePattern\":\"FREQ=WEEKLY;INTERVAL=1;BYDAY=WE,TH,FR\"}]}"
}
Răspuns
{
"InnerCalendarIds": "[\"1f894441-d0be-eb11-a81d-000d3a6e4359\"]"
}
Creați o recurență personalizată de o oră de lucru
Tim lucrează pentru Contoso în zilele de luni de la 8:00 AM la 5:00 PM și miercuri de la 11:00 la 3:00 PM. Tim a început să lucreze pentru Contoso pe 16 mai 2021. Debbie folosește msdyn_SaveCalendar
API-ul pentru a crea programul de lucru al lui Tim.
Solicitare
{
"CalendarEventInfo": "{\"CalendarId\":\"a68245c9-ba2e-4496-9c18-3bee75fda396\",\"EntityLogicalName\":\"bookableresource\",\"TimeZoneCode\":5,\"IsVaried\":true,\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-05-16T08:00:00.000Z\",\"EndTime\":\"2021-05-16T17:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}],\"Action\":1,\"RecurrencePattern\":\"FREQ=WEEKLY;INTERVAL=1;BYDAY=MO\"},{\"Rules\":[{\"StartTime\":\"2021-05-16T11:00:00.000Z\",\"EndTime\":\"2021-05-16T15:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}],\"Action\":1,\"RecurrencePattern\":\"FREQ=WEEKLY;INTERVAL=1;BYDAY=WE\"}]}"
}
Răspuns
{
"InnerCalendarIds": "[\"9fb8c199-d1be-eb11-a81d-000d3a6e4359\", \"a2b8c199-d1be-eb11-a81d-000d3a6e4359\"]"
}
Editați o recurență personalizată a unei ore de lucru
Programul lui Tim se schimbă apoi la programul de lucru de miercuri, între orele 17:00 și 20:00, și joi, între 10:00 și 12:00. Luni este eliminată din programul lui Tim. Debbie folosește msdyn_SaveCalendar
API-ul pentru a realiza acest lucru.
Solicitare
{
"CalendarEventInfo": "{\"CalendarId\":\"a68245c9-ba2e-4496-9c18-3bee75fda396\",\"EntityLogicalName\":\"bookableresource\",\"TimeZoneCode\":5,\"IsVaried\":true,\"IsEdit\":true,\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-05-16T08:00:00.000Z\",\"EndTime\":\"2021-05-16T17:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}],\"Action\":2,\"InnerCalendarId\":\"9fb8c199-d1be-eb11-a81d-000d3a6e4359\",\"RecurrencePattern\":\"FREQ=WEEKLY;INTERVAL=1;BYDAY=MO\"},{\"Rules\":[{\"StartTime\":\"2021-05-16T17:00:00.000Z\",\"EndTime\":\"2021-05-16T20:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}],\"Action\":3,\"InnerCalendarId\":\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\",\"RecurrencePattern\":\"FREQ=WEEKLY;INTERVAL=1;BYDAY=WE\"}, {\"Rules\":[{\"StartTime\":\"2021-05-16T10:00:00.000Z\",\"EndTime\":\"2021-05-16T12:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}],\"Action\":1,\"InnerCalendarId\":null,\"RecurrencePattern\":\"FREQ=WEEKLY;INTERVAL=1;BYDAY=TH\"}]}"
}
Răspuns
{
"InnerCalendarIds": "[\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\", \"942bda0f-d3be-eb11-a81d-000d3a6e4359\"]"
}
Editați o apariție a orei de lucru într-o recurență
Pe 26 mai 2021, Tim poate lucra numai de la 13:00 la 19:00. Debbie folosește msdyn_SaveCalendar
API-ul aici.
Solicitare
{
"CalendarEventInfo": "{\"CalendarId\":\"a68245c9-ba2e-4496-9c18-3bee75fda396\",\"EntityLogicalName\":\"bookableresource\",\"TimeZoneCode\":5,\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-05-26T13:00:00.000Z\",\"EndTime\":\"2021-05-26T19:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}], \"InnerCalendarId\":\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\"}]}"
}
Răspuns
{
"InnerCalendarIds": "[\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\"]"
}
Ștergeți o recurență personalizată de o oră de lucru
Tim a decis să părăsească compania și trebuie să-și ștergă întregul program. Debbie folosește msdyn_DeleteCalendar
API-ul aici.
Solicitare
{
"CalendarEventInfo": "{\"CalendarId\":\"a68245c9-ba2e-4496-9c18-3bee75fda396\",\"EntityLogicalName\":\"bookableresource\",\"InnerCalendarId\":\"34d2210c-9fb6-eb11-a820-000d3afb1dba\",\"IsVaried\":true}"
}
Răspuns
{
"InnerCalendarIds": "[\"a2b8c199-d1be-eb11-a81d-000d3a6e4359\", \"942bda0f-d3be-eb11-a81d-000d3a6e4359\"]"
}
Creeați timp liber
Tim își va lua trei zile libere pentru o vacanță de familie începând cu 9 iunie 2021.
Solicitare
{
"CalendarEventInfo": "{\"CalendarId\":\"a68245c9-ba2e-4496-9c18-3bee75fda396\",\"InnerCalendarDescription\":\"Family Vacation\",\"EntityLogicalName\":\"bookableresource\",\"TimeZoneCode\":5,\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-06-15T00:00:00.000Z\",\"EndTime\":\"2021-06-17T00:00:00.000Z\",\"Effort\":1,\"WorkHourType\":3}]}]}"
}
Răspuns
{
"InnerCalendarIds": "[\"266c434e-d5be-eb11-a81d-000d3a6e4359\"]"
}
Creați program de lucru pe tot parcursul zilei
Tim are o tură de 72 de ore începând cu 20 mai 2021. Debbie folosește msdyn_SaveCalendar
API-ul pentru a crea programul de lucru al lui Tim.
Solicitare
{
"CalendarEventInfo": "{\"CalendarId\":\"a68245c9-ba2e-4496-9c18-3bee75fda396\",\"EntityLogicalName\":\"bookableresource\",\"TimeZoneCode\":5,\"RulesAndRecurrences\":[{\"Rules\":[{\"StartTime\":\"2021-05-20T00:00:00.000Z\",\"EndTime\":\"2021-05-22T00:00:00.000Z\",\"Effort\":1,\"WorkHourType\":0}]}]}"
}
Răspuns
{
"InnerCalendarIds": "[\"6e160a8e-d5be-eb11-a81d-000d3a6e4359\"]"
}
Întrebări frecvente despre
Primesc eroarea „StartTime nu poate fi mai mare sau egal cu EndTime”.
Asigurați-vă că nu există suprapuneri în intervalele de timp ale diferitelor reguli calendaristice. Verificați datele pentru a vă asigura că StartTime nu este mai târziu de EndTime. De asemenea, verificați dacă orele respectă formatul de 24 de ore.
Pot fi utilizate API-urile pentru a actualiza entitatea „Șabloane de oră de lucru”?
Da, puteți utiliza acest API pentru a crea și actualiza șabloane de ore de lucru, în plus față de orele de lucru ale resurselor.
Primesc eroarea „A apărut o eroare la deserializarea obiectului de tip Microsoft.Dynamics.UCICalendar.Plugins.SaveCalendarContract+CalendarEventInfo. Sursa de intrare nu este formatată corect.
or
Se așteaptă starea „Element”... S-a întâlnit „Text” cu numele „”, spațiu de nume „”.
Asigurați-vă că șirul este analizat corect. S-ar putea să lipsească paranteze, virgule sau punct și virgulă.
Primesc eroarea „Model de recurență nevalid. Consultați documentația pentru modelele acceptate."
În prezent acceptăm doar acest model: FREQ=DAILY;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA
. BYDAY
poate fi modificat pentru a include mai puține zile; cu toate acestea, FREQ
și INTERVAL
nu pot fi modificate. Asigurați-vă că nu există spații în model.
Cum obținem informații despre CalendarId și InnerCalendarId al resursei?
CalendarId
poate fi preluat din atributele resursei. Efectuați acest apel pentru a obține aceste informații: [org-url]/api/data/v9.1/bookableresources([bookableresourceGUID])
.
Un exemplu de apel anterior ar fi [org-url]/api/data/v9.1/bookableresources(7bb0224b-6712-ec11-94f9-000d3a6d888e)
.
InnerCalendarId
poate fi preluat din atributele calendarului. Efectuați acest apel pentru a obține aceste informații: [org-url]/api/data/v9.1/calendars([calendar-id-from-above-call])?$expand=calendar_calendar_rules
.
Un exemplu de apel anterior este [org-url]/api/data/v9.1/calendars(02481736-1b6a-4d49-9ebd-a5bd041c1c99)?$expand=calendar_calendar_rules
.
Ce se întâmplă dacă există reguli care se suprapun?
Există câteva ranguri în care se încadrează regulile:
- Locul 1 - apariția zilnică (lucru/nefuncțional) și apariția timpului liber.
- Locul 0 - recurență săptămânală (funcțional/nefuncțional).
Reguli care se suprapun V2
- Regulile de rangul 1 au o prioritate mai mare decât regulile de rangul 0. Dacă există două reguli (una din fiecare rang) în aceeași zi, apariția zilnică sau apariția timpului liber au prioritate față de recurența săptămânală.
- Când există mai multe reguli de rang 0 în același interval de date:
- Dacă orele nu se intersectează, ambele vor rămâne în calendar.
- Dacă timpii se intersectează, regula care a fost creată/modificată cel mai recent este cea care este luată în considerare pentru calendarul resursei. Toate celelalte reguli care se intersectează în intervalul de date sunt eliminate. Dacă unele reguli de rang 0 au intersecții la unele date, dar nu la altele, regula este îmbinată pentru a păstra secțiunile care nu se intersectează, în timp ce porțiunile care se intersectează sunt eliminate.
Exemple de comportament al calendarului V2:
Exemplul 1 - Orele de lucru repetate: Date suprapuse fără zile/ore suprapuse
Pentru un anumit interval de date, un tehnician lucrează în ture de dimineață, după-amiază sau de noapte în diferite zile.
Creați o primă regulă de calendar care se repetă pentru un anumit interval de date. De exemplu: Repetați Luni, Marți; 1.1-4.1; 8:00-17:00 ET.
Creați o a doua regulă de calendar care se repetă pentru un interval de date care se intersectează, asigurându-vă în același timp că orele de lucru nu se intersectează cu zilele sau orele anterioare. De exemplu: Repetați miercuri, joi; 1.1-4.1; 8:00-17:00 ET sau Repetare Luni, Mar; 1.1-4.1; 17:00-20:00 ET.
Rezultat: ambele reguli ale calendarului rămân și coexistă una lângă alta.
Exemplul 2 - Orele de lucru repetate: unele date care se suprapun, cu toate zilele suprapuse și a doua regulă începe/se termină înainte sau după prima regulă
Un tehnician primește un nou program de lucru, care înlocuiește câteva săptămâni din vechiul program. Prin contract, lucrează întotdeauna în aceleași zile în fiecare săptămână.
Creați o primă regulă de calendar care se repetă pentru un anumit interval de date. De exemplu: Repetați Luni, Marți; 2.1-4.1; 8:00-17:00 ET.
Creați o a doua regulă de calendar care se repetă pentru un interval de date suprapus, în care toate zilele au ore de lucru suprapuse. Alegeți date de începere/sfârșire pentru această nouă regulă, care sunt înainte sau după data de început/terminare pentru prima regulă. De exemplu: Repetați Luni, Marți; 3.1-5.1; 13:00-20:00 ET.
Rezultat: prima regulă este trunchiată pentru a se potrivi cu data de început/terminare a celei de-a doua reguli. De exemplu: Repetați Luni, Marți; 2.1-2.28; 8:00-17:00 ET ȘI Se repetă Luni, Mar; 3.1-5.1; 13:00-20:00 ET.
Exemplul 3 - Orele de lucru repetate: toate datele care se suprapun, cu unele zile/ore care se suprapun
Tehnicianul este lucrător contractual pe o perioadă determinată de 2 luni. Ei au convenit să preia muncă suplimentară în câteva zile. Vor să schimbe programul de lucru de marți la o oră mai devreme/mai târziu.
Creați câteva reguli de calendar care se repetă pentru un anumit interval de date. De exemplu: Repetați Luni, Marți; 2.1-4.1; 8:00-12:00 ET ȘI Repetare marți, miercuri; 2.1-4.1, 13:00-17:00 ET.
Creați o nouă regulă de calendar care se repetă pentru același interval de date. Alegeți zile/ore care se suprapun parțial cu regulile originale. De exemplu: Repetați marți, joi ; 2.1-4.1; 10:00-14:00 ET.
Rezultat: noua regulă o suprascrie pe cea veche acolo unde există suprapuneri și le lasă pe celelalte neschimbate. De exemplu: Repetați luni; 2.1-4.1; 8:00-12:00 ET ȘI Repetare miercuri; 2.1-4.1; 13:00-17:00 ET ȘI Repetare marți, joi ; 2.1-4.1; 10:00-14:00 ET.
Exemplul 4 - Orele de lucru repetate: date noi de regulă incluse în regula veche, unele zile/ore suprapuse
Un tehnician lucrează între orele 8:00 și 17:00, de luni până vineri, în fiecare săptămână. Doar timp de două săptămâni, se vor ocupa de un proiect special de urgență în fiecare luni-miercuri, cu ore de lucru diferite între 6:00 și 18:00.
Creați o primă regulă de calendar care se repetă pentru un anumit interval de date. De exemplu: Repetați Luni, Marți, Miercuri, Joi, Vineri; 1.1-Fără dată de încheiere; 8:00-17:00 ET.
Creați o a doua regulă de calendar care se repetă în intervalul de date de mai sus, alegeți orele de lucru care se suprapun în unele zile. De exemplu: Se repetă Luni, Marți, Miercuri; 5.1-5.14; 6:00-18:00 ET.
Rezultat: calendarul ar trebui să aibă patru reguli care se repetă până la sfârșitul acestui exercițiu:
- Trunchiați prima regulă la data de începere a celei de-a doua reguli
- A doua regulă calendaristică
- Creați o nouă regulă similară cu prima regulă, dar cu datele celei de-a doua reguli pentru zilele care nu se suprapun
- Trunchiați prima regulă pentru a începe de la data de încheiere a celei de-a doua reguli, fără dată de încheiere
De exemplu: Repetați Luni, Marți, Miercuri, Joi, Vineri; 1,1–4,30; 8:00-17:00 ET ȘI Repetare Luni, Marți, Miercuri; 5.1-5.14; 6am-6pm ET ȘI Repetare joi, vineri, 5.1-5.14; 8:00-17:00 ET ȘI Repetare Luni, Marți, Miercuri, Joi, Vineri; 5.15–Fără dată de încheiere; 8:00-17:00 ET
Exemplul 5 - Orele de lucru nerepetate (ocurență, regulă de rang 1)
Un tehnician are un număr de zile de coeziune în echipă, care au prioritate față de toate celelalte ore de lucru din ziua respectivă.
Creați o regulă de calendar care se repetă pentru un anumit interval de date. De exemplu: Repetați Luni, Marți, Miercuri, Joi, Vineri; 1.1-Fără dată de încheiere; 8:00-17:00 ET.
Creați o regulă de calendar care nu se repetă în intervalul de date de mai sus. Alegeți orele de lucru care se suprapun în unele zile. De exemplu: Nerepetare; 6,21; 7:00-13:00 ET.
Rezultat: Calendarul ar trebui să aibă o regulă de nerepetare (ocurență) până la sfârșitul exercițiului. Regula de nerepetare anulează evenimentul de repetare suprapusă pentru întreaga zi. De exemplu: Repetați Luni, Marți, Miercuri, Joi, Vineri; 1.1-Fără dată de încheiere cu excepția 6.21; nerepetarea; 6,21; 7:00-13:00 ET.
Reguli care se suprapun V1
- Regulile de rangul 1 au o prioritate mai mare decât regulile de rangul 0. Deci, dacă au existat două reguli (una din fiecare rang) în aceeași zi, apariția zilnică sau apariția timpului liber au prioritate față de recurența săptămânală.
- Dacă există două reguli cu același rang, regula care a fost creată/modificată cel mai recent va fi cea care este luată în considerare pentru calendarul resursei.
- Rețineți că aparițiile pe tot parcursul zilei sunt de rangul 1, așa că este recomandabil să luați în considerare schimbarea într-o recurență săptămânală pentru a putea adăuga orele de lucru pentru apariții și a le respecta.
- Atunci când există o oră de lucru și se creează o pauză (timp liber) care se suprapune cu aceasta, regulile sunt divizate într-un mod care să asigure respectarea timpului liber, iar timpul rămas ca oră de lucru va rămâne așa cum este. De exemplu, dacă există ore de lucru între orele 08:00 AM și 5:00 PM pe 21 septembrie și se adaugă o apariție de timp liber de la 3:00 PM la 7:00 PM pe 21 septembrie, acest lucru va fi rezolvat astfel: programul de lucru va fi între orele 8:00 AM și 3:00 PM, iar de la 3:00 PM la 7:00 PM este timp liber. Însă dacă regulile au fost create în ordinea opusă (s-a creat mai întâi timpul liber și apoi s-au creat orele de lucru), indiferent de intervalele de timp, doar ora de lucru va fi selectată din nou. Timpul liber va fi înlocuit.
Coduri fus orar
Enum | Fus orar |
---|---|
0 | (GMT-12:00) Linia de schimbare a datei, vest |
1 | (GMT+13:00) Samoa |
2 | (GMT-10:00) Hawaii |
3 | (GMT-09:00) Alaska |
4 | (GMT-08:00) Ora coastei Pacificului (SUA și Canada) |
5 | (GMT-08:00) Baja California |
6 | (GMT-11:00) Timp Universal-11 |
7 | (GMT-10:00) Insulele Aleutine |
8 | (GMT-09:30) Insulele Marchize |
9 | (GMT-09:00) Timp universal-09 |
10 | (GMT-07:00) Ora regiunii muntoase (SUA și Canada) |
11 | (GMT-08:00) Timp universal-08 |
12 | (GMT-07:00) Chihuahua, La Paz, Mazatlan |
15 | (GMT-07:00) Arizona |
20 | (GMT-06:00) Ora regiunii centrale (SUA și Canada) |
25 | (GMT-06:00) Saskatchewan |
29 | (GMT-06:00) Guadalajara, Mexico City, Monterrey |
33 | (GMT-06:00) America Centrală |
34 | (GMT-06:00) Insula Paștelui |
35 | (GMT-05:00) Ora regiunii estice (SUA și Canada) |
40 | (GMT-05:00) Indiana (Est) |
43 | (GMT-05:00) Haiti |
44 | (GMT-05:00) Havana |
45 | (GMT-05:00) Bogota, Lima, Quito, Rio Branco |
47 | (GMT-04:00) Caracas |
50 | (GMT-04:00) Ora Coastei Atlanticului (Canada) |
51 | (GMT-05:00) Turks și Caicos |
55 | (GMT-04:00) Georgetown, La Paz, San Juan |
56 | (GMT-04:00) Santiago |
58 | (GMT-04:00) Cuiaba |
59 | (GMT-04:00) Asuncion |
60 | (GMT-03:30) Newfoundland |
65 | (GMT-03:00) Brasilia |
69 | (GMT-03:00) Buenos Aires |
70 | (GMT-03:00) Cayenne, Fortaleza |
71 | (GMT-03:00) Salvador |
72 | (GMT-03:00) Saint-Pierre și Miquelon |
73 | (GMT-03:00) Groenlanda |
74 | (GMT-03:00) Montevideo |
75 | (GMT-02:00) Atlanticul Mijlociu |
76 | (GMT-02:00) Timp universal standard-02 |
77 | (GMT-03:00) Araguaina |
80 | (GMT-01:00) Azore |
83 | (GMT-01:00) Insulele Cabo Verde |
84 | (GMT+01:00) Casablanca |
85 | (GMT+00:00) Dublin, Edinburgh, Lisabona, Londra |
90 | (GMT+00:00) Monrovia, Reykjavik |
92 | (GMT) Ora universală |
95 | (GMT+01:00) Belgrad, Bratislava, Budapesta, Ljubljana, Praga |
100 | (GMT+01:00) Sarajevo, Skopje, Varșovia, Zagreb |
105 | (GMT+01:00) Bruxelles, Copenhaga, Madrid, Paris |
110 | (GMT+01:00) Amsterdam, Berlin, Berna, Roma, Stockholm, Viena |
113 | (GMT+01:00) Africa central-vestică |
115 | (GMT+02:00) Chișinău |
120 | (GMT+02:00) Cairo |
125 | (GMT+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius |
129 | (GMT+02:00) Amman |
130 | (GMT+02:00) Atena, București |
131 | (GMT+02:00) Beirut |
133 | (GMT+02:00) Damasc |
134 | (GMT+03:00) Istanbul |
135 | (GMT+02:00) Ierusalim |
140 | (GMT+02:00) Harare, Pretoria |
141 | (GMT+02:00) Windhoek |
142 | (GMT+02:00) Gaza, Hebron |
145 | (GMT+03:00) Moscova, Sankt Petersburg |
150 | (GMT+03:00) Kuweit, Riad |
151 | (GMT+03:00) Minsk |
155 | (GMT+03:00) Nairobi |
158 | (GMT+03:00) Bagdad |
159 | (GMT+02:00) Kaliningrad |
160 | (GMT+03:30) Teheran |
165 | (GMT+04:00) Abu Dhabi, Muscat |
169 | (GMT+04:00) Baku |
170 | (GMT+04:00) Erevan |
172 | (GMT+04:00) Port Louis |
173 | (GMT+04:00) Tbilisi |
174 | (GMT+04:00) Ijevsk, Samara |
175 | (GMT+04:30) Kabul |
176 | (GMT+04:00) Astrahan, Ulianovsk |
180 | (GMT+05:00) Ekaterinburg |
184 | (GMT+05:00) Islamabad, Karachi |
185 | (GMT+05:00) Tașkent |
190 | (GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi |
193 | (GMT+05:45) Kathmandu |
195 | (GMT+06:00) Astana |
196 | (GMT+06:00) Dhaka |
197 | (GMT+06:00) Omsk |
200 | (GMT+05:30) Sri Jayawardenepura |
201 | (GMT+07:00) Novosibirsk |
203 | (GMT+06:30) Yangon (Rangoon) |
205 | (GMT+07:00) Bangkok, Hanoi, Jakarta |
207 | (GMT+07:00) Krasnoiarsk |
208 | (GMT+07:00) Barnaul, Gorno-Altaisk |
209 | (GMT+07:00) Hovd |
210 | (GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi |
211 | (GMT+07:00) Tomsk |
215 | (GMT+08:00) Kuala Lumpur, Singapore |
220 | (GMT+08:00) Taipei |
225 | (GMT+08:00) Perth |
227 | (GMT+08:00) Irkutsk |
228 | (GMT+08:00) Ulan Bator |
229 | (GMT+09:00) Phenian |
230 | (GMT+09:00) Seul |
231 | (GMT+08:45) Eucla |
235 | (GMT+09:00) Osaka, Sapporo, Tokyo |
240 | (GMT+09:00) Yakutsk |
241 | (GMT+09:00) Chita |
245 | (GMT+09:30) Darwin |
250 | (GMT+09:30) Adelaide |
255 | (GMT+10:00) Canberra, Melbourne, Sydney |
260 | (GMT+10:00) Brisbane |
265 | (GMT+10:00) Hobart |
270 | (GMT+10:00) Vladivostok |
274 | (GMT+10:30) Insula Lord Howe |
275 | (GMT+10:00) Guam, Port Moresby |
276 | (GMT+11:00) Insula Bougainville |
277 | (GMT+11:00) Insula Norfolk |
278 | (GMT+11:00) Sahalin |
279 | (GMT+11:00) Ceokurdah |
280 | (GMT+11:00) Insulele Solomon, Noua Caledonie |
281 | (GMT+11:00) Magadan |
284 | (GMT+12:00) Timp universal standard+12 |
285 | (GMT+12:00) Fiji |
290 | (GMT+12:00) Auckland, Wellington |
295 | (GMT+12:00) Anadîr, Petropavlovsk-Kamceatski |
299 | (GMT+12:45) Insulele Chatham |
300 | (GMT+13:00) Nuku'alofa |
301 | (GMT-05:00) Chetumal |
302 | (UTC+02:00) Khartoum |
303 | (GMT-03:00) Punta Arenas |
304 | (GMT+04:00) Volgograd |
305 | (GMT-07:00) Yukon |
Feedback
https://aka.ms/ContentUserFeedback.
În curând: Pe parcursul anului 2024, vom elimina treptat Probleme legate de GitHub ca mecanism de feedback pentru conținut și îl vom înlocui cu un nou sistem de feedback. Pentru mai multe informații, consultați:Trimiteți și vizualizați feedback pentru