תפריט

שכר מטבע ותקופת תשלום: השלשה שאי אפשר לפרק

שכר מטבע ותקופת תשלום הם שלושה פרטים שמתפקדים כיחידה אחת. למה מספר בלי תקופה גרוע ממספר חסר, איך רושמים המרה בלי לאבד מידע, ולמה שכר צריך להישאר שדה אופציונלי.

פורסם

  • נתוני בדיקה
  • קריירה
  • שכר

שכר מטבע ותקופת תשלום הם שלושה ערכים שנשמרים בדרך כלל בשדות נפרדים, ומתפקדים בפועל כיחידה אחת. ברגע ששניים מהם נשמרים בלי השלישי, המספר מפסיק לתאר סכום כסף ומתחיל לתאר ספרות.

המאמר עובר על הסיבה לכך, על ההבדל בין שכר בסיס לבין חבילה כוללת, על בחירה בקוד מטבע במקום בסמל, על אופן הרישום של המרה, ועל השאלה אם מידע על שכר צריך להיות חלק חובה ברשומה בכלל.

למה מספר בלי מטבע ותקופה חסר משמעות?

מפני שסכום כסף הוא מכפלה של שלושה גורמים, ואף אחד מהם אינו נגזר מהאחרים.

המטבע קובע את היחידה. הסכום קובע את הכמות. והתקופה קובעת את הקצב—אם מדובר בסכום חודשי, שנתי או חד-פעמי. שלושת הפרטים יחד הם מה שהופך מספר למידע שאפשר להשוות אותו למספר אחר.

מבין השלושה, התקופה היא זו שהשמטתה מסוכנת ביותר, ומסיבה שאינה מובנת מאליה. מטבע חסר נראה כמשהו שחסר, ומי שנתקל בו יודע שחסר לו מידע. תקופה חסרה אינה נראית כך. המספר נראה שלם, ואם האדם קורא אותו מניח ברירת מחדל משלו, למשל חודשית. מפני שמרבית הסכומים בשוק הם חודשיים או שנתיים, ההנחה הזאת תהיה נכונה בחלק מהמקרים ושגויה פי שנים עשר באחרים.

התוצאה היא טעות מסדר גודל שנכנסת בשקט למיון, לדוחות ולחישובי השוואה, ואיש אינו מזהה אותה כי אין בה שום דבר שנראה שבור. לכן עדיף שדה ריק לשדה שנושא מספר בלי תקופה.

מה ההבדל בין חבילה כוללת לשכר בסיס?

הם מתארים שני גדלים שונים באותו תחום, ולכן בחירה באחד מהם היא איבוד מידע ולא פישוט.

שכר בסיס הוא הסכום המובטח עבור העבודה עצמה. חבילה כוללת מוסיפה את מה שמשתנה או מותנה: בונוס, חלק במניות, עמלה, שווי של הטבות נלוות. הפער בין השניים יכול להיות קטן מאוד או גדול מאוד, והוא תלוי בתעשייה, בתפקיד ובאופן שבו אותו מקום נוהג לשלם.

הבעיה מתחילה כשמנסים לאחד אותם לשדה אחד בשם שכר. אדם שדיווח על חבילה כוללת ואדם שדיווח על בסיס ייראו זהים, וההשוואה ביניהם תטעה את מי שקורא אותה. אם במקום זה מזהים כל ערך בשם שלו, שני המספרים יכולים לשבת זה לצד זה, ולכל אחד מהם יש משמעות.

לכן הדרך הנכונה היא לשמור שדה ערך יחד עם שדה תווית שמתאר למה הערך מתייחס, ולא לבחור אחד מהשניים בשם אחידות. מקרי הבדיקה של טופס הגיוס נוגעים בכך מפני שהטופס הוא המקום שבו האדם נדרש לבחור תווית בפעם הראשונה.

למה להשתמש בקוד מטבע ולא בסמל?

מפני שסמל של מטבע אינו ייחודי ואינו עמיד בפני שינויי הקשר.

סמלים משמשים בכמה מטבעות שונים לאותה משמעות גרפית, ולכן אותו סימן יכול להתייחס ליחידות שונות לפי האזור שבו הוא מופיע. מעבר לכך, סמלים משתנים בין מקומות: אותו מטבע מסומן בצורה אחת במקום אחד ובצורה אחרת במקום שני, ולכן שמירה של סמל יוצרת ערכים שלא ניתן להשוות ביניהם בלי לדעת את ההקשר.

קוד של מטבע הוא מזהה קבוע. הוא מוגדר ברשימה בין-לאומית, הוא אינו נתון לפרשנות, והוא נשמר באותן אותיות בכל מקום. מפני שהוא יציב, אפשר להשתמש בו למיון, לבדיקה ולחישוב בלי לחשוב פעמיים.

נוהג מומלץ הוא לשמור את הקוד בשדה נפרד ולא בתוך מחרוזת של סכום, ולעולם לא לשמור סכום עם סמל בלבד. שדה שמכיל סכום עם סימן נראה אנושי ופוגע בכל מי שמנסה לקרוא אותו באופן ממוכן.

איך רושמים המרה?

המרה היא פעולה שנושאת את ההקשר שלה, ואם שומרים רק את התוצאה הסופית מאבדים את מה שהיה שם קודם.

ארבעה פרטים שייכים לרישום המרה:

  • הסכום המקורי במטבע המקורי, כפי שהאדם דיווח אותו.
  • המטבע שאליו הומר, בקוד ולא בסמל.
  • מועד ההמרה, מפני ששערי חליפין משתנים תדיר.
  • המקור של השער שהופעל, כדי שאפשר יהיה לשחזר את החישוב.

כשהארבעה נשמרים, אפשר לחזור ולבדוק את המספר בכל רגע, וגם להחליף את השער בלי לאבד את הערכים שהיו. כשהם אינם נשמרים, מתקבל מספר שאי אפשר לשחזר, ואף אחד אינו יכול לומר אם הוא היה נכון ביום שבו נוצר.

חשוב לזכור שהמרה אינה פעולה שמשמרת מידע. שני סכומים שנשמרו בשני מטבעות שונים באמצעות שער חליפין מייצגים את אותו ערך בערך, ולא באופן מדויק. לכן הערך המקורי הוא הנתון, והסכום המומר הוא תוספת מחושבת שאפשר לחשב מחדש, ולא נתון חדש.

האם מידע על שכר הוא חלק חובה ברשומה?

הוא צריך להיות אופציונלי, ובברירת מחדל גם ריק.

הסיבה אינה רגישה במיוחד ואינה סודית: שכר הוא פרט שדורש הסכמה מפורשת, הוא אינו רלוונטי לכל תהליך, והוא לעיתים קרובות חסוי בעת הגשת מועמדות. מערכת שהופכת אותו לשדה חובה מייצרת שתי תוצאות גרועות. הראשונה היא שהאדם ממלא ערך שאינו נכון כדי לעבור הלאה, והמערכת שומרת אותו כאילו היה נתון אמיתי. השנייה היא שהאדם עוזב את הטופס, ולכן המערכת מאבדת רשומה שלמה בגלל שדה אחד שאינו נחוץ.

אם המערכת בכל זאת אוספת שכר, ראוי שהיא תסמן את הערך כהצהרה של האדם, שהשדה יישאר ריק כשאינו מולא, ושהמערכת לא תשלים אותו בערך אוטומטי משל עצמה.

הכלל הזה נכון במיוחד לנתוני בדיקה. רשומת בדיקה שמכילה שכר חייבת להכיל ערך מומצא בבירור, מפני שכל דרך אחרת מייצרת רשומה שנראית כמו נתון אמיתי של אדם אמיתי. רשומות פרופיל הקריירה מתייחסות לשדה השכר כשדה היחיד שמושמט במכוון כברירת מחדל, וזו החלטה נכונה.

למפתחים: שדות שכר וברירות מחדל בטוחות

הכלל המרכזי הוא שאף אחד משלושת השדות אינו נושא ברירת מחדל.

ארבעה הרגלים מיישמים אותו. יש לשמור סכום, קוד מטבע ותקופה כשלושה שדות נפרדים וכולם חסרים כשהם לא סופקו, מפני שכל ברירת מחדל שהיא תייצר ערכים שנקראים כמו נתונים אמיתיים. יש להחזיק את רשימת התקופות כרשימה סגורה שקובעת מה מותר, מפני שתקופה שנכתבת כטקסט חופשי מייצרת וריאציות שאי אפשר להשוות. יש לשמור תווית שמבדילה בין בסיס לבין חבילה כוללת, ולא לבחור אחת מהן בשם המערכת. ויש להפריד בין הערך המקורי לבין כל ערך שהומר, כולל המקור והמועד של ההמרה.

מעבר לכך, כל הצגה של שכר צריכה לציין את שלושת הפרטים ולא להסתפק באחד מהם. צירוף של ארבעה וחמישה בלי תקופה אינו נתון, גם אם הוא נראה כמו כזה.

כל הסכומים, המטבעות והתקופות בדוגמאות האלה הומצאו לצורכי בדיקות תוכנה והדגמת טפסים. הם אינם שייכים לאדם אמיתי ואינם נלקחו מרשומה של אדם כזה.

צעדים הבאים

חפש במערכת שלך שדה שמכיל סכום בלי תקופה או בלי קוד מטבע. אם הוא קיים, המספרים שהוא מכיל אינם ניתנים להשוואה, גם כשהם נראים מסודרים.

הדרך המהירה לבחון את זה היא לייצר רשומה אחת שבה השכר מושמט לגמרי ורשומה שנייה שבה הוא מוצהר בחבילה כוללת. מחולל פרופיל הקריירה יכול להפיק את שתיהן, וההבדל בין מה שהשדות מראים בשני המקרים מסגיר מהר מאוד אם ברירת מחדל כלשהי נכנסת בלי שאיש ביקש אותה.

המשך קריאה

מדריכים בנושא מחולל קורות חיים ונתוני משרה לבדיקה