פיתוח תהליכים חכמים מותאמים אישית ב-Bitrix24

כאשר ישויות CRM סטנדרטיות אינן מספיקות ולידים ועסקאות אינם משקפים את ייחודיות העסק, התהליכים הופכים לכאוס. אנו בונים תהליכי Bitrix24 חכמים מותאמים אישית במפתח מלא, ויוצרים pipelines מלאים עם אוטומציה ואינטגרציות. הצוות שלנו מוביל מהקונספט ועד לתמיכה שוטפת, ומבטיח פתרון אמין שגדל עם העסק שלכם.
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
פיתוח תהליכים חכמים מותאמים אישית ב-Bitrix24
בינוני
~1-2 שבועות

הכישורים שלנו:

שאלות נפוצות

פיתוח Smart Process מותאם אישית ל-Bitrix24

עם ניסיון של למעלה מ-10 שנים ב-Bitrix24 ויותר מ-50 פרויקטים מוצלחים מאז 2015, החברה שלנו מספקת תהליכים חכמים (Smart Processes) חזקים שמאוטמים את זרימות העבודה הייחודיות שלכם.

מהם Smart Processes ב-Bitrix24?

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

מתי אתם צריכים Smart Processes מותאמים אישית?

לידים ועסקאות לא תמיד לוכדים את ההתאמה הספציפית שלכם. ישויות דינמיות מותאמות אישית — כמו "תלונה", "בקשת רכש" או "חוזה" — פותרות זאת. לדוגמה, ניהול תלונות דורש מספר, סטטוס, אחראי, עסקה מקושרת ומשימה לאיכות. ללא פיתוח מותאם אישית, זה הופך לכאוס. אנו יוצרים pipeline מלא עם אוטומציה באמצעות ישויות CRM דינמיות של Bitrix24 (\Bitrix\Crm\Service\Factory), המאוחסנות בטבלאות b_crm_dynamic_items_{entityTypeId}.

מגבלות הקונסטרקטור הסטנדרטי

בהגדרות CRM → "Smart Processes", ניתן ליצור סוג חדש ולהוסיף שדות, שלבים ובלוקים. זה עובד למקרים פשוטים, אך נכשל כשצריך אוטומציה כמו יצירת מספר אוטומטי (תבנית RC-YEAR-XXXX עם הגדלה אוטומטית), אינטגרציה עם 1C, או ממשק כרטיס מותאם אישית. קוד הוא בלתי נמנע.

תרחישים נפוצים הדורשים פיתוח מותאם אישית:

  • חישוב אוטומטי של שדות בעת יצירת אלמנט.
  • שרשרת פעולות קשורות: יצירת משימה, שליחת הודעה, כתיבה ל-1C.
  • כרטיס לא סטנדרטי עם ממשק משתמש מותאם (לדוגמה, הטמעת גרפים באמצעות placement).
  • הרשאות גישה מורכבות (כולם יכולים לקרוא, רק האחראי והמנהל יכולים לערוך).

איך ליצור Smart Process מותאם אישית דרך REST API?

יצירה פרוגרמטית מפשטת את הפריסה בין סביבות:

דוגמת קוד: יצירת סוג ושדות
$result = $b24->callMethod('crm.type.add', [
    'fields' => [
        'title' => 'Рекламация',
        'isUseInUserfieldEnabled' => true,
        'isLinkWithProductsEnabled' => true,
        'isStagesEnabled' => true,
        'isRobotsEnabled' => true,
        'isBizProcEnabled' => true,
    ],
]);

$entityTypeId = $result['result']['type']['entityTypeId']; // например, 1052

// Добавляем пользовательские поля
$b24->callMethod('crm.type.fields.add', [
    'entityTypeId' => $entityTypeId,
    'fields' => [
        'fieldName' => 'CLAIM_NUMBER',
        'userTypeId' => 'string',
        'listLabel' => 'Номер рекламации',
        'isRequired' => true,
    ],
]);

לאחר מכן, הסוג זמין ב-CRM; ניתן להקצות שלבים, רובוטים והרשאות. ה-REST API נותן שליטה מלאה, כולל מיגרציות (ראה REST).

יישום מספור אלמנטים אוטומטי

משימה טיפוסית: "תלונה מס׳ RC-YEAR-0042". מיושם באמצעות handler לאירועים $result = $b24->callMethod('crm.type.add', [ 'fields' => [ 'title' => 'Рекламация', 'isUseInUserfieldEnabled' => true, 'isLinkWithProductsEnabled' => true, 'isStagesEnabled' => true, 'isRobotsEnabled' => true, 'isBizProcEnabled' => true, ], ]); $entityTypeId = $result['result']['type']['entityTypeId']; // например, 1052 // Добавляем пользовательские поля $b24->callMethod('crm.type.fields.add', [ 'entityTypeId' => $entityTypeId, 'fields' => [ 'fieldName' => 'CLAIM_NUMBER', 'userTypeId' => 'string', 'listLabel' => 'Номер рекламации', 'isRequired' => true, ], ]); :

דוגמת קוד: מספור אוטומטי עם מונה אטומי
AddEventHandler('crm', 'onCrmDynamic' . $entityTypeId . 'ItemBeforeAdd', function(\Bitrix\Main\Event $event) {
    $item = $event->getParameter('item');
    $year = date('Y');
    // Атомарный счётчик в Redis или таблице
    $seq = incrementSequence("claim_{$year}");
    $item->set('UF_CRM_CLAIM_NUMBER', sprintf('РК-%d-%04d', $year, $seq));
});

אטומיות מבטיחה מספר ייחודי גם עם בקשות מקבילות. השתמשו ב-Redis או ב-MySQL locks (SELECT ... FOR UPDATE).

אוטומציה עם Handlers ורובוטים מותאמים אישית

כאשר נוצרת תלונה, באופן אוטומטי:

  1. נוצרת משימה למחלקת האיכות.
  2. העסקה הקשורה מצורפת (אם התלונה היא עבור הזמנה).
  3. המנהל האחראי מקבל הודעה.
דוגמת קוד: handler ליצירת משימה ושליחת הודעה
AddEventHandler('crm', 'onCrmDynamic' . $entityTypeId . 'ItemAdd', function(\Bitrix\Main\Event $event) use ($b24) {
    $item = $event->getParameter('item');
    $dealId = $item->get('OPPORTUNITY'); // кастомное поле связанной сделки

    // Создаём задачу
    $b24->callMethod('tasks.task.add', [
        'fields' => [
            'TITLE' => 'Обработать рекламацию ' . $item->get('UF_CRM_CLAIM_NUMBER'),
            'RESPONSIBLE_ID' => getQualityDeptHead(),
            'DEADLINE' => date('Y-m-d\TH:i:s', strtotime('+2 business days')),
            'UF_CRM_TASK' => ["D_{$dealId}"],
        ],
    ]);

    // Уведомление через бота
    notifyManager($item->get('ASSIGNED_BY_ID'), "Новая рекламация: " . $item->get('UF_CRM_CLAIM_NUMBER'));
});

ה-Handlers נכתבים פעם אחת ועובדים ביציבות. יש לתעד שגיאות כדי למנוע פעולות שאבדו. Handlers אוטומציה מותאמים אישית נוצרים דרך REST לשינויי שלבים:

דוגמת קוד: רישום רובוט מותאם אישית
$b24->callMethod('bizproc.robot.add', [
    'CODE' => 'send_to_1c',
    'HANDLER' => 'https://your-server.com/robot/send-to-1c',
    'AUTH_USER_ID' => 1,
    'NAME' => ['ru' => 'Отправить в 1С'],
    'PROPERTIES' => [
        'document_type' => [
            'Name' => 'Тип документа',
            'Type' => 'select',
            'Options' => [
                'claim' => 'Рекламация',
                'refund' => 'Возврат'
            ]
        ],
    ],
    'RETURN_PROPERTIES' => [
        'external_id' => [
            'Name' => 'ID в 1С',
            'Type' => 'string'
        ],
    ],
]);

כרטיס מותאם אישית באמצעות Placement

לממשק משתמש מורכב, הטמיעו ממשק משלכם דרך onCrmDynamicItemBeforeAdd עם סוג AddEventHandler('crm', 'onCrmDynamic' . $entityTypeId . 'ItemBeforeAdd', function(\Bitrix\Main\Event $event) { $item = $event->getParameter('item'); $year = date('Y'); // Атомарный счётчик в Redis или таблице $seq = incrementSequence("claim_{$year}"); $item->set('UF_CRM_CLAIM_NUMBER', sprintf('РК-%d-%04d', $year, $seq)); }); :

דוגמת קוד: קישור אפליקציית placement
$b24->callMethod('placement.bind', [
    'PLACEMENT' => 'CRM_DYNAMIC_' . $entityTypeId . '_DETAIL_TOOLBAR',
    'HANDLER' => 'https://your-server.com/app/claim-detail',
    'TITLE' => 'Дополнительные данные',
]);

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

הרשאות גישה

ההרשאות מוגדרות דרך תפקידי CRM (AddEventHandler('crm', 'onCrmDynamic' . $entityTypeId . 'ItemAdd', function(\Bitrix\Main\Event $event) use ($b24) { $item = $event->getParameter('item'); $dealId = $item->get('OPPORTUNITY'); // кастомное поле связанной сделки // Создаём задачу $b24->callMethod('tasks.task.add', [ 'fields' => [ 'TITLE' => 'Обработать рекламацию ' . $item->get('UF_CRM_CLAIM_NUMBER'), 'RESPONSIBLE_ID' => getQualityDeptHead(), 'DEADLINE' => date('Y-m-d\TH:i:s', strtotime('+2 business days')), 'UF_CRM_TASK' => ["D_{$dealId}"], ], ]); // Уведомление через бота notifyManager($item->get('ASSIGNED_BY_ID'), "Новая рекламация: " . $item->get('UF_CRM_CLAIM_NUMBER')); }); ) או האפליקציה. למטריצה מורכבת: קריאה—כל המנהלים, עריכה—רק האחראי והמנהל, מחיקה—רק מנהל מערכת. יש לוודא דרך $b24->callMethod('bizproc.robot.add', [ 'CODE' => 'send_to_1c', 'HANDLER' => 'https://your-server.com/robot/send-to-1c', 'AUTH_USER_ID' => 1, 'NAME' => ['ru' => 'Отправить в 1С'], 'PROPERTIES' => [ 'document_type' => ['Name' => 'Тип документа', 'Type' => 'select', 'Options' => ['claim' => 'Рекламация', 'refund' => 'Возврат']], ], 'RETURN_PROPERTIES' => [ 'external_id' => ['Name' => 'ID в 1С', 'Type' => 'string'], ], ]); ו-HANDLER בכל בקשה.

אינטגרציה עם מערכות חיצוניות

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

כיוון שיטה אירוע
תהליך חכם → 1C REST handler + רובוט מותאם אישית שינוי שלב
1C → תהליך חכם RETURN_PROPERTIES דרך webhook של Bitrix24 לפי לוח זמנים או טריגר ב-1C
תהליך חכם → דוא״ל placement.bind או רובוט מותאם אישית יצירה, שינוי שלב
שירות חיצוני → תהליך חכם CRM_DYNAMIC_DETAIL_TOOLBAR דרך API Webhook משירות חיצוני

אינטגרציה עם 1C משתמשת לעתים קרובות בפרוטוקול CommerceML להחלפת ספריות ומסמכים.

תוצרים ולוח זמנים

מה כלול

  • תיעוד מפורט של מבנה הישות ונקודות הקצה של ה-API.
  • קוד רובוט מותאם אישית (עד 3 רובוטים כלולים).
  • סקריפטים לאינטגרציה עם 1C, דוא״ל, webhooks.
  • גישה לסביבת פיתוח וסביבת בדיקות.
  • הדרכה למנהלים (שעתיים אונליין).
  • תמיכה באחריות ל-30 יום.

לוח זמנים

שלב משך
עיצוב מבנה שדות ו-pipeline 2–3 ימים
יצירת סוג ושדות דרך REST/API 1–2 ימים
Handlers לאירועים (מספור, אשד) 2–4 ימים
רובוטים מותאמים אישית 2–3 ימים לכל אחד
כרטיס מותאם אישית (SPA ב-placement) 3–5 ימים
אינטגרציה עם מערכות חיצוניות 2–5 ימים
בדיקות 2–3 ימים

סה״כ: 2–4 שבועות בהתאם למספר הרובוטים ולנוכחות ממשק משתמש מותאם. תקציב טיפוסי נע בין $1500 ל-$8000, עם דיווחי לקוחות על הפחתה של 30–50% בזמן העיבוד. לדוגמה, חברת לוגיסטיקה הפחיתה את זמן הטיפול בתלונות ב-40%, וחסכה למעלה מ-$10,000 בשנה. כדי להעריך את הפרויקט שלכם, צרו קשר—נחשב את לוח הזמנים והתקציב תוך יום אחד.