המספור תואם לתיקיות: בתיקייה 01 מופיעות השאלות 01-01, 01-02 וכן הלאה. שלוש שאלות ההתחלה הן 01-05, 01-08 ו־01-02; מקור ערכי פילטר התהליך הוא 01-20. מזהי OBP ושמות קובצי SQL נשארים קבועים.
זהו צילום המקור שנבדק ב־8 בנובמבר 2026, ולא SQL ששוחזר מהכותרת. החליפו {{schema}} בסכימה המורשית שלכם והריצו שאלה אחת בכל פעם. פילטרי הדשבורד והתצוגה אינם כלולים כאן. כינויי העמודות והערכים בעברית נשמרו בדיוק כפי שהם בשאלות המקור.
01-01 · פקודות עבודה לפי מצב
תמונת מצב של מספר הפקודות בכל סטטוס, כולל פקודות סגורות.
דגש לבדיקה: הקיבוץ הוא לפי statusname. שאלות אחרות מסננות statustype; שם תצוגה אינו קוד מצב.
SELECT statusname AS "מצב פקודה", count(*) AS "מספר פקודות" FROM {{schema}}.workorder WHERE deletedat IS NULL GROUP BY 1 ORDER BY 2 DESC;01-02 · פקודות עבודה פתוחות — פירוט
רשימת פקודות חדשות, בעבודה ומוקפאות, עם מק״ט, תהליך, התקדמות, כמות מתוכננת ומועד יעד.
דגש לבדיקה: פקודות ללא מועד יעד נשארות בסוף הרשימה. שאלה 01-05 אינה כוללת מוקפאות; 01-20 כוללת את שמות התהליכים שלהן.
SELECT workordernumber AS "פקודת עבודה", sku AS "מק״ט", workflowname AS "תהליך", statusname AS "מצב", progress AS "התקדמות", quantity AS "כמות מתוכננת", expecteddate AS "מועד יעד" FROM {{schema}}.workorder WHERE deletedat IS NULL AND replace(statustype,'WO.STATUSES.','') IN ('NEW','IN_PROGRESS','FROZEN') ORDER BY expecteddate NULLS LAST;01-03 · פתיחת פקודות לפי חודש
מספר הפקודות שנוצרו בכל חודש. התאריך הוא מועד יצירת הפקודה.
דגש לבדיקה: חודש יצירה אינו שחזור של הצבר הפתוח בעבר. createdat חסר עשוי ליצור קבוצה ריקה.
SELECT date_trunc('month',createdat) AS "חודש פתיחה", count(*) AS "פקודות" FROM {{schema}}.workorder WHERE deletedat IS NULL GROUP BY 1 ORDER BY 1;01-04 · סיום פקודות לפי חודש
מספר הפקודות הסגורות בכל חודש, לפי מועד סיום רשום. פקודה ללא מועד סיום אינה נכללת.
דגש לבדיקה: פקודות סגורות ללא מועד סיום אינן נכללות. בדקו תאריכים חסרים ב־06-03 או ב־01-16.
SELECT date_trunc('month',"end") AS "חודש סיום", count(*) AS "פקודות" FROM {{schema}}.workorder WHERE deletedat IS NULL AND replace(statustype,'WO.STATUSES.','')='END' AND "end" IS NOT NULL GROUP BY 1 ORDER BY 1;01-05 · פקודות פתוחות לפי תהליך
מספר הפקודות החדשות ובעבודה בכל תהליך. פקודות מוקפאות וסגורות אינן נכללות.
דגש לבדיקה: workflowname חסר מוחלף בתווית שמופיעה ב־SQL. שמות זהים יכולים לאחד זהויות תהליך שונות. למקור ערכים רחב יותר השתמשו ב־01-20.
SELECT coalesce(workflowname,'(ללא תהליך)') AS "תהליך",count(*) AS "פקודות פתוחות" FROM {{schema}}.workorder WHERE deletedat IS NULL AND replace(statustype,'WO.STATUSES.','') IN ('NEW','IN_PROGRESS') GROUP BY 1 ORDER BY 2 DESC;01-06 · פקודות פתוחות לפי מק״ט
מספר הפקודות החדשות ובעבודה לכל מק״ט. פקודות מוקפאות וסגורות אינן נכללות.
דגש לבדיקה: אין תהליך בפלט. סינון התוצאה אינו יכול לשחזר פירוט לפי תהליך.
SELECT sku AS "מק״ט",count(*) AS "פקודות פתוחות" FROM {{schema}}.workorder WHERE deletedat IS NULL AND replace(statustype,'WO.STATUSES.','') IN ('NEW','IN_PROGRESS') GROUP BY 1 ORDER BY 2 DESC;01-07 · גיל פקודות פתוחות
חלוקת הפקודות החדשות והפקודות שבעבודה לפי הזמן שעבר מאז יצירתן: פחות משבוע, שבוע עד חודש, חודש עד שלושה חודשים ומעל שלושה חודשים. בקוד הנוכחי גם פקודה ללא תאריך יצירה נכללת בקבוצה הוותיקה ביותר; בדקו את תאריך הפקודה לפני שמסיקים את גילה.
דגש לבדיקה: הקבוצות נקבעות לפי פחות מ־7, 03-02 ו־90 ימים. תאריך יצירה חסר נכנס כעת לקבוצה הוותיקה ביותר; תאריך עתידי נכנס לצעירה ביותר.
SELECT CASE WHEN date_diff('day',createdat,current_timestamp)<7 THEN '01 · פחות משבוע' WHEN date_diff('day',createdat,current_timestamp)<30 THEN '02 · שבוע עד חודש' WHEN date_diff('day',createdat,current_timestamp)<90 THEN '03 · חודש עד שלושה' ELSE '04 · מעל שלושה חודשים' END AS "גיל פקודה",count(*) AS "פקודות" FROM {{schema}}.workorder WHERE deletedat IS NULL AND replace(statustype,'WO.STATUSES.','') IN ('NEW','IN_PROGRESS') GROUP BY 1 ORDER BY 1;01-08 · פקודות באיחור — פירוט
פקודות חדשות ובעבודה שמועד היעד שלהן עבר, עם ימי האיחור וההתקדמות. פקודות ללא מועד יעד אינן נכללות.
דגש לבדיקה: מוקפאות ופקודות ללא מועד יעד אינן נכללות. פקודה יכולה להיות באיחור גם אם הפרש הימים השלמים הוא אפס.
SELECT workordernumber AS "פקודה",sku AS "מק״ט",workflowname AS "תהליך",expecteddate AS "מועד יעד",date_diff('day',expecteddate,current_timestamp) AS "ימי איחור",progress AS "התקדמות" FROM {{schema}}.workorder WHERE deletedat IS NULL AND replace(statustype,'WO.STATUSES.','') IN ('NEW','IN_PROGRESS') AND expecteddate<current_timestamp ORDER BY 5 DESC;01-09 · פקודות פתוחות ללא מועד יעד
פקודות חדשות ובעבודה שלא הוגדר להן תאריך יעד. מאפשרת לזהות פער בתכנון.
דגש לבדיקה: נבדק NULL בלבד. גם תאריך ישן או בלתי סביר נחשב לתאריך מאוכלס.
SELECT workordernumber AS "פקודה",sku AS "מק״ט",workflowname AS "תהליך",createdat AS "תאריך יצירה",statusname AS "מצב" FROM {{schema}}.workorder WHERE deletedat IS NULL AND replace(statustype,'WO.STATUSES.','') IN ('NEW','IN_PROGRESS') AND expecteddate IS NULL ORDER BY createdat;01-10 · עמידה במועד סיום לפי חודש
מתוך הפקודות הסגורות עם מועד יעד ומועד סיום: כמה הסתיימו במועד ומה שיעורן בכל חודש. זהו סיום פקודות, ולא אישור משלוח ללקוח.
דגש לבדיקה: ההשוואה היא בין חותמות זמן מלאות. סיום בדיוק במועד נחשב בזמן. תאריכים חסרים אינם במכנה; בדקו 06-03.
SELECT date_trunc('month',"end") AS "חודש סיום",count(*) AS "פקודות עם מועדים",count_if("end"<=expecteddate) AS "הסתיימו במועד",100.0*count_if("end"<=expecteddate)/nullif(count(*),0) AS "אחוז במועד" FROM {{schema}}.workorder WHERE deletedat IS NULL AND replace(statustype,'WO.STATUSES.','')='END' AND "end" IS NOT NULL AND expecteddate IS NOT NULL GROUP BY 1 ORDER BY 1;01-11 · זמן הובלה לפי תהליך
חציון מספר הימים משחרור פקודה ועד לסיומה. החישוב כולל פקודות סגורות שתאריכיהן מאפשרים לחשב משך תקין. אם חסר מועד שחרור, החישוב מתחיל במועד היצירה; מספר הפקודות האלה מוצג בנפרד.
דגש לבדיקה: releasedat חסר מוחלף ב־createdat. שעות שלמות מחולקות ב־06-01; בדקו כמה תצפיות השתמשו בהחלפה.
SELECT workflowname AS "תהליך",count(*) AS "פקודות",approx_percentile(date_diff('hour',coalesce(releasedat,createdat),"end")/24.0,0.5) AS "חציון ימים",count_if(releasedat IS NULL) AS "חושב ממועד יצירה" FROM {{schema}}.workorder WHERE deletedat IS NULL AND replace(statustype,'WO.STATUSES.','')='END' AND "end">=coalesce(releasedat,createdat) GROUP BY 1 ORDER BY 3 DESC;01-12 · פקודות לפי מקור
חלוקת הפקודות לפי המקור הרשום. מקור חסר מוצג כ־local; אין בכך הוכחה לאופן היצירה בפועל.
דגש לבדיקה: NULL מוחלף ב־local; מחרוזת ריקה אינה מוחלפת. אין בכך הוכחה שהפקודה הוזנה ידנית.
SELECT coalesce(source,'local') AS "מקור",count(*) AS "פקודות" FROM {{schema}}.workorder WHERE deletedat IS NULL GROUP BY 1 ORDER BY 2 DESC;01-14 · פקודות לפי מצב וסוג ניהול
ספירת פקודות לפי מצב וסימוני ניהול סידורי וייצור באצווה, כפי שנרשמו.
דגש לבדיקה: דגלים חסרים נשארים חסרים ואינם הופכים אוטומטית ל־false.
SELECT statusname AS "מצב",isserial AS "מנוהל סידורית",bulkproduction AS "ייצור באצווה",count(*) AS "פקודות" FROM {{schema}}.workorder WHERE deletedat IS NULL GROUP BY 1,2,3 ORDER BY 4 DESC;01-15 · התקדמות פקודות פתוחות — התפלגות
חלוקת הפקודות החדשות והפקודות שבעבודה לשלוש קבוצות: ללא ערך התקדמות, עם ערך אפס ועם ערך התקדמות אחר. זו אינה חלוקה לטווחי אחוזים.
דגש לבדיקה: כל ערך שאינו NULL ואינו אפס, גם שלילי, נכנס לקבוצת התקדמות רשומה. אלה קטגוריות ולא טווחי אחוזים.
SELECT CASE WHEN progress IS NULL THEN 'לא רשומה' WHEN progress=0 THEN 'אפס' ELSE 'התקדמות רשומה' END AS "התקדמות",count(*) AS "פקודות" FROM {{schema}}.workorder WHERE deletedat IS NULL AND replace(statustype,'WO.STATUSES.','') IN ('NEW','IN_PROGRESS') GROUP BY 1;01-16 · פקודות סגורות — פירוט מועדים
מועד היעד ומועד הסיום לכל פקודה סגורה, עם סיווג במועד, באיחור או חסר מידע.
דגש לבדיקה: פקודות ללא יעד או סיום נשארות כמידע חסר. הוציאו קבוצה זו כשמשווים ל־01-10.
SELECT workordernumber AS "פקודה",sku AS "מק״ט",workflowname AS "תהליך",expecteddate AS "מועד יעד","end" AS "מועד סיום",CASE WHEN expecteddate IS NULL OR "end" IS NULL THEN 'חסר מידע' WHEN "end"<=expecteddate THEN 'במועד' ELSE 'באיחור' END AS "עמידה במועד" FROM {{schema}}.workorder WHERE deletedat IS NULL AND replace(statustype,'WO.STATUSES.','')='END' ORDER BY "end" DESC;01-17 · פקודות לפי חודש יעד
מספר הפקודות לפי חודש מועד היעד והמצב הנוכחי, בכל המצבים. פקודות ללא מועד יעד אינן נכללות.
דגש לבדיקה: זהו מצב נוכחי לפי חודש יעד ולא המצב שהיה באותו חודש. תאריכי יעד חסרים אינם נכללים.
SELECT date_trunc('month',expecteddate) AS "חודש יעד",statusname AS "מצב",count(*) AS "פקודות" FROM {{schema}}.workorder WHERE deletedat IS NULL AND expecteddate IS NOT NULL GROUP BY 1,2 ORDER BY 1,2;01-18 · פקודות לשבעת הימים הקרובים
אילו פקודות חדשות ובעבודה כדאי לקדם לפני שיאחרו? מועד היעד הוא מההרצה ועד שבע יממות קדימה. מוקפאות אינן נכללות; זו אינה בדיקת קיבולת או זמינות חומרים.
דגש לבדיקה: זהו חלון זמן מתגלגל ולא תוכנית משמרת. איחורים קיימים ומוקפאות אינם נכללים. פילטר תאריך בתוצאה יכול לצמצם את החלון אך לא להרחיבו.
SELECT workordernumber AS "פקודה", sku AS "מק״ט", workflowname AS "תהליך", statusname AS "מצב", expecteddate AS "מועד יעד", start AS "תחילת עבודה", quantity AS "כמות מתוכננת"
FROM {{schema}}.workorder
WHERE deletedat IS NULL AND replace(statustype,'WO.STATUSES.','') IN ('NEW','IN_PROGRESS')
AND expecteddate>=current_timestamp AND expecteddate<current_timestamp+interval '7' day
ORDER BY expecteddate;
01-19 · פקודות מוקפאות — רשימת טיפול
אילו פקודות במצב מוקפא דורשות בירור? מוצגות פקודות FROZEN בלבד. „נוצרה” הוא מועד יצירת הפקודה, ולא מועד ההקפאה. רשימה ריקה תקינה כשאין מוקפאות.
דגש לבדיקה: מועד היצירה אינו מועד ההקפאה. סיבה, משך והיסטוריית הקפאה אינם זמינים בשאלה זו.
SELECT workordernumber AS "פקודה", sku AS "מק״ט", workflowname AS "תהליך", statusname AS "מצב", createdat AS "נוצרה", expecteddate AS "מועד יעד", quantity AS "כמות מתוכננת"
FROM {{schema}}.workorder
WHERE deletedat IS NULL AND replace(statustype,'WO.STATUSES.','')='FROZEN'
ORDER BY expecteddate NULLS LAST;
01-20 · תהליכים בפקודות פתוחות — מקור לפילטר
רשימת תהליכים ייחודיים מתוך פקודות חדשות, בעבודה ומוקפאות. מיועדת למקור ערכי פילטר בדשבורד פקודות פתוחות. שמות חסרים או ריקים אינם נכללים. היא אינה רשימת כל התהליכים בארגון.
דגש לבדיקה: כיסוי המצבים תואם ל־01-02, אך שמות חסרים או ריקים אינם נכללים. שמות זהים עשויים לאחד זהויות תהליך שונות. שינוי מקור הרשימה אינו משנה את חישוב הכרטיס.
SELECT DISTINCT workflowname AS "תהליך"
FROM {{schema}}.workorder
WHERE deletedat IS NULL
AND replace(statustype,'WO.STATUSES.','') IN ('NEW','IN_PROGRESS','FROZEN')
AND workflowname IS NOT NULL AND trim(workflowname)<>''
ORDER BY 1;