إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تحتاج مؤسسات Field Service إلى جدولة العمل، في أغلب الأحيان من خلال خدمة مندوب مباشرة بواسطة العميل. يتم إنشاء الموارد عادةً بالاستناد إلى الموارد المتوفرة للشركة ومتطلبات العمل.
عند استخدام Dynamics 365 Field Service v8.8.43.51 وUniversal Resource Scheduling v3.12.46.21 على الأقل لجدولة العمل، يمكن استخدام msdyn_SearchResourceAvailability API لاسترداد جميع الموارد المؤهلة للمهمة، للسماح بجدولة العمل بطريقة فعالة. عند كتابة هذا التقرير، الإصدار v3 هو الإصدار الأخير من msdyn_SearchResourceAvailability ويدعم استدعاءات واجهة API للويب.
إشعار
يوصى بشدة باستخدام أحدث إصدار من واجهة API لأن الإصدارات القديمة قد تستخدم أساليب مصادقة مهملة.
معلمات الإدخال
| الاسم | نوع | الوصف | مطلوبة | Default |
|---|---|---|---|---|
| الإصدار | السلسلة | يحدد رقم إصدار API إصدار API الذي يجب استدعاءه. وهو يتبع تنسيق major.minor.patch. من غير الضروري أن يحتوي الطلب على رقم الإصدار الكامل.
|
نعم | -غير متوفر- |
| IsWebApi | قيمة منطقية | عيّن هذا الخيار إلى صواب لاستخدام مساعد الجدولة عبر واجهة API الويب. | نعم | -غير متوفر- |
| المتطلبات | الكيان | تحدد هذه السمة متطلب المورد الذي يتم استرداد توفر المورد له. من المتوقع أن يكون هذا كيان من النوع msdyn_resourcerequirement. بإمكان المتطلب أن يكون عبارة عن سجل موجود مسبقًا من قاعدة البيانات، أو سجل تم إنشاؤه بشكل سريع مع القيود الضرورية. يجب أن يحتوي الكيان على جميع المواصفات ذات الصلة ببحثك. يجب أن يكون @odata.type لهذا الكيان Microsoft.Dynamics.CRM.msdyn_requirement. فيما يلي بعض السمات المهمة التي يجب تعبئتها:
|
نعم | -غير متوفر- |
| إعدادات | الكيان | تساعد سمة الإعدادات على تصفية الموارد المستردة بشكل أكبر. يتم تحديد الإعدادات كسمات في مجموعة الكيانات. نوع الكيان ليس بالأمر المهم. يمكنك تحديد أي اسم منطقي للكيان. | نعم | -غير متوفر- |
| ResourceSpecification | الكيان | السمة resourceSpecification معرّفة كسمات في مجموعة الكيانات. يجب أن يكون @odata.type لهذا الكيان Microsoft.Dynamics.CRM.expando. |
لا. | None |
كيان الإعدادات
كيان الإعدادات ليس كيانًا موجودًا في Dataverse؛ ومع ذلك، فهو مجموعة من جميع السمات التالية التي تساعد API مساعد الجدولة في تصفية النتائج. وبالتالي، يجب أن يكون @odata.type لهذا الكيان Microsoft.Dynamics.CRM.expando.
| الاسم | نوع | الوصف | مطلوبة | Default |
|---|---|---|---|---|
| ConsiderSlotsWithLessThanRequiredCapacity | قيمة منطقية | عيّن هذا الخيار إلى صواب إذا كان من الضروري مراعاة فترة زمنية مع أقل من السعة المطلوبة (الجهد) عند حساب الفترات الزمنية المتاحة المحتملة على تقويم المورد. | لا. | خطأ |
| ConsiderSlotsWithLessThanRequiredDuration | قيمة منطقية | عيّن هذا الخيار إلى صواب إذا كان من الضروري مراعاة فترة زمنية مع أقل من المدة المطلوبة عند حساب الفترات الزمنية المتاحة المحتملة على تقويم المورد. | لا. | خطأ |
| ConsiderSlotsWithOverlappingBooking | قيمة منطقية | عيّن هذا الخيار إلى صواب إذا كان من الضروري مراعاة فترة زمنية مع حجوزات متداخلة عند حساب الفترات الزمنية المتاحة المحتملة على تقويم المورد. | لا. | خطأ |
| ConsiderSlotsWithProposedBookings | قيمة منطقية | عيّن هذا الخيار إلى صواب إذا كان من الضروري مراعاة فترة زمنية مع حجوزات مقترحة عند حساب الفترات الزمنية المتاحة المحتملة على تقويم المورد. | لا. | خطأ |
| ConsiderAppointments | قيمة منطقية | قم بتعيين هذا إلى صواب لتوافر موارد البحث، واجهة برمجة التطبيقات (API) لاحترام مواعيد Dataverse الحالية كحجوزات على المورد، بشرط تعيين إعدادات مستوى المؤسسة والموارد. سيتم اعتبار المواعيد بالحالتين مشغولأ و مكتمل كغير متوفرة لعمليات الجدولة. | لا. | خطأ |
| ConsiderTravelTime | قيمة منطقية | عيّن هذا الخيار إلى صواب إذا كان من الضروري مراعاة وقت السفر عند حساب الفترات الزمنية المحتملة على تقويم المورد. | لا. | صواب |
| MovePastStartDateToCurrentDate | قيمة منطقية | عيّن هذا الخيار إلى صواب لنقل تاريخ بدء في الماضي إلى التاريخ الحالي. | لا. | خطأ |
| UseRealTimeResourceLocation | قيمة منطقية | عيّن هذا الخيار إلى صواب إذا كان من الضروري استخدام موقع الموارد في الوقت الحقيقي عند حساب الفترات الزمنية المحتملة على تقويم المورد. | لا. | خطأ |
| SortOrder | EntityCollection | حدد ترتيب الفرز باستخدام مجموعة كيانات. يمثل كل كيان في المجموعة معايير فرز واحدة، ويمكنه فقط الفرز Resources من الاستجابة ولكن ليس TimeSlots. يجب أن يكون @odata.type لهذا الكيان Microsoft.Dynamics.CRM.expando. فيما يلي السمات التي تحتاج إلى تعبئتها:
|
لا. | None |
| MaxResourceTravelRadius | الكيان | تحدد هذه السمة الحد الأقصى الذي يمكن تحديده في الكيان. يجب أن يكون @odata.type لهذا الكيان Microsoft.Dynamics.CRM.expando. فيما يلي السمات التي تحتاج إلى تعبئتها:
|
لا. | 0 كم. إذا كان الأمر كذلك، فلن يتم إرجاع أي موارد للمتطلبات في الموقع. |
| MaxNumberOfResourcesToEvaluate | رقم صحيح | تحدد هذه السمة حدًا على عدد الموارد التي يتم وضعها في الاعتبار للطلب. | لا. | إذا لم يتم تضمين هذه السمة في استدعاء واجهة برمجة التطبيقات، فسيستخدم النظام حد استرداد توافر الموارد من تعريف الكيان القابل للجدولة كما هو محدد في تحرير الإعدادات للكيانات الممكّنة. إذا تم تضمينها في المكالمة، فإنها تستبدل حد استرداد توفر الموارد المحدد. |
| ConsiderOutlookSchedules | قيمة منطقية | قم بتعيين هذا الخيار إلى صواب إذا كان يجب مراعاة الجداول الزمنية من Outlook. متوفر فقط في الإصدارات 3.1.0 والإصدارات الأحدث | لا. | خطأ |
كيان مواصفات المورد
| الاسم | نوع | الوصف | مطلوبة | Default |
|---|---|---|---|---|
| ResourceTypes | EntityCollection | تحدد هذه السمة نوع المورد المطلوب للمتطلب. يمكن تحديده باستخدام مجموعة كيانات. يمثل كل كيان في المجموعة نوع مورد واحد قابل للحجز. يجب أن يكون @odata.type لهذا الكيان Microsoft.Dynamics.CRM.msdyn_resourceType. هذه هي السمة المطلوبة:
|
لا. | جميع أنواع الموارد ما عداد طواقم العمل |
| PreferredResources | EntityCollection | تحدد هذه السمة الموارد المفضلة للمتطلب. تؤدي إضافة موارد إلى مجموعة الكيانات هذه إلى ضمان وجودها في أعلى قائمة الموارد المتوفرة. حتى الموارد التي ليست جزءًا من مجموعة الكيانات ستكون في القائمة، ولكن بعد الموارد المفضلة فقط. | لا. | None |
| RestrictedResources | EntityCollection | تحدد هذه السمة الموارد التي يجب عدم أخذها في الاعتبار للمتطلب. سيتم تصفية جميع الفترات الزمنية لهذا المورد من قائمة النتائج من API هذه. | لا. | None |
| MustChooseFromResources | EntityCollection | تحدد هذه السمة الموارد الوحيدة التي يمكن أن تكون موجودة في قائمة الموارد المتوفرة. وستقوم بتصفية كافة النتائج الأخرى من قائمة الإخراج. | ||
| القيود | الكيان | تحدد هذه السمة القيود الإضافية التي ينبغي تطبيقها على استرداد الموارد المتوفرة. | لا. | None |
| RetrieveResourcesQueryId | GUID | معرف استعلام استرداد الموارد. | لا. | معرف استعلام استرداد الموارد الافتراضي. |
| BookedResourceId | GUID | تحدد هذه السمة المورد المحجوز حاليًا للمتطلب. | لا. | None |
إشعار
يمكن تحديد سمات الموارد المفضلة/ المقيدة / MustChooseFrom باستخدام مجموعة كيانات من كيانات الموارد القابلة للحجز. يمثل كل كيان في المجموعة موردًا واحدًا مفضلاً / مقيدًا / MustChooseFrom. هذه هي السمة المطلوبة لها:
-
القيمة (Guid): معرف المورد القابل للحجز للمورد المفضل / المقيد / MustChooseFrom. يجب أن يكون
@odata.typeلهذا الكيانMicrosoft.Dynamics.CRM.msdyn_bookableresource.
القيود
يمكن تحديد قيود إضافية من خلال السمات في هذا الكيان. نوع الكيان ليس بالأمر المهم. يمكنك تحديد أي اسم منطقي للكيان.
راجع استعلام استرداد الموارد في إعدادات لوحة الجدولة لتحديد القيود التي قد يتم تطبيقها. إنها تتضمن، بشكل افتراضي، ما يلي:
| الاسم | نوع | الوصف |
|---|---|---|
| الخصائص | EntityCollection | مجموعة من معرفات الخصائص التي يجب أن تكون متوفرة لدى المورد المؤهل. |
| الأدوار | EntityCollection | مجموعة من معرفات الأدوار التي يجب أن تكون متوفرة لدى المورد المؤهل. |
| الأقاليم | EntityCollection | مجموعة من معرفات المناطق. يجب تعيين مورد مؤهل إلى إحدى المناطق. |
| UnspecifiedTerritory | قيمة منطقية | مع قيود المناطق، يحدد وجوب تعيين إحدى هذه المناطق أو عدم تعيين أي منطقة على الإطلاق للمورد المؤهل. |
| OrganizationalUnits | EntityCollection | مجموعة من معرفات الوحدات التنظيمية. يجب أن يكون المورد المؤهل عضوًا في إحدى الوحدات التنظيمية المحددة. |
| Teams | EntityCollection | مجموعة من معرفات الفرق. يجب أن ينتمي المورد المؤهل إلى أحد الفرق (هذا يعني بشكل ضمني أن نوع المورد هو مستخدم النظام). |
| BusinessUnits | EntityCollection | مجموعة من معرفات وحدات الأعمال. يجب أن ينتمي المورد المؤهل إلى إحدى وحدات الأعمال (هذا يعني بشكل ضمني أن المورد هو مستخدم النظام). |
معلمات الإخراج
على أعلى مستوى، يتضمن الإخراج المعلمات الأربع التالية. ويتم تمثيل النتائج في كيانات ومجموعات كيانات. قد لا تتضمن الردود كافة السمات الموضحة هنا كقيمة فارغة أو لا يتم حذف قيم NA من الرد. تحقق دائمًا من وجود سمة قبل محاولة الوصول إليها.
| الاسم | نوع | الوصف |
|---|---|---|
| TimeSlots | EntityCollection | مجموعة من نتائج الفترات الزمنية. لمزيد من المعلومات، راجع قسم كيان الفترة الزمنية . |
| موارد | EntityCollection | مجموعة من نتائج الموارد. يتم تمثيل الموارد كمجموعة من الكيانات ذات السمات التالية:
|
| مرتبط | الكيان | تمثل الموارد المرتبطة الموارد والفترات الزمنية للموارد غير المؤهلة مباشرة للمتطلب المطلوب لكنها مرتبطة. على سبيل المثال، إذا تأهل أحد أفراد طاقم العمل للمتطلب، فسيكون الأفراد الآخرون لطاقم العمل هذا النتائج ذات الصلة.
|
| الاستثناءات | الكيان | تحتوي هذه السمة على معلومات حول أي استثناء قد حدث ومعلومات حول ما إذا كان قد تم اقتطاع البحث عن المورد وأين تم اقتطاعه.
|
كيان الفترات الزمنية
| الاسم | نوع | الوصف |
|---|---|---|
| البطاقة/رقم البطاقة | GUID | المعرّف الفريد للفترة الزمنية. |
| نوع | رقم صحيح | بإمكان نوع الفترة الزمنية أن يكون واحدًا مما يلي:
|
| StartTime | DateTime | وقت بدء الفترة الزمنية. إذا كان هناك سفر للمتطلب، يكون هذا هو وقت بدء السفر. وإذا لم يكن الأمر كذلك، فهذا هو وقت بدء المتطلب. |
| ArrivalTime | DateTime | وقت وصول الفترة الزمنية. إذا كان هناك سفر للمتطلب، يكون هذا هو وقت بدء المتطلب، بعد إكمال السفر. وإذا لم يكن الأمر كذلك، فهو نفس وقت بدء الفترة الزمنية. |
| EndTime | DateTime | وقت انتهاء الفترة الزمنية. |
| الجهد | رقم صحيح | مجهود أو سعة المورد لتنفيذ المتطلبات. |
| ResourceRequirement | EntityReference | متطلب المورد الذي يتم استرداد الفترات الزمنية له. |
| محتمل | قيمة منطقية | قيمة منطقية تشير إلى ما إذا كان لدى الفترة الزمنية القدرة على تلبية المتطلب المطلوب. |
| IsDuplicate | قيمة منطقية | قيمة منطقية إلى ما إذا كانت الفترة الزمنية عبارة عن تكرار. |
| AllowOverlapping | قيمة منطقية | قيمة منطقية تشير إلى إذا كان التداخل مسموحًا. |
| مورد | الكيان | المورد الذي تنتمي إليه الفترة الزمنية. لمزيد من المعلومات، راجع مورد الفتحة الزمنية. |
| الموقع | الكيان | الموقع به ثلاث سمات:
|
| السفر | الكيان | يحتوي هذا الكيان على تفاصيل وقت السفر ومعلومات المسافة لفترة زمنية. فيما يلي السمات:
|
| التالي | الكيان | يحتوي هذا الكيان على تفاصيل حول وقت السفر والمسافة إلى حجز الفترة الزمنية التالي.
|
| التوافر | الكيان | معلومات تفصيلية عن التوفر للفترة الزمنية. يُستخدم مع مجموعات الوقت.
|
| TimeGroup | الكيان | التفاصيل حول مجموعة وقت.
|
تلميح
عند إنشاء حجوزات باستخدام API، استخدم الحقل المحتمل الموضح في الجدول. قد يؤدي عدم استخدام هذا الحقل إلى حجوزات متداخلة أو غير مناسبة.
مورد الفترة الزمنية
| الاسم | نوع | الوصف |
|---|---|---|
| مورد | EntityReference | مرجع كيان إلى مورد قابل للحجز. |
| ResourceGroup | EntityReference | مرجع كيان إلى مجموعة موارد قابلة للحجز. |
| BusinessUnit | EntityReference | مرجع كيان إلى وحدة العمل. |
| OrganizationalUnit | EntityReference | مرجع كيان للوحدة التنظيمية. |
| ResourceType | رقم صحيح | نوع المورد. راجع السمة ResourceType في الكيان BookableResource للقيم المحتملة. |
| PoolId | GUID | معرف المجموعة التي ينتمي إليها المورد أثناء مدة الفترة الزمنية. |
| CrewId | GUID | معرف طاقم العمل الذي ينتمي إليها المورد أثناء مدة الفترة الزمنية. |
| الخصائص | EntityCollection | خصائص المورد القابل للحجز. يحتوي كل كيان في المجموعة على كيانات ذات خصائص ومعلومات تصنيف.
|
| HasStartLocation | قيمة منطقية | قيمة منطقية تشير إلى ما إذا كان المورد لديه موقع بدء. |
| HasEndLocation | قيمة منطقية | قيمة منطقية تشير إلى ما إذا كان المورد لديه موقع انتهاء. |
| البريد الإلكتروني | السلسلة | عنوان البريد الإلكتروني الخاص بالمورد. |
| هاتف | السلسلة | رقم هاتف المورد. |
| ImagePath | السلسلة | المسار إلى صورة المورد. |
| CalendarId | GUID | معر ة تقويم المورد. |
الأمثلة
في هذا المثال، يتم استخدام الإصدار v3 من API لمساعد الجدولة الذي يسمح باستدعاءات API الويب لمدة 60 دقيقة. باستخدام سمة الإعدادات، يتم تصفية النتائج. يتم أخذ نوعين من الموارد في الاعتبار للنتائج النهائية: 1 و2 (بمعنى آخر، "عام" و"جهة اتصال").
{
"Version": "4",
"IsWebApi": true,
"Requirement": {
"msdyn_fromdate": "2021-07-14T00:00:00Z",
"msdyn_todate": "2021-07-15T23:59:00Z",
"msdyn_remainingduration": 60,
"msdyn_duration": 60,
"msdyn_TimeGroup@odata.bind": "/msdyn_timegroups(c3dc79ea-d12f-ee11-9cc9-000d3a745a58)",
"@odata.type": "Microsoft.Dynamics.CRM.msdyn_resourcerequirement"
},
"Settings": {
"ConsiderSlotsWithProposedBookings": false,
"MovePastStartDateToCurrentDate": true,
"@odata.type": "Microsoft.Dynamics.CRM.expando"
},
"ResourceSpecification": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"ResourceTypes@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"ResourceTypes": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "1"
},
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "2"
}
],
"Constraints": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"Characteristics@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"Characteristics": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"characteristic": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "67387f9f-12e2-ec11-bb43-000d3aed25f7"
}
}
],
"Territories@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"Territories": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "cc19f004-4483-ee11-8178-000d3a5c32c3"
}
],
"Roles@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"Roles": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "76998e42-744c-f011-877d-6045bdfb899e"
}
]
}
}
}
يوضح المثال التالي الاستخدام الصحيح لمجموعات الكيانات. في هذه الحالة، يتم تحديد MustChooseFromResources.
{
"Version": "4",
"IsWebApi": true,
"Requirement": {
"msdyn_fromdate": "2021-07-14T00:00:00Z",
"msdyn_todate": "2021-07-15T23:59:00Z",
"msdyn_remainingduration": 60,
"msdyn_duration": 60,
"msdyn_latitude": 47.64807,
"msdyn_longitude": -122.41249,
"msdyn_worklocation": 690970000,
"msdyn_TimeGroup@odata.bind": "/msdyn_timegroups(c3dc79ea-d12f-ee11-9cc9-000d3a745a58)",
"@odata.type": "Microsoft.Dynamics.CRM.msdyn_resourcerequirement"
},
"Settings": {
"ConsiderSlotsWithProposedBookings": false,
"MovePastStartDateToCurrentDate": true,
"MaxNumberOfResourcesToEvaluate":500,
"ConsiderTravelTime": true,
"MaxResourceTravelRadius": {
"Value": 20,
"Unit" : 192350000,
"@odata.type": "Microsoft.Dynamics.CRM.expando"
},
"@odata.type": "Microsoft.Dynamics.CRM.expando"
},
"ResourceSpecification": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"ResourceTypes@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"ResourceTypes": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "1"
},
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "2"
}
],
"MustChooseFromResources@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"MustChooseFromResources": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "2145a982-f718-ed11-b83e-0022482d79c8"
}
],
"Constraints": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"Characteristics@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"Characteristics": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"characteristic": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "67387f9f-12e2-ec11-bb43-000d3aed25f7"
}
}
],
"Territories@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"Territories": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "cc19f004-4483-ee11-8178-000d3a5c32c3"
}
]
}
}
}