اعمل الخطوات دي:
1) عرّف تنبيه (Notification Definition) على ملحوظة الاجتماع
- اعمل تعريف تنبيه جديد واربطه بكيان
MeetingRemark.
- حط القوالب (Templates) والمستهدفين (Targets) بالطريقة العادية.
- أول لما تحفظ التعريف، روح عدّل ملحوظة اجتماع موجودة بالفعل وتأكد إن التنبيه اتبعت بشكل صحيح من خلال السلوك العادي للتعديل.
2) اعمل مهمة مجدولة (Task Schedule) بنوع إجراء (Action)
select entityType, id
from MeetingRemark
where remarkDateOrWhateverColumn > xxx
(الاستعلام محتاج تعديل حسب أسماء الأعمدة الفعلية اللي بتمثل تاريخ ووقت الاجتماع عندك.)
3) ارجع على تعريف التنبيه واضبط الإعدادات للتشغيل اليدوي
- شيل خيار الإرسال التلقائي مع التعديل.
- علّم على خيار يدوي (
useManually) — كده التنبيه مش هيتبعت لما المستخدم يعدّل الملحوظة، وبس هيتبعت لما المهمة المجدولة تشغّله على السجلات اللي بيرجّعها الاستعلام.
JSON جاهز للاستيراد المباشر
ده مثال JSON بيعمّلك تعريف التنبيه + المهمة المجدولة اللي بتشغّله كل 5 دقايق. الاستعلام محتاج تعديل حسب نموذج البيانات عندك:
{
"NotificationDefinition": [
{
"code": "meetings-notify",
"notificationEntity": "MeetingRemark",
"priority": 1,
"useManually": true,
"templates": {
"notificationTemplate": "لديك اجتماع بعد أقل من ساعتين {link($this)}\n{remarks}"
},
"targets": [
{
"field": "relatedEntity1"
},
{
"field": "firstAuthor"
}
]
}
],
"TaskSchedule": [
{
"code": "meetings-notify-task",
"scheduleType": "Action",
"relatedTo": "MeetingRemark",
"usingCron": true,
"scheduleInfo": {
"timeMinute": "*/5",
"timeHour": "*",
"timeDayOfMonth": "*",
"timeMonth": "*",
"timeDayOfWeek": "*"
},
"className": "com.namasoft.infor.domainbase.util.actions.EARunManualNotificationFromQuery",
"parameter1": "select top 1 entityType,id\nfrom MeetingRemark",
"parameter7": "MEETING_NOTIFY"
}
]
}