HR Leave · Australia

HR Leave — All Scripts Inventory (كل السكربتات)

ServiceNow Australia · Custom app · Arabic + English readable · scripts copy/paste ready

App typeCustom
Scopex_786686_hr_leave
sys_ide5f5bc9493a303507520703efaba104d
Replace{BASE} = your instance
Instance URLs Studio Business Rules Client Scripts Script Includes

Schema + sample data: SCHEMA_AND_DATA.html · App sys_id e5f5bc9493a303507520703efaba104d

HR Leave — All Scripts Inventory (كل السكربتات)

اقرأ أولاً (ملخص سريع): MASTER_ALL_IN_ONE_SUMMARY.md · HTML: html/MASTER_ALL_IN_ONE_SUMMARY.html
الدليل الشامل الواحد: MASTER_ALL_IN_ONE.md · HTML: html/MASTER_ALL_IN_ONE.html
ممارسة الشاشات (New/Open): MASTER_PRACTICE_GUIDE_ALL_TOPICS.md · html/MASTER_PRACTICE_GUIDE_ALL_TOPICS.html
Platform: ServiceNow Australia · Scope x_786686_hr_leave · sys_id e5f5bc9493a303507520703efaba104d

Platform target: ServiceNow Australia (current family, Sep 2026) · next EA: Brazil
App: Custom · Scope x_786686_hr_leave · sys_id e5f5bc9493a303507520703efaba104d
URLs: ../SERVICENOW_DIRECT_URLS_CATALOG.md · 1-week: ../SERVICENOW_ONE_WEEK_STUDY_DEPLOY_AUSTRALIA.md

App type: Custom
Scope: x_786686_hr_leave
sys_id: e5f5bc9493a303507520703efaba104d
Date created: 2026-09-09 20:20:55
الهوية: APPLICATION.md

الصق السكربتات داخل التطبيق x_786686_hr_leave فقط (Application picker = HR Leave).


1) Business Rules — src/server/business_rules/

File Table When Purpose
BR1_calculate_days.js x_786686_hr_leave_req_v2 before insert/update يحسب الأيام + يضبط Approver عبر x_786686_hr_leave.HRLXProLeaveUtilsV2
BR2_on_submit_event.js x_786686_hr_leave_req_v2 after Event: x_786686_hr_leave.leave_v2.submitted
BR3_audit_state_change.js x_786686_hr_leave_req_v2 after update Audit + recalculate balance عند الاعتماد
BR4_on_approve_reject_event.js x_786686_hr_leave_req_v2 after update Events: .approved / .rejected

Fluent mirror: sdk/examples/business-rules.now.ts · servicenow-ai-workspace/hr-leave-sdk/src/fluent/business-rules.now.ts


2) Client Scripts — src/client/client_scripts/

File Table Type Purpose
CS1_validate_dates.js x_786686_hr_leave_req_v2 onChange u_end_date يمنع End قبل Start
CS2_calc_days_glideajax.js x_786686_hr_leave_req_v2 onChange u_end_date GlideAjax('x_786686_hr_leave.HRLXProLeaveUtilsV2') → u_days_count

UI Policy (doc): src/client/ui_policies/UIP1_sick_requires_reason.md


3) Script Includes — src/server/script_includes/

File API name Client callable Purpose
HRLXProLeaveUtilsV2.js x_786686_hr_leave.HRLXProLeaveUtilsV2 Yes أيام عمل، Approver، رصيد، Audit
HRLXProSecurityUtilsV2.js x_786686_hr_leave.HRLXProSecurityUtilsV2 — ACL helpers
HRLXProIntegrationUtilsV2.js x_786686_hr_leave.HRLXProIntegrationUtilsV2 — REST in/out

4) Catalog / Record Producer — src/catalog/

File Target table Purpose
RP_submit_leave.js x_786686_hr_leave_req_v2 يملأ الطلب من Variables عند Submit

5) REST — src/server/rest/

File Purpose
inbound_scripted_rest_leave.js Scripted REST وارد — إنشاء إجازة
outbound_rest_message.js Outbound REST Message / push قرار

Docs: SCRIPTED_REST_INBOUND_SETUP.md · OUTBOUND_REST_MESSAGE_SETUP.md · rest_api_explorer.md


6) Scheduled Jobs — src/server/scheduled_jobs/

File Purpose
annual_accrual.js ترحيل رصيد سنوي على جداول x_786686_hr_leave_*

7) Portal Widgets — src/portal/widgets/

Widget Files Tables
hrlx_my_leaves server.js + client.js x_786686_hr_leave_req_v2
hrlx_balance server.js + client.js x_786686_hr_leave_employee_v2 · _bal_v2

8) قواعد الاستدعاء (مهم)

من أين الشكل الصحيح
Client Script / GlideAjax new GlideAjax('x_786686_hr_leave.HRLXProLeaveUtilsV2')
Business Rule / REST داخل التطبيق new x_786686_hr_leave.HRLXProLeaveUtilsV2()
Events x_786686_hr_leave.leave_v2.submitted / .approved / .rejected
Tables x_786686_hr_leave_req_v2 …

استخدم فقط النطاق x_786686_hr_leave — لا تستخدم النطاقات القديمة (x_2065034_hr_leave / x_demo_hr_leave / x_pro_hrlx).


9) Checklist على المثيل

  1. Application picker → HR Leave (x_786686_hr_leave)
  2. افتح sys_app → sys_id = e5f5bc9493a303507520703efaba104d
  3. أنشئ/حدّث كل ملف أعلاه داخل نفس الـ Scope
  4. Script Include: Client callable = true لـ HRLXProLeaveUtilsV2
  5. اختبر CS2: تغيير End date يملأ u_days_count عبر GlideAjax