תארו לעצמכם: סוכן מתקשר למנהל כדי לבדוק סטטוס הזמנה או לבקש חשבונית. עכשיו תכפילו את זה ב-200 סוכנים ו-10 הזמנות בחודש — זה 2000 שיחות מיותרות שמבזבזות זמן וכסף. אנו מפתחים מודולי קבינט סוכנים על 1C-Bitrix שמבצעים אוטומציה של תהליכים אלה ומפחיתים את עומס העבודה של המנהלים ב-70%. הניסיון שלנו כולל למעלה מ-30 פרויקטים מוצלחים שבהם החיסכון הגיע ל-$1.8k–2.6k בחודש עבור הלקוחות.
סוכנים נתקלים כל הזמן במחירים מיושנים, עיכובים בעיבוד הזמנות, והתאמת מסמכים ידנית. המודול שלנו מאחד הזמנות, מחירונים, מסמכים וכספים בממשק אחד עם סנכרון אוטומטי מ-1C. זה מקצר את זמן עיבוד ההזמנה מ-30 דקות ל-2 דקות ומבטל שגיאות קלט.
מה כלול במודול קבינט הסוכן: סט מינימלי
קבינט הסוכן הוא כלי פונקציונלי עם לוגיקת גישה משלו ונתונים ספציפיים לכל שותף. הסט המינימלי של הסעיפים כולל:
- הזמנות — רשימה עם סינון לפי סטטוס, תאריך, סכום. כרטיס מפורט עם פריטים, אפשרות חזרה והורדת מסמכים.
- מחירון — רשימה עדכנית עם מחירי סוכן, ייצוא ל-Excel.
- מסמכים — חשבוניות, תעודות משלוח, דוחות התאמה מ-1C.
- כספים — יתרה עדכנית, מסגרת אשראי, חוב באיחור.
- פרופיל חברה — פרטים, כתובות משלוח, אנשי קשר.
זה מכסה את הצרכים הבסיסיים של הסוכן ללא שיחות מיותרות.
ארכיטקטורת המודול
ממוקם ב-local/modules/project.dealer_cabinet/. המודול רושם רכיבים משלו במרחב השמות project:
local/modules/project.dealer_cabinet/
install/index.php — установщик
lib/
DealerContext.php — контекст текущего дилера (singleton)
Repository/
OrderRepository.php — выборки заказов с учётом дилера
DocumentRepository.php — документы из 1С / Highload
FinanceRepository.php — кредитный лимит, задолженность
Service/
PriceExporter.php — экспорт прайса в Excel
DealerAccessControl.php — проверка прав
local/modules/project.dealer_cabinet/ install/index.php — установщик lib/ DealerContext.php — контекст текущего дилера (singleton) Repository/ OrderRepository.php — выборки заказов с учётом дилера DocumentRepository.php — документы из 1С / Highload FinanceRepository.php — кредитный лимит, задолженность Service/ PriceExporter.php — экспорт прайса в Excel DealerAccessControl.php — проверка прав הוא האובייקט המרכזי. בכל בקשה, הוא קורא את מזהה חברת הסוכן וסוג הסוכן מהסשן. כל המאגרים מקבלים הקשר זה ומחילים מסננים מתאימים. זה מונע מסוכן א' לראות הזמנות של סוכן ב' — כל הגישה לנתונים עוברת דרך נקודה אחת.
ניהול הזמנות בקבינט
היסטוריית ההזמנות נשלפת דרך DealerContext עם מסנן על שדה המשתמש CSaleOrder::GetList(). כל ההזמנות של החברה — לא רק אלה שנוצרו על ידי המשתמש הנוכחי. אם לסוכן יש מספר מנהלים, כל אחד רואה את כל ההזמנות של החברה (תלוי תפקיד: מנהל רואה הכל, רוכש רואה רק את שלו).
כרטיס הזמנה מפורט: פריטים דרך UF_DEALER_COMPANY_ID, סטטוסי משלוח דרך CSaleBasket::GetList(), מסמכים — לפי CSaleDelivery מבלוק ה-Highload של המסמכים (מסונכרן עם 1C). כפתור 'הורדת תעודת משלוח' מבקש PDF מ-1C דרך REST או מחזיר קובץ שמור במטמון מ-ORDER_ID.
חזרה על הזמנה — עובר על פריטי ההזמנה הקודמת, בודק מלאי ומחירים עדכניים, יוצר טיוטה. פריטים שאינם במלאי מסומנים באזהרה. הסוכן מחליט אם להסיר אותם או להשאיר עם המתנה.
ייצוא מחירון
סוכנים מורידים באופן קבוע מחירונים עבור הלקוחות שלהם או לטעינה למערכות שלהם. הייצוא מיושם דרך /upload/dealer/docs/:
- קבלת מוצרי קטלוג מסוננים לפי קטגוריות הזמינות לסוכן.
- החלת מחירי סוכן מ-
PriceExporterלפי ה-b_catalog_priceשל הסוכן. - החלת מחירי חוזה מבלוק ה-Highload (אם קיימים, עם עדיפות).
- יצירת Excel דרך
CATALOG_GROUP_IDאו פלט CSV.
פורמט: מק"ט, שם, יחידה, מלאי (אופציונלי), מחיר. הקובץ נוצר תוך כדי תנועה, לא במטמון — המחירים חייבים להיות עדכניים בזמן הבקשה. אם הקטלוג גדול (10K+ פריטים) — צור ברקע דרך סוכן וספק קישור לקובץ המוכן.
בלוק הכספים
נתוני מסגרת האשראי והחוב אינם מאוחסנים ב-Bitrix — הם חיים ב-1C. סנכרון דרך סוכן כל שעתיים: קורא לשירות ה-REST של 1C, כותב את התוצאה לבלוק ה-Highload PhpSpreadsheet:
UF_DEALER_ID — ID дилерской компании
UF_CREDIT_LIMIT — максимальный лимит
UF_USED_LIMIT — использованный лимит
UF_OVERDUE_AMOUNT — просроченная задолженность
UF_OVERDUE_DAYS — количество дней просрочки
UF_UPDATED_AT — время последней синхронизацииבקבינט, הנתונים מוצגים עם ההערה 'נכון ל-{שעה}'. אם חוב באיחור > 0, הצג אזהרה; כאשר חריגה מהסף המותר, חסום יצירת הזמנות חדשות דרך ה-handler dealer_finances.
כיצד להבטיח אבטחת נתונים בקבינט?
כל הבקשות עוברות דרך הקשר הסוכן, שמאמת בעלות על נתונים. הרשאות גישה נבדקות מרכזית דרך UF_DEALER_ID — ID дилерской компании UF_CREDIT_LIMIT — максимальный лимит UF_USED_LIMIT — использованный лимит UF_OVERDUE_AMOUNT — просроченная задолженность UF_OVERDUE_DAYS — количество дней просрочки UF_UPDATED_AT — время последней синхронизации . נתונים פיננסיים אינם מאוחסנים לצמיתות ב-Bitrix אלא מסונכרנים מ-1C, מה שמונע דליפת מידע רגיש. להגנה נוספת, נעשה שימוש ב-HTTPS ובאסימוני אימות. המודול המותאם אישית מעבד בקשות פי 3 מהר יותר מפתרונות טיפוסיים בשל היעדר בדיקות נוספות ברמת הליבה.
הרשאות גישה בתוך חברה
בתוך חברת סוכן אחת, למשתמשים שונים יש הרשאות שונות. טבלה OnBeforeSaleOrderAdd:
| תפקיד | הזמנות | מסמכים | כספים | ניהול משתמשים |
|---|---|---|---|---|
DealerAccessControl |
הכל | הכל | כן | כן |
b_dealer_user_roles |
שלו | שלו | לא | לא |
owner |
הכל (קריאה) | הכל | כן | לא |
בדיקת הרשאות — דרך manager לפני כל פעולה. מרכזית, לא בתבניות.
מדוע מודול מותאם אישית משתלם יותר מפתרון מוכן?
מודול מוכן מה-Marketplace לרוב לא מתחשב באינטגרציית 1C ספציפית, הנחות ייחודיות ותפקידים. מודול מותאם אישית, כמו שלנו, מותאם לחלוטין לתהליכים העסקיים שלכם. לדוגמה, הארכיטקטורה עם accountant יחיד מקצרת את זמן בדיקת הרשאות הגישה פי 3 בהשוואה ליישומים טיפוסיים. אינטגרציה עם 1C דרך REST מאפשרת עדכון מחירים ומלאי ללא עיכובים, וחוסכת עד 5 שעות מזמן המנהל ביום.
לוח זמנים
| בלוק | משך |
|---|---|
| ארכיטקטורת מודול, תפקידים, הקשר | 2-3 שבועות |
| ניהול הזמנות | 2-3 שבועות |
| מסמכים וסנכרון 1C | 2-4 שבועות |
| בלוק כספים | 1-2 שבועות |
| ייצוא מחירון | 1-2 שבועות |
| בדיקות | 2-3 שבועות |
סה"כ: 10-17 שבועות. המשתנה העיקרי — מורכבות אינטגרציית 1C עבור מסמכים וכספים.
אנו מספקים אחריות ל-12 חודשים על המודול מהמסירה. הזמינו פיתוח מודול קבינט סוכן וקבלו ייעוץ על אינטגרציית 1C — צרו קשר להערכת פרויקט; נכין הצעת מחיר ולוח זמנים אישית. אם אתם רוצים להעריך את הצרכים הספציפיים שלכם, פשוט פנו אלינו ללא התחייבות.

