На одном из проектов перед нами стояла задача интеграции Битрикс24 и Контур Диадок. Проведя анализ бизнес-процессов, мы определили основные критерии для разработки:
Изучив рынок предложений по интеграции с Диадок, мы поняли, что готовых реализаций не так уж и много. Данные реализации были выполнены на базе комплексного Приложения. Поэтому, применяя наш основной принцип «Система должна подстраиваться под бизнес, а не бизнес под Систему», было принято решение, что данное решение должно носить проектный подход, интегрируясь в уже готовые процессы организации. Так же, убирая из системы компоненты промежуточных «провайдеров», мы значительно сократим риски зависимости Заказчика от нештатных компонентов Битрикс24.
Реализация должна базироваться на компоненте формирования запросов, которая должна быть доступна из стандартных бизнес-процессов Битрикс24, для удобной «встройки» в текущую автоматизацию рабочих мест. Для себя мы определили минимальный набор функций нашего API компонента:
Далее, получив ключи API* КонтурДиадок, мы приступили к «программной магии» реализации данного компонента. (* обращаем внимание, что получение ключей API Диадок не бесплатно, стоимость на момент реализации 15 000р./год. Подробнее уточняйте у менеджеров компании Контур). Как только «практическое колдовство» завершилось мы были готовы к непосредственному встраиванию в существующую систему Битрикс.
Изучая принципы передачи документов в систему документооборота, мы определили, что помимо самого файла документа и его типа нам необходимо еще передавать и другие параметры. К примеру, для передачи счета необходимо так же передать значения: сумма, сумма налога, основание и пр. Если менеджер передает несколько счетов в месяц, то для бизнеса допустимо ручное заполнение этих параметров. Но, если, передаваемых документов более десятка в день на каждого менеджера – то это уже весьма трудо и финансово затратно. Для решения этой проблематики, как никогда, пригодилось одно из наших решений – Реестр документов.
В автоматизации CRM Битрикс24 часто используется генератор документов для создания печатных форм счетов, договоров, дополнительных соглашений и прочих документов. Сформированные документы попадают в ленту карточки CRM, где могут теряться среди всех активностей (писем, звонков и пр.), а также несут в себе, по сути, только сформированный файл документа. Но в данной архитектуре очень сложно понять: какой документ был финальный? какие вообще документы формировались в данной сделке или за все время работы с компанией? Действующий этот договор или срок действия уже завершился?
Для своих проектов мы реализуем следующее: определяем какие виды документов должны попасть в данный реестр, после чего переводим генерацию данных документов на бизнес-процессы, в результате которого формируется как сам файл документа, так и проставляются дополнительные параметры и взаимосвязи. Данный справочник можно организовать хоть на элементах Список, хоть на смарт-процессах. Для понимания приведем несколько параметров документа:
Одним словом, реестр документов оказался полезным, и помог навести порядок во многих организациях.
Для реализации интеграции с Диадок мы дополнили наш справочник несколькими характеристиками. Добавленные характеристики связаны как со статусом передачи (дата передачи, дата обновления, статус передачи, статус в документообороте, guid и пр.), так и для полноценного массива данных, передаваемого с документом (к примеру, для счета: сумма счета, сумма налога, основание и пр).
Теперь мы готовы передать документ.
В реалиях ведения бизнеса, один документ передается редко. Со счетом, как правило, передается или акт выполненных услуг или договор, одним словом, вариантов много. Для этого мы объединяем документы для импорта в пакет передачи. Для прозрачных и понятных бизнес-процессов нам так же необходимо понимать, как прошла передача наших документов. Для этого мы вывели пакеты передачи в систему Диадок в отдельный реестр, где подробно фиксируем статус передачи (передан пакет или вернулся с ошибкой), дата передачи, комментарии.
Чтобы отсечь ошибки передачи, связанные с полнотой данных для передачи, еще до момента отправки мы организовали первичную проверку пакета обмена. В данном процессе проверяется как элементы документов, так и данные получателя (валидность ИНН, КПП).
Осталось дело за малым – организовать удобный инструмент формирования пакетной передачи документов.
В рабочее пространство сотрудников, работающих с интеграцией Контур.Диадок, по проекту, необходимо было ввести следующие составляющие:
Так как универсальный список «Реестр документов» уже был привязан к Сделке CRM и был выведен в карточку, в виде вкладки, то нам осталось только встроиться в интерфейс Битрикс24, добавив кнопку «Сформировать пакет Диадок».
При запуске данной функции, запускаем бизнес-процессы по проверке и отправке документов. Для представления статуса отправки мы обновляем Grid с элементами пакетов.
Так же используя бизнес-процессы, мы выводим статус передачи в ленту активности Сделки.
Режим работы одного окна сохранен.
Документы переданы, все хорошо. Теперь понимать статус переданных документов. По виду взаимодействия с контрагентами, по сути, выделим два вида: передача не требует обратной подписи (счет, информационное письмо и пр.) и передача требует подписи с двух сторон (акт выполненных работ, договор и пр).
Если для первого вида нам необходимо отслеживать статусы: когда подписан с нашей стороны, когда передан контрагенту. То для второго вида необходимо отслеживать еще и когда документ подписан контрагентом.
Нам не составило труда определить критерии элементов требующих обновления статусов. А так как мы изначально заложили сохранение guid документа в системе Диадок в элементе Битрикс24, то запустив регламентное событие по получению состояния документа, мы и получили обновление статусов.
Отследив статус «подписан с обоих сторон», для второго вида передачи, мы забираем подписанный файл документа и сохраняем в реестре документов.
В текущую интеграцию не включена функция подписи документов.
По итогу интеграции можно сказать, что поставленная задача по заданным критериям была выполнена.
Пример действий пользователей:
Действие | Было | Стало |
Выбор документов для передачи | Поиск среди сгенерированных документов в ленте Сделке | Выбор по клику |
Формирование пакета документов |
Сохранение каждого документа в локальной директории ПК; Вход в аккаунт; Заполнение веб-формы с характеристиками каждого документа, прикрепление файла для передачи |
Автоматически |
Актуализация статуса документа |
Поиск необходимого документа; Сохранение подписанной версии документа в локальной директории ПК; Загрузка файла в поле Сделки, смена статуса. |
Автоматически |