Беларусь

region-img

Настройка документооборота между 1С и Битрикс: 3 способа грамотной реализации

author
Команда Сотбит 24 ноября 2022
Время чтения: 10 мин

Здравствуйте, уважаемые пользователи и партнеры 1С-Битрикс! Вас приветствует компания Сотбит.

Мы продолжаем новый цикл полезных статей от наших технических специалистов. В рамках этих материалов мы помогаем клиентам и пользователям разобраться в наиболее сложных и злободневных вопросах при работе с 1С-Битрикс и Битрикс24 на примере конкретных кейсов, с которыми сталкивается наша команда.

Первая статья цикла была посвящена проблеме выгрузки кратности товара из 1С. Если пропустили её, обязательно ознакомьтесь.

В этот раз мы рассмотрим другой актуальный вопрос: как правильно реализовать передачу документов между учётной программой и Битрикс?

Три способа грамотной реализации документооборота между 1С и Битрикс

И так, начинаем.

Клиенты, ведущие онлайн продажи, пользуются программами учёта товаров, цен и остатков, в которых работают их менеджеры. Наиболее популярные — 1С-Предприятие и его конфигурации для различных видов деятельности, а также МойСклад.

Передача информации из учётной системы в Битрикс осуществляется за счёт типовых модулей обмена. Однако у них есть существенный недостаток: с помощью модулей нельзя наладить документооборот между системами. 

Поэтому мы решили помочь клиентам и пользователям Битрикс и поделиться нашим мнением о том, как грамотно организовать документооборот на Битрикс. В рамках материала рассмотрим 3 способа реализации:

  • Использование REST API;

  • Использование встроенного механизма Битрикс24 генерации документов;

  • Генерация документа с использованием решения Сотбит: Счёт на почту в PDF.

Рассмотрим их на примере документа «Счёт на оплату» и нашего решения Сотбит: B2B кабинет. Начнём по порядку.

1

Использование REST API

Наиболее универсальный способ, который может быть реализован для любой версии учётной программы и для любой лицензии Битрикс. Также он подходит для передачи как небольших, так и объёмных файлов.

Документы размеров до 10 мегабайт можно передавать сразу в теле API запроса. В параметрах такого запроса указываются:

  • Данные для авторизации (логин и пароль) для исключения возможности чужого подключения;

  • Номер заказа.

Важно отметить, что очень часто номер одного и того же заказа в учётной программе и Битрикс отличаются, поэтому следует передавать номер заказа, указанный в Битрикс.

Перед передачей документа его нужно преобразовать по коду base64. При получении API запроса на стороне 1С-Битрикс документ собирается в файл и добавляется в свойство заказа или, на примере решения Сотбит: B2B кабинет, в раздел «Документы».

При передачи больших файлов рекомендуется использовать FTP-сервер. В таком случае в параметрах запроса передаются:

  • Данные для авторизации;

  • Номер заказа, указанный в Битрикс;

  • Путь к файлу на FTP-сервере.

Преимущества использования REST API:

  • Исключение вероятности возникновения ошибок, связанных с неактуальностью данных из-за периодичности обмена;

  • Документ будет содержать данные, которые есть в учётной системе, но отсутствуют в Битрикс;

Недостатки использования REST API:

  • Необходимость наличия 1С- и PHP-разработчиков для создания API запроса;

  • Необходимость создания FTP-сервера, что влечёт дополнительные затраты.

2

Использование встроенного механизма Битрикс24 генерации документов

Этот способ подходит для владельцев лицензий Битрикс24 Интернет-магазин + CRM и выше.

Созданные документы отображаются только в CRM-системе. Для того, чтобы выводить их на сайте, необходимо создать бизнес-процесс.

Бизнес-процессы привязываются к статусу заказа. Администратор сам выбирает, для какого статуса заказа генерировать документ, поскольку у каждого бизнеса всё индивидуально. Например, при использовании дополнительных продаж выставлять счёт до звонка менеджера бессмысленно. Если же работа с заказом идёт без обработки менеджером, счёт на оплату выставляется сразу после оформления заказа.

Чтобы лучше разобраться в реализации способа, рассмотрим 2 варианта создания бизнес-процесса для статуса заказа «Оплата» и их схемы.

Первый вариант, создание документа и его добавление в свойство заказа, подходит для любого шаблона.

Для начала проводится «подготовительный» этап, на котором для бизнес-процесса создаются переменные:

  • paySystemCode (Tип строка) — переменная, куда записывается символьный код платежной системы заказа;

  • FILE (Тип файл) — переменная, в которой хранится сгенерированный документ.

Затем переходим к основному этапу — построению схемы бизнес-процесса. Для этого необходимо добавить следующие блоки:

1. PHP код, который определяет символьный код способа оплаты заказа и записывает значение в переменную paySystemCode. Код выглядит таким образом:
use Bitrix\Main\Loader;
$rootActivity = $this->GetRootActivity();
\CModule::IncludeModule("sale");
$id = '{{ID}}';
$paySystemId = CSaleOrder::GetByID($id)['PAY_SYSTEM_ID'];
$paySystemObj = CSalePaySystem::GetByID($paySystemId);
$paySystemCode = $paySystemObj['CODE'];
$rootActivity->SetVariable("paySystemCode",$paySystemCode);

Определение платёжной системы

2. Условие, которое сравнивает значение переменной с символьными кодами в платежных системах. Таким образом устанавливается, какой способ оплаты выбран в заказе;

3. Действие «Создание документа CRM» — добавляется для каждой ветви условия. В нём указывается, какой шаблон документа генерируется для каждой ветки.

4. Действие «Изменение переменной» записывает сгенерированный документ в переменную FILE для дальнейшего использования.  

5. Действие «Изменение документа» добавляет сгенерированный документ в свойство заказа типа «Файл».

6. Действие «Почтовое сообщение» отправляет клиенту письмо с вложенным документом, который берётся из переменной FILE.

Картинка Сотбит: 3

Второй вариант доступен пользователям нашего решения Сотбит: B2B кабинет. Он заключается в создании документа и добавлении его в раздел «Документы».

Для реализации предварительно понадобится создать списки через объекты Битрикс «Группы» или «Проекты».

Создание объекта Битрикс

Списки подключаются к B2B кабинету через настройки в административной части решения.

Подключение инфоблока в административной части B2B кабинета

Схема бизнес-процесса во многом схожа с первым вариантом, однако имеются отличия, на которые важно обратить внимание:

Вначале проводим уже знакомый нам «подготовительный» этап и создаём переменные для бизнес-процесса:

  • paySystemCode (Tип строка) — переменная, куда записывается символьный код платежной системы заказа. 

  • FILE (Тип файл) — переменная, в которой хранится сгенерированный документ.

Далее переходим к добавлению блоков, из которых состоит бизнес-процесс: 

1. PHP код, который определяет символьный код способа оплаты для выбранного заказа и записывает значение в переменную. Пример кода приведён выше;

2. Условие, которое сравнивает значение переменной с символьными кодами в платежных системах. Таким образом устанавливается, какой способ оплаты выбран для заказа;

3. Действие «Создание документа CRM» добавляется для каждой ветви условия. В нём указывается, какой шаблон генерируется для каждой ветви.

4. Действие «Изменение переменной» записывает сгенерированный документ в переменную FILE для дальнейшего использования.

5. Блок «Создание элемента списка». В нём как раз и заключается ключевое различие. В настройках блока настраивается  создание элемента списка . В свою очередь, в элементе указываются такие данные, как название, ID заказа, ИНН организации, файл и ID пользователя.

6. Действие «Почтовое сообщение» отправляет клиенту письмо с вложенным документом, который берётся из переменной FILE.

Схема бизнес-процесса для отображения документа в B2B кабинете

Но как же быть с актуальностью данных и данными, которые не передаются в 1С-Битрикс при обмене

Для этого необходимо реализовать следующие пункты

  • Двусторонний обмен между учетной программой и 1С-Битрикс;

  • Максимально наименьший период запуска обмена между учетной программой и 1С-Битрикс;

  • Передача необходимой для генерации документа информации через свойства заказа.

Преимущества использования механизма генерации документов Битрикс24

  • Отсутствие необходимости в найме разработчиков — реализацию можно настроить самостоятельно;

  • Финансовые затраты на реализацию ниже, чем при использовании REST API;

Недостатки использования механизма генерации документов Битрикс24

  • Возможность реализации только для лицензии Битрикс24 Интернет-магазин + CRM и выше;

  • Вероятность потери актуальности данных из-за периодичности обмена;

  • Невозможность передачи данных на сторону Битрикс в полном объёме; 

  • Потеря актуальности документа при изменениях на стороне Битрикс или учётной программы

3

Генерация документа с использованием решения Сотбит: Счёт на почту в PDF

При таком способе шаблон счёта создаётся с помощью программы Microsoft Word. В документ добавляются макросы — набор команд для автоматического выполнения определённых действий.

Чтобы система понимала, что в тексте присутствуют макросы, они обязательно прописываются внутри фигурных скобок — {Text}. 

С помощью макросов система автоматически подставляет данные клиента в поля документа.

Макросы в готовом документе

Документ сохраняется в формате .htm или .html и загружается в административную часть. При загрузке шаблона модуль выведет все указанные в документе макросы. Пользователю лишь нужно сопоставить их с полями в системе Битрикс.

Автоматическая подстановка данных клиента в документ с помощью макросов

Как показано на предыдущем скриншоте, мы добавили разделение по вкладкам для отдельных типов плательщиков. Теперь с помощью модуля Сотбит: Счёт на почту в PDF без проблем можно создать свой шаблон для каждой группы плательщиков.

Что касается вопроса актуальности данных, которые не передаются в 1С-Битрикс через модули обмена, то здесь всё аналогично с использованием механизма генерации документов Битрикс24. 

Понадобиться реализовать уже знакомые Вам пункты: 

  • Двусторонний обмен между учетной программой и 1С-Битрикс;

  • Максимально наименьший период запуска обмена между учетной программой и 1С-Битрикс;

  • Передача необходимой для генерации документа информации через свойства заказа.

Обратите внимание, что модуль интегрирован с решением Сотбит: B2B кабинет. Для вывода документа на других решениях понадобится произвести доработки.

Преимущества использования модуля Сотбит: Счёт на почту в PDF

  • Отсутствие необходимости в найме разработчиков — реализацию можно настроить самостоятельно;

  • Финансовые затраты ограничиваются ценой модуля — 4990 руб. 

  • Актуальность данных на момент последнего обмена, поскольку генерация документа по запросу клиента  

Недостатки использования модуля Сотбит: Счёт на почту в PDF

  • Вероятность потери актуальности данных из-за периодичности обмена;

  • Невозможность передачи данных на сторону Битрикс в полном объёме;

  • Невозможность вывода сгенерированного документа в свойства заказа или в раздел «Документы» B2B кабинета.

Резюме

Таким образом, мы максимально подробно рассмотрели все способы реализации документооборота между учётными системами и Битрикс. Вам остаётся лишь взвесить все «за» и «против» и определить наиболее удобный.

Если необходимо более подробное разъяснение по каждому из описанных способов, свяжитесь с нами любым удобным способом — мы с радостью проконсультируем Вас.

Теперь, когда ещё одним вопросом стало меньше, специалисты Сотбит готовы поделиться своим опытом в решении не менее злободневных задач. За девятилетний опыт работы мы накопили огромное количество кейсов, о которых будем рады рассказать в грядущих статьях. Оставайтесь на связи, чтобы ничего не пропустить! 

И помните, дорогие друзья: если у Вас возникли вопросы и трудности при работе с платформой Битрикс, смело обращайтесь в компанию Сотбит — и мы Вам обязательно поможем!

Остались вопросы по статье?

Оставьте свой контакт и наш менеджер вас проконсультирует.

ФИО:*
E-mail:*
Телефон:
Подтвердите, что вы не робот:*
Сообщение:
ym_referrer:
ym_uid: