Синхронізація контрагентів 1с і компаній Бітрікс24

Ми знаємо, як впроваджувати Бітрікс24 в компанії, і готові підказати вам. Звертайтеся.
Сьогодні ми говоримо про способи завантаження бази контрагентів в CRM Бітрікс24.

штатний імпорт з csv працює, але вкрай обмежений і погано підходить для реальної практики;

в модулі обміну Бітрікс24 і 1С обмін контрагентами НЕ реалізований;

ми розробили два власних програмних модуля ( "обробки" в термінах 1С: Підприємство), які допомагають вирішити цю задачу;

ми готові ділитися нашими напрацюваннями (якщо ви "поділіться" статтею в соцмережах і допоможете нам стати знаменитими);

освоєна нами технологія дозволяє створювати і підтримувати різні види обміну даними з Бітрікс24.

Що таке завантаження контрагентів в Бітрікс24 і навіщо вона потрібна?

Одна з найбільш затребуваних завдань при впровадженні Бітрікс24 - завантаження бази контрагентів з 1С CRM, 1С: Управління торгівлею, 1С: Комплексна автоматизація і інших ERP- і CRM-систем.

Навіть якщо 1С немає, майже у всіх компаній хоч в якомусь вигляді база клієнтів є, і її потрібно завантажити.
Всі клієнти від всіх систем чекають розвинених можливостей по обміну інформацією.

Мрія виглядає так:

Синхронізація контрагентів 1с і компаній Бітрікс24

Як можна завантажити базу клієнтів з Excel в Бітрікс24?

Існує кілька способів зовнішньої інтеграції Бітрікс24, в тому числі написання власного додатка (що в підсумку і довелося зробити).

Але почнемо з малого.

У Бітрікс24 є штатний імпорт компаній і контактів. Що він уміє?
Він вміє завантажувати контакти і компанії з файлу csv стандартного формату (скачати приклад).
Подібний файл можна зібрати з "бази клієнтів в екселя", якщо вона у вас є.


Синхронізація контрагентів 1с і компаній Бітрікс24

Цей спосіб працює, але у нього є кілька недоліків:

процедура ручна, не передбачений запуск за розкладом або інша автоматизація;

немає можливості оновлювати дані, що вже є в CRM. Тільки завантаження і створення нових;

синтаксис файлу простий, однак на практиці з 1С або іншої системи такий файл можна отримати тільки за допомогою програмістів. З огляду на що дані розподілені за кількома сутностей, завдання не така проста. Доведеться сплатити кілька годин коду.

Ми вирішили задачу отримання файлу потрібної структури з 1С для спрощення підготовки первинного імпорту компаній.

Синхронізація контрагентів 1с і компаній Бітрікс24

Якщо ви поділитеся статтею в соц.сетях, ми надішлемо вам обробку, яка робить файл потрібної для Бітрікс24 структури. Ось такий список полів підтримується стандартним імпортом (на рядки розбите для зручності читання).

Є два спостереження за цим типовим файлу імпорту:

гарне: всі призначені для користувача поля, додані адміністратором конкретної CRM, також можна завантажити

погане: ІПН за замовчуванням немає, і як наслідок - ніякої надії на "оновлення даних", тільки "поповнення".

За допомогою стандартного імпорту Бітрікс24 і нашого скрипта вивантаження можна одноразово завантажити вашу базу клієнтів в Бітрікс24.

Про те, як навчити програми оновлювати дані без помилок і регулярно - далі.

Як й [не] працює штатний імпорт контрагентів 1С в "компанії" Бітрікс24

Сумно і дивно, але штатний механізм обміну між 1С і Бітрікс24 не вміє працювати з контрагентами і компаніями.

Що є в стандартних механізмах обміну:

завантаження каталогу товарів 1С в Бітрікс24 (з деякими хитрощами можна передати залишки по складах і ціни);

синхронізація між рахунками Бітрікс24 і замовленнями покупців в Бітрікс24 (реалізовано дивно, але працює;

Є відчуття, що це не та функціональність, яка по-справжньому затребувана, а просто демонстрація можливостей платформи і API обміну.

Реальних завдань наявні штатні засоби не вирішують.

Клієнти задають дуже багато запитань щодо завантаження бази контрагентів з 1С в Бітрікс24. При цьому іноді у цих же клієнтів є інтернет-магазин, також інтегрований з 1С.

Що хочеться бачити "в ідеалі"?

Синхронізація контрагентів 1с і компаній Бітрікс24

При цьому виникає питання: як бути якщо товар, рахунок, компанію або замовлення змінили в декількох місцях відразу? Вважати "головною системою", першоджерелом тільки 1С або тільки інтернет-магазин - неправильно. У наявності колізія.

Як це питання вирішене компанією-розробником? Вирішено він, треба визнати, витончено, але вкрай незручно для клієнтів. Підтримуються лише ті види обміну, які виключають виникнення колізій.

Синхронізація контрагентів 1с і компаній Бітрікс24

У підсумку: завантажити компанії з 1С в Бітрікс24 не можна. Зрозуміло, але сумно.

Штатного рішення не пропонується, і ми вирішили це питання шляхом розробки власного розширення / обробки для 1С (додатки 3 типу для Бітрікс24).

Рішення завдання завантаження та оновлення підприємств Б24 з контрагентів 1С

У Бітрікс24 є кілька передбачених розробниками способів розширення можливостей системи, її доопрацювання і розвитку.

Вони дозволяють зробити багато корисного. Отже, що у нас є:

конструктор бізнес-процесів для CRM і довільних сутностей дозволяє зібрати з уже існуючих функцій Б24 "маршрути" дій і автоматизувати операції.
Ми активно застосовуємо це інструмент для різних завдань, але для обміну з зовнішніми системами він не підходить.

доробка версії коробочки шляхом внесення змін до програмний код, роботи з даними. Зробити можна майже все.
Завдання обміну з 1С може бути вирішена шляхом доопрацювання версії коробочки Бітрікс24.
Однак ми вважаємо що для старту можна і потрібно працювати в хмарі.

створення додатків 1, 2 або 3 типу для хмарного Бітрікс24, що працюють з даними CRM, завданнями, файлами.
Для задач обміну цей спосіб підходить добре, їм ми і скористалися.


Ми розробили свій додаток 3 типу для передачі бази контрагентів 1С в ваш хмарний Бітрікс24.

Синхронізація контрагентів 1с і компаній Бітрікс24

Додаток не вимагає хостингу, реалізовано у вигляді модуля / обробки платформи 1С (УТ).

передавати список контрагентів з 1С в компанії Бітрікс24 і заповнювати всі поля, які є в 1С

при повторному імпорті ОНОВЛЮВАТИ дані Бітрікс24 з 1С, використовуючи ІПН як унікальний ключ

Це дозволяє налаштувати обмін і працювати з 1С як з материнської системою. При цьому в Бітрікс24 як і раніше можна створювати компанії, вони не видаляються при імпорті.

У чому сила реалізації імпорту контрагентів через обробку 1С?

Це рішення взагалі не вимагає використання коду на PHP або будь-якого доопрацювання хмарної версії. Архітектурно реалізація вкрай проста: це просто код на мові 1С, не більше того.

Попутно ми вирішили безліч дрібних труднощів, що зустрічаються майже у кожного клієнта (звичайно, було б круто, якби це зробили розробники штатного модуля обміну):

Для завдання "оновлення" компаній використано поле синхронізації ORIGIN_ID. У нього при початковому імпорті з 1С завантажується ІПН.
Перший експорт компаній з 1С може буде "повним", а при наступних будуть можливі оновлення.

Ми готові передавати в хмарну CRM дані довільних типів, довідкові значення (наприклад "валюти", "тип організації"), або програмно поповнити довідник. У звичайному імпорті це не потрібно.

Ми налагодили код на роботу з досить примхливим REST API. При написанні зовнішнього застосування - малоудобна процес, деякі методи не повертають осмислених повідомлень про помилки.

Ми реалізували таймаут при експорті, щоб не потрапляти під обмеження хмарного API (по відчуттях 1-3 запиту в секунду, не більше.
Якщо цього не зробити, ви спочатку побачите нестабільну роботу API (масові відповіді 503 "too many requests", а при наступному обміні: 403 Forbidden).

Як працює імпорт компаній з 1С в Бітрікс24?

Синхронізація контрагентів 1с і компаній Бітрікс24

Приклад компанії в 1С

Синхронізація контрагентів 1с і компаній Бітрікс24

Синхронізація контрагентів 1с і компаній Бітрікс24

Приклад імпортованої компанії з 1С в Б24

Синхронізація контрагентів 1с і компаній Бітрікс24

Синхронізація контрагентів 1с і компаній Бітрікс24

Підсумки, трудомісткість і перспективи

Створено 2 програми:

експорт контрагентів в CSV для разового імпорту з 1С в Б24 (його ми даємо безкоштовно);

додаток 3 типу для регулярного оновлення даних про компанії

Першим додатком ми готові поділитися з вами, якщо ви "поділіться" статтею в соцмережах.

Додаток регулярної синхронізації в перший раз ми робили близько 80 годин (чимало часу пішло на дослідження деталей, відсутніх в документації по API).

Другий раз будь-яку подібну задачу (обмін контрагентами з особливостями, передачу документів, передачу замовлень, контактів) можна зробити за 40-80 годин.

Технологія освоєна, готові працювати з вами.

ИнтерВолга як веб-інтегратор

Веб-інтеграція це створення великих інформаційних веб-систем. глибоко інтегрованих в бізнес Замовника. Це зниження витрат на роботу з клієнтами, зростання продажів і автоматизація процесів.

ИнтерВолга - компетентний веб-інтегратор. Ми можемо вирішити всі завдання веб-інтеграції власними силами. Більшість наших проектів - комплексні, інтеграційні.

Наш принцип: приносити користь бізнесу клієнта за рахунок осмисленого застосування веб-технологій.

Рішення подібних завдань "зв'язування" різних систем - основна компетенція веб-інтегратора.

замість постскриптума

Ця велика робота не могла б вийти без допомоги колег:

нашого почті_штатного 1С-розробника Анни Самохіної;

знає все про все Олексія Шкарупа;

завжди готового допомогти словом і ділом продакт-менеджера 1С-Бітрікс Сергія Вострикова;