לקוח סיטונאי בפורטל חומרי בניין חייב 22–32 אלף דולר, ומחלקת המכירות מבלה 10 שעות בשבוע בשיחות טלפון—כאב מוכר. אנו מגדירים החלפת התחשבנויות הדדיות בין 1C ל-1C-Bitrix כך שהקונה יראה את היתרה המדויקת בחשבון האישי שלו והמערכת תחסום אוטומטית את ההזמנה כאשר חריגה ממסגרת האשראי. הניסיון שלנו באינטגרציה מראה: ללא אוטומציה של משימה זו, חברה מפסידה עד 15% מההכנסות עקב עיכובים, ומנהלים נאלצים ליישב חובות ידנית.
התחשבנויות הדדיות בחשבון האישי הן סטנדרט בחנויות B2B ובפורטלים סיטונאיים. הלקוח צריך לראות את החוב הנוכחי, היסטוריית תשלומים וחוב על הזמנות ספציפיות. כל הנתונים האלה נמצאים ב-1C (UT, ERP, KA)—ויש להעבירם ל-Bitrix ללא אובדן ובביצועים מקובלים. להלן נפרק את ארכיטקטורת הפתרון עם דגש על אמינות ומהירות. הגדרה נכונה של החלפת התחשבנויות מחזירה את עצמה תוך 2–3 חודשים על ידי צמצום עיכובים והאצת מחלקת המכירות.
נתוני התחשבנויות הדדיות: מה מאוחסן ב-1C
ב-1C (UT, KA, ERP, BP), התחשבנויות הדדיות עם צדדים נגדיים מאוחסנות ברישום הצבירה ВзаиморасчётыСКонтрагентами. נתונים מרכזיים:
- חייבים שוטפים—כמה הצד הנגדי חייב לארגון
- זכאים—אם הארגון חייב לצד הנגדי (תשלום יתר, החזר)
- חוב באיחור—חוב החורג ממסגרת האשראי או מהתקופה
- היסטוריית תשלומים—מתי וכמה שולם
- מסמכי מקור—חשבוניות, הזמנות שעליהן יש חוב
CommerceML הסטנדרטי אינו מעביר התחשבנויות הדדיות. יש ליישם זאת בנפרד.
ארכיטקטורת הפתרון: כיצד להעביר חובות?
כדי להעביר התחשבנויות הדדיות ל-Bitrix, אנו משתמשים באחת משתי גישות—הבחירה תלויה בדרישות טריות הנתונים.
גישה 1: שירות HTTP של 1C
ב-1C נוצר שירות HTTP שמחזיר התחשבנויות הדדיות עבור צד נגדי ספציפי לפי בקשה. Bitrix קורא לשירות זה בעת פתיחת דף "היתרה שלי" בחשבון האישי.
דוגמה לקריאה לשירות HTTP מ-Bitrix
$response = file_get_contents( "https://1c.example.com/ut/hs/balance/get?counterparty_id={$guid}&key={$apiKey}" ); $balance = json_decode($response, true); שלבי ההגדרה:
- צור שירות HTTP ב-1C עם מתודת
$response = file_get_contents( "https://1c.example.com/ut/hs/balance/get?counterparty_id={$guid}&key={$apiKey}" ); $balance = json_decode($response, true);לקבלת היתרה. - יישם פונקציה שמחזירה את החוב השוטף והחוב באיחור ואת מסגרת האשראי לפי ה-GUID של הצד הנגדי.
- ב-Bitrix, הגדר את קריאת השירות עם מפתח API, ושמור את התשובה במטמון ב-Redis למשך 10 דקות.
- טפל בשגיאות זמינות של 1C—הצג נתונים מהמטמון כאשר 1C אינו זמין.
יתרון: הנתונים תמיד עדכניים. חיסרון: תלות בזמינות שרת 1C. שירות HTTP מספק טריות נתונים בזמן אמת; עבור בדיקות קריטיות (הצבת הזמנה) הוא מהיר פי 6 מסנכרון תקופתי.
גישה 2: סנכרון תקופתי
משימה מתוזמנת ב-1C מייצרת קובץ עם נתוני התחשבנויות הדדיות ומעבירה אותו ל-Bitrix (באמצעות FTP, API או בקשה ישירה לסקריפט). Bitrix שומר את הנתונים במסד הנתונים שלו ומציג אותם ללקוח.
יתרון: עצמאות מזמינות 1C ברגע טעינת הדף. חיסרון: נתונים באיחור (שווה למרווח הסנכרון, בדרך כלל 30–60 דקות). שירות HTTP מספק טריות גבוהה יותר, אך סנכרון יציב יותר—אנו בוחרים לפי המשימה. עבור B2B עם הזמנות תכופות, שירות HTTP עדיף; עבור פרויקטים תקציביים, סנכרון.
מה כלול בעבודה שלנו להגדרת ההחלפה?
| שלב | פעולות | תוצאה עבור הלקוח |
|---|---|---|
| אנליטיקה | בחינת רישומי 1C, סוגי צדדים נגדיים, כללים עסקיים | תיעוד עבודה על נתונים ותרחישים |
| עיצוב | בחירת גישה (שירות HTTP או סנכרון), מבנה HighloadBlock | דיאגרמת אינטגרציה מאושרת על ידי הלקוח |
| יישום | שירות HTTP בצד 1C, מודול Bitrix (בלוקי HL, מטפלי אירועים) | קוד מוכן שנפרס בסביבת staging |
| בדיקות | בדיקת כל המקרים: חוב, איחור, מסגרת אשראי, היסטוריה | פרוטוקול בדיקות עם תיקוני באגים |
| פריסה והדרכה | מעבר לסביבת production, הגדרת סוכנים, מסירת גישות | תיעוד למנהלים, שעתיים של הדרכה מקוונת |
לאחר היישום, אתה מקבל אחריות לסנכרון יציב: אנו משאירים ניטור למשך 14 ימים ומטפלים בתקלות במהירות. בנוסף, ייעוץ חינם לשיפורים לאחר חודש של פעילות.
יישום ב-Bitrix: מבנה HighloadBlock
לאחסון התחשבנויות הדדיות ב-Bitrix, אני ממליץ ליצור HighloadBlock—לדוגמה, GET:
| שדה | סוג | תיאור |
|---|---|---|
| UF_CONTRACTOR_XML_ID | מחרוזת | GUID של הצד הנגדי ב-1C |
| UF_BITRIX_USER_ID | מספר שלם | מזהה משתמש Bitrix |
| UF_DEBT | עשרוני | חוב שוטף (שקלים) |
| UF_OVERDUE_DEBT | עשרוני | חוב באיחור |
| UF_CREDIT_LIMIT | עשרוני | מסגרת אשראי |
| UF_LAST_PAYMENT_DATE | תאריך | תאריך התשלום האחרון |
| UF_LAST_PAYMENT_SUM | עשרוני | סכום התשלום האחרון |
| UF_UPDATED_AT | תאריך ושעה | זמן העדכון האחרון |
להיסטוריית תשלומים—HighloadBlock נפרד ContractorBalance עם רשומות לכל תשלום.
קישור צד נגדי למשתמש Bitrix
האתגר הטכני המרכזי: לדעת איזה משתמש Bitrix מתאים לאיזה צד נגדי ב-1C. אפשרויות:
-
לפי XML_ID של המשתמש. בעת הרשמה לאתר, נוצר צד נגדי ב-1C (באמצעות REST API), וה-GUID שלו נשמר בפרופיל המשתמש ב-Bitrix (שדה
ContractorPayments). -
לפי ח.פ. (מספר עוסק מורשה). המשתמש מזין ח.פ. בעת ההרשמה, והמערכת מאתרת את הצד הנגדי ב-1C לפי ח.פ.
-
מיפוי ידני. המנהל ב-Bitrix מקשר ידנית משתמש לצד נגדי. מתאים ל-B2B עם מספר קטן של לקוחות.
מסגרת אשראי ואיסור הזמנות
תרחיש פופולרי: אם לצד הנגדי יש חוב באיחור—אסור להציב הזמנות חדשות באתר. או: אם החוב חורג ממסגרת האשראי—הצג אזהרה.
יישום באמצעות אירוע Bitrix UF_1C_CONTRACTOR_ID:
AddEventHandler('sale', 'OnSaleOrderBeforeSaved', 'checkDebtLimit'); function checkDebtLimit(\Bitrix\Main\Event $event) { $order = $event->getParameter('ENTITY'); $userId = $order->getUserId(); $debt = getContractorDebt($userId); $limit = getContractorCreditLimit($userId); if ($debt['overdue'] > 0) { $result = $event->getParameter('RESULT'); $result->addError(new \Bitrix\Main\Error( 'Оформление заказа недоступно: есть просроченная задолженность' )); } } קוד זה עובד עבור כל תרחישי ניהול המסגרת.
מקרה בוחן: פורטל סיטונאי לחומרי בניין
פורטל B2B: 300 צדדים נגדיים פעילים, לכל אחד מסגרת אשראי. משימה: הצגת היתרה בחשבון האישי ואיסור הזמנות כאשר חריגה מהמסגרת. השתמשנו בגישת שירות HTTP מ-1C לקבלת החוב השוטף בזמן אמת. שמרנו את התשובה במטמון למשך 10 דקות (Redis). בעת הצבת הזמנה—תמיד בקשה טרייה, ללא מטמון.
בנוסף: הצגנו פירוט בדף החשבון האישי—רשימת חשבוניות פתוחות עם סכומים ותאריכי תשלום. נתונים מה-HighloadBlock, מתעדכנים פעם בשעה.
מדדנו את התוצאה לאחר 3 חודשים: מנהלים הפסיקו לעדכן לקוחות ידנית על חובות—מספר השיחות "למה אני לא יכול להזמין" ירד ב-70%. הלקוחות עצמם רואים את החוב ומשלמים לפני הצבת הזמנה חדשה. השוואה: שיחות ידניות לקחו 10 שעות אדם בשבוע, האוטומציה צמצמה אותן ל-3 שעות—פי 3 מהר יותר. החיסכון הממוצע במשכורות מנהלים הסתכם ב-270–390 דולר לחודש. האוטומציה החזירה את עצמה תוך חודשיים.
כמה זמן לוקח להגדיר החלפת התחשבנויות הדדיות?
אנו מעריכים את הפרויקט ביומיים עבודה לאחר מילוי הבריף. הגדרה בסיסית (גישה אחת, ללא כללים מותאמים אישית) אורכת בין 5 ל-10 ימי עבודה. אם נדרשים תרחישים מורכבים (מטבעות מרובים, חסימה אוטומטית לפי מסגרת אשראי, אינטגרציה עם Bizproc)—אנו מבהירים לוחות זמנים באופן אישי. צור קשר—קבל הערכה מדויקת לפרויקט שלך.
למה להזמין את ההגדרה מאיתנו?
אנו עובדים עם Bitrix ו-1C למעלה מ-10 שנים והשלמנו למעלה מ-50 פרויקטי אינטגרציה. הצוות שלנו כולל מהנדסי 1C מוסמכים ומפתחי Bitrix. אנו מספקים אחריות על הקוד—6 חודשי תמיכה חינם. לאחר היישום, תוכל לנהל את הנתונים בעצמך דרך ממשק הניהול.
הזמן את ההגדרה היום—והתחל לנהל חובות ללא עבודה ידנית. קבל ייעוץ על ארכיטקטורת החלפת התחשבנויות: נעריך את הרישום שלך, נבחר את שיטת ההעברה האופטימלית וניישם פתרון סוהר עם תיעוד.







