إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تحتاج مؤسسات Field Service إلى جدولة العمل، في أغلب الأحيان من خلال خدمة مندوب مباشرة بواسطة العميل. يتم إنشاء الموارد عادةً بالاستناد إلى الموارد المتوفرة للشركة ومتطلبات العمل.
عندما تستخدم على الأقل Dynamics 365 Field Service v8.8.43.51 وUniversal Resource Scheduleling v3.12.46.21 لجدولة العمل، استخدم واجهة برمجة التطبيقات msdyn_SearchResourceAvailability لاسترجاع جميع الموارد المؤهلة للعمل، حتى تتمكن من جدولة العمل بكفاءة. في وقت كتابة هذا النص، فإن v3 هو أحدث إصدار من msdyn_SearchResourceAvailability ويدعم استدعاءات واجهة برمجة التطبيقات (Web API).
ملاحظة
استخدم أحدث إصدار من واجهة برمجة التطبيقات لأن الإصدارات القديمة قد تستخدم طرق مصادقة مهجورة.
معلمات الإدخال
| Name | Type | الوصف | مطلوب | افتراضي |
|---|---|---|---|---|
| الإصدار | سلسلة | يحدد رقم إصدار API إصدار API الذي يجب استدعاءه. وهو يتبع تنسيق major.minor.patch.
|
لا | الإصدار الحالي |
| IsWebApi | منطقي | قم بتعيين True لاستخدام مساعد الجدول عبر واجهة الويب. | نعم | -غير متوفر- |
| شرط | الكيان | تحدد هذه السمة متطلب المورد الذي يتم استرداد توفر المورد له. من المتوقع أن يكون هذا كيان من النوع msdyn_resourcerequirement. بإمكان المتطلب أن يكون عبارة عن سجل موجود مسبقًا من قاعدة البيانات، أو سجل تم إنشاؤه بشكل سريع مع القيود الضرورية. يجب أن يحتوي الكيان على جميع المواصفات ذات الصلة ببحثك. يجب أن يكون @odata.type لهذا الكيان هو Microsoft.Dynamics.CRM.msdyn_requirement. فيما يلي بعض السمات المهمة التي يجب تعبئتها:
|
نعم | -غير متوفر- |
| الإعدادات | الكيان | تساعد سمة الإعدادات على تصفية الموارد المستردة بشكل أكبر. حدد الإعدادات كسمات في حقيبة الكيان. نوع الكيان ليس بالأمر المهم. يمكنك تحديد أي اسم منطقي للكيان. | نعم | -غير متوفر- |
| ResourceSpecification | الكيان | تعريف السمة resourceSpecification كسمات في حقيبة الكيان. يجب أن يكون @odata.type لهذا الكيان هو Microsoft.Dynamics.CRM.expando. |
لا | لا يوجد |
كيان الإعدادات
كيان الإعدادات ليس كيانًا موجودًا في Dataverse؛ ومع ذلك، فهو مجموعة من جميع السمات التالية التي تساعد API مساعد الجدولة في تصفية النتائج. لذا، يجب أن يكون @odata.type لهذا الكيان هو Microsoft.Dynamics.CRM.expando.
| Name | Type | الوصف | مطلوب | افتراضي |
|---|---|---|---|---|
| ConsiderSlotsWithLessThanRequiredCapacity | منطقي | عيّن هذا الخيار إلى صواب إذا كان من الضروري مراعاة فترة زمنية مع أقل من السعة المطلوبة (الجهد) عند حساب الفترات الزمنية المتاحة المحتملة على تقويم المورد. | لا | خطأ |
| ConsiderSlotsWithLessThanRequiredDuration | منطقي | عيّن هذا الخيار إلى صواب إذا كان من الضروري مراعاة فترة زمنية مع أقل من المدة المطلوبة عند حساب الفترات الزمنية المتاحة المحتملة على تقويم المورد. | لا | خطأ |
| ConsiderSlotsWithOverlappingBooking | منطقي | عيّن هذا الخيار إلى صواب إذا كان من الضروري مراعاة فترة زمنية مع حجوزات متداخلة عند حساب الفترات الزمنية المتاحة المحتملة على تقويم المورد. | لا | خطأ |
| ConsiderSlotsWithProposedBookings | منطقي | عيّن هذا الخيار إلى صواب إذا كان من الضروري مراعاة فترة زمنية مع حجوزات مقترحة عند حساب الفترات الزمنية المتاحة المحتملة على تقويم المورد. | لا | خطأ |
| ConsiderAppointments | منطقي | قم بتعيين هذا إلى صواب لتوافر موارد البحث، واجهة برمجة التطبيقات (API) لاحترام مواعيد Dataverse الحالية كحجوزات على المورد، بشرط تعيين إعدادات مستوى المؤسسة والموارد. تعتبر المواعيد التي تحمل حالتها مشغولة أو مكتملة غير متاحة لجدولة العمليات. | لا | خطأ |
| ConsiderTravelTime | منطقي | عيّن هذا الخيار إلى صواب إذا كان من الضروري مراعاة وقت السفر عند حساب الفترات الزمنية المحتملة على تقويم المورد. | لا | صواب |
| استثناء الموارد الخصائص | منطقي | اضبط هذا على True لاستبعاد خصائص الموارد في الفترات الزمنية التي استجابت لها. | لا | خطأ |
| MovePastStartDateToCurrentDate | منطقي | عيّن هذا الخيار إلى صواب لنقل تاريخ بدء في الماضي إلى التاريخ الحالي. | لا | خطأ |
| UseRealTimeResourceLocation | منطقي | عيّن هذا الخيار إلى صواب إذا كان من الضروري استخدام موقع الموارد في الوقت الحقيقي عند حساب الفترات الزمنية المحتملة على تقويم المورد. | لا | خطأ |
| SortOrder | مجموعة الكيانات | حدد ترتيب الفرز باستخدام مجموعة كيانات. يمثل كل كيان في المجموعة معايير فرز واحدة، ويمكنه فقط الفرز Resources من الاستجابة ولكن ليس TimeSlots. يجب أن يكون @odata.type لهذا الكيان هو Microsoft.Dynamics.CRM.expando. فيما يلي السمات التي تحتاج إلى تعبئتها:
|
لا | لا يوجد |
| MaxResourceTravelRadius | الكيان | تحدد هذه السمة الحد الأقصى الذي يمكن تحديده في الكيان. يجب أن يكون @odata.type لهذا الكيان هو Microsoft.Dynamics.CRM.expando. فيما يلي السمات التي تحتاج إلى تعبئتها:
|
لا | 0 كم. إذا كان الأمر كذلك، فلن يتم إرجاع أي موارد للمتطلبات في الموقع. |
| MaxNumberOfResourcesToEvaluate | عدد صحيح | تحدد هذه السمة حدًا على عدد الموارد التي يتم وضعها في الاعتبار للطلب. | لا | إذا لم تكن هذه السمة مدرجة في استدعاء API، يستخدم النظام حد استرجاع توفر الموارد من تعريف الكيان القابل للجدولة كما هو معرف في إعدادات التحرير للكيانات المفعلة. إذا تم تضمينها في المكالمة، فإنها تستبدل حد استرداد توفر الموارد المحدد. |
| ConsiderOutlookSchedules | منطقي | اضبط هذا على True إذا كان يجب النظر في جداول Outlook. متوفر فقط في الإصدارات 3.1.0 وما بعدها. | لا | خطأ |
كيان مواصفات المورد
| Name | Type | الوصف | مطلوب | افتراضي |
|---|---|---|---|---|
| ResourceTypes | مجموعة الكيانات | تحدد هذه السمة نوع المورد المطلوب للمتطلب. استخدم مجموعة الكيانات لتحديد هذه السمة. يمثل كل كيان في المجموعة نوع مورد واحد قابل للحجز. يجب أن يكون @odata.type لهذا الكيان هو Microsoft.Dynamics.CRM.msdyn_resourceType. هذه الصفة مطلوبة:
|
لا | جميع أنواع الموارد ما عداد طواقم العمل |
| PreferredResources | مجموعة الكيانات | تحدد هذه السمة الموارد المفضلة للمتطلب. أضف موارد إلى مجموعة الكيانات هذه لضمان أنها في قمة قائمة الموارد المتاحة. حتى الموارد التي ليست جزءا من مجموعة الكيانات موجودة في القائمة، ولكن فقط بعد الموارد المفضلة. | لا | لا يوجد |
| RestrictedResources | مجموعة الكيانات | تحدد هذه السمة الموارد التي يجب عدم أخذها في الاعتبار للمتطلب. يتم تصفية جميع الفترات الزمنية لهذا المورد من قائمة النتائج من هذه الواجهة. | لا | لا يوجد |
| MustChooseFromResources | مجموعة الكيانات | تحدد هذه السمة الموارد الوحيدة التي يمكن أن تكون موجودة في قائمة الموارد المتوفرة. وستقوم بتصفية كافة النتائج الأخرى من قائمة الإخراج. | ||
| القيود | الكيان | تحدد هذه السمة القيود الإضافية التي ينبغي تطبيقها على استرداد الموارد المتوفرة. | لا | لا يوجد |
| RetrieveResourcesQueryId | Guid | معرف استعلام استرداد الموارد. | لا | معرف استعلام استرداد الموارد الافتراضي. |
| BookedResourceId | Guid | تحدد هذه السمة المورد المحجوز حاليًا للمتطلب. | لا | لا يوجد |
ملاحظة
استخدم مجموعة الكيانات من كيانات الموارد القابلة للحجز لتحديد سمات الموارد المفضلة، المقيدة، وMustChooseFrom اللازمة. كل كيان في المجموعة يمثل موردا مفضلا أو مقيدا أو يجب أن يختار من. هذه الصفة مطلوبة لهم:
-
القيمة (التوجيه): معرف الموارد القابل للحجز للمورد المفضل أو المقيد أو MustChooseFrom القابل للحفظ. يجب أن يكون
@odata.typeلهذا الكيان هوMicrosoft.Dynamics.CRM.msdyn_bookableresource.
القيود
حدد قيودا إضافية من خلال السمات في هذا الكيان. نوع الكيان ليس بالأمر المهم. يمكنك تحديد أي اسم منطقي للكيان.
راجع استعلام استرداد الموارد في إعدادات لوحة الجدولة لتحديد القيود التي قد يتم تطبيقها. إنها تتضمن، بشكل افتراضي، ما يلي:
| Name | Type | الوصف |
|---|---|---|
| خصائص | مجموعة الكيانات | مجموعة من الخصائص التي يجب أن يمتلكها المورد المؤهل. كل إدخال يحتوي على معرف characteristic مميز. اختياريا، تضمين A ratingvalue مع معرف قيمة التقييم لتصفية الموارد حسب مستوى كفاءة محدد. |
| الأدوار | مجموعة الكيانات | مجموعة من معرفات الأدوار التي يجب أن تكون متوفرة لدى المورد المؤهل. |
| الأقَاليم | مجموعة الكيانات | مجموعة من معرفات المناطق. يجب تعيين مورد مؤهل إلى إحدى المناطق. |
| UnspecifiedTerritory | منطقي | مع قيود المناطق، يحدد وجوب تعيين إحدى هذه المناطق أو عدم تعيين أي منطقة على الإطلاق للمورد المؤهل. |
| OrganizationalUnits | مجموعة الكيانات | مجموعة من معرفات الوحدات التنظيمية. يجب أن يكون المورد المؤهل عضوًا في إحدى الوحدات التنظيمية المحددة. |
| Teams | مجموعة الكيانات | مجموعة من معرفات الفرق. يجب أن ينتمي المورد المؤهل إلى أحد الفرق (هذا يعني بشكل ضمني أن نوع المورد هو مستخدم النظام). |
| BusinessUnits | مجموعة الكيانات | مجموعة من معرفات وحدات الأعمال. يجب أن ينتمي المورد المؤهل إلى إحدى وحدات الأعمال (هذا يعني بشكل ضمني أن المورد هو مستخدم النظام). |
معلمات الإخراج
على أعلى مستوى، يتضمن الإخراج المعلمات الأربع التالية. ويتم تمثيل النتائج في كيانات ومجموعات كيانات. قد لا تتضمن الردود كافة السمات الموضحة هنا كقيمة فارغة أو لا يتم حذف قيم NA من الرد. تحقق دائمًا من وجود سمة قبل محاولة الوصول إليها.
| Name | Type | الوصف |
|---|---|---|
| TimeSlots | مجموعة الكيانات | مجموعة من نتائج الفترات الزمنية. لمزيد من المعلومات، راجع قسم كيان الفترة الزمنية . |
| Resources | مجموعة الكيانات | مجموعة من نتائج الموارد. يتم تمثيل الموارد كمجموعة من الكيانات ذات السمات التالية:
|
| مرتبط | الكيان | تمثل الموارد المرتبطة الموارد والفترات الزمنية للموارد غير المؤهلة مباشرة للمتطلب المطلوب لكنها مرتبطة. على سبيل المثال، إذا تأهل أحد أفراد طاقم العمل للمتطلب، فسيكون الأفراد الآخرون لطاقم العمل هذا النتائج ذات الصلة.
|
| الاستثناءات | الكيان | تحتوي هذه السمة على معلومات حول أي استثناء قد حدث ومعلومات حول ما إذا كان قد تم اقتطاع البحث عن المورد وأين تم اقتطاعه.
|
كيان الفترات الزمنية
| Name | Type | الوصف |
|---|---|---|
| ID | Guid | المعرّف الفريد للفترة الزمنية. |
| Type | عدد صحيح | نوع التوقيت المحدد. يمكن أن تكون واحدة من القيم التالية:
|
| StartTime | التاريخ/الوقت | وقت بدء الفترة الزمنية. إذا كان هناك سفر حسب المتطلب، فهذا هو وقت بدء السفر. إذا لم يكن كذلك، فهذه هي مدة بدء المتطلب. |
| ArrivalTime | التاريخ/الوقت | وقت وصول الفترة الزمنية. إذا كان هناك سفر للمتطلب، فهذا هو وقت بدء المتطلب، بعد الانتهاء من السفر. وإذا لم يكن الأمر كذلك، فهو نفس وقت بدء الفترة الزمنية. |
| EndTime | التاريخ/الوقت | وقت انتهاء الفترة الزمنية. |
| الجهد | عدد صحيح | مجهود أو سعة المورد لتنفيذ المتطلبات. |
| ResourceRequirement | EntityReference | متطلب المورد الذي يتم استرداد الفترات الزمنية له. |
| محتمل | منطقي | قيمة منطقية تشير إلى ما إذا كان لدى الفترة الزمنية القدرة على تلبية المتطلب المطلوب. |
| IsDuplicate | منطقي | قيمة منطقية إلى ما إذا كانت الفترة الزمنية عبارة عن تكرار. |
| AllowOverlapping | منطقي | قيمة منطقية تشير إلى إذا كان التداخل مسموحًا. |
| Resource | الكيان | المورد الذي تنتمي إليه الفترة الزمنية. لمزيد من المعلومات، راجع مورد الفتحة الزمنية. |
| Location | الكيان | الموقع به ثلاث سمات:
|
| سفر | الكيان | يحتوي هذا الكيان على تفاصيل وقت السفر ومعلومات المسافة لفترة زمنية. فيما يلي السمات:
|
| التالي | الكيان | يحتوي هذا الكيان على تفاصيل حول وقت السفر والمسافة إلى حجز الفترة الزمنية التالي.
|
| التوفر | الكيان | معلومات تفصيلية عن التوفر للفترة الزمنية. يستخدم هذا الكيان مع المجموعات الزمنية.
|
| TimeGroup | الكيان | التفاصيل حول مجموعة وقت.
|
Tip
عند إنشاء الحجوزات باستخدام واجهة برمجة التطبيقات (API)، استخدم حقل الإمكانية الموضح في الجدول. قد يؤدي عدم استخدام هذا الحقل إلى حجوزات متداخلة أو غير مناسبة.
مورد الفترة الزمنية
| Name | Type | الوصف |
|---|---|---|
| Resource | EntityReference | مرجع كيان إلى مورد قابل للحجز. |
| ResourceGroup | EntityReference | مرجع كيان إلى مجموعة موارد قابلة للحجز. |
| BusinessUnit | EntityReference | مرجع كيان إلى وحدة العمل. |
| OrganizationalUnit | EntityReference | مرجع كيان للوحدة التنظيمية. |
| نوع المورد | عدد صحيح | نوع المورد. راجع السمة ResourceType في الكيان BookableResource للقيم المحتملة. |
| PoolId | Guid | معرف المجموعة التي ينتمي إليها المورد أثناء مدة الفترة الزمنية. |
| CrewId | Guid | معرف طاقم العمل الذي ينتمي إليها المورد أثناء مدة الفترة الزمنية. |
| خصائص | مجموعة الكيانات | خصائص المورد القابل للحجز. يحتوي كل كيان في المجموعة على كيانات ذات خصائص ومعلومات تصنيف.
|
| HasStartLocation | منطقي | قيمة منطقية تشير إلى ما إذا كان المورد لديه موقع بدء. |
| HasEndLocation | منطقي | قيمة منطقية تشير إلى ما إذا كان المورد لديه موقع انتهاء. |
| البريد الإلكتروني | سلسلة | عنوان البريد الإلكتروني الخاص بالمورد. |
| الهاتف | سلسلة | رقم هاتف المورد. |
| ImagePath | سلسلة | المسار إلى صورة المورد. |
| CalendarId | Guid | معر ة تقويم المورد. |
الأمثلة
في هذا المثال، تستخدم الإصدار 3 من واجهة برمجة تطبيقات مساعد الجدول، التي تدعم استدعاءات واجهة برمجة تطبيقات الويب، لمتطلبات مدتها 60 دقيقة. باستخدام الخاصية settings ، تقوم بتصفية النتائج. تأخذ في الاعتبار نوعين من الموارد للنتائج النهائية: 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"
},
"ratingvalue": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "a1b2c3d4-5678-90ab-cdef-1234567890ab"
}
}
],
"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"
},
"ratingvalue": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "a1b2c3d4-5678-90ab-cdef-1234567890ab"
}
}
],
"Territories@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"Territories": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "cc19f004-4483-ee11-8178-000d3a5c32c3"
}
]
}
}
}