Автоматическое создание папок на диске Битрикс24 в зависимости от сделки
Внедрение CRM помогает не только объединить разные каналы продаж в одной системе, увеличить контроль за стадиями сделки и работой менеджеров, но и упростить такие задачи как создание папок на диске. О том, как мы реализовали данную возможность в Битрикс24, рассказываем в статье.
Создание папок в воронке Коммерческое партнерство
В воронке Коммерческое партнерство можно создавать папки для договоров и для сделок. Разберем отдельно каждый из вариантов.
Создание папки для договора
Создание папки для договора выглядит очень просто. При перемещении договора на стадию "Подписан" роботом создается папка на общем диске. В дизайнере бизнес-процессов это выглядит так:
На блоке "Создать папку в Диске" создается папка на общем диске для договора. Название папки складывается из Названия договора и его ID в Битрикс24 (используется как номер документа).
После этого в карточку договора в поле "Ссылка на папку в диске" вставляем ссылку на папку, а в поле "id папки на диске" - ее id на диске. ID записываем для того, чтобы в дальнейшем, когда создается папка по сделке, ее можно было перенести в папку по договору по этому id.
Создание папки для сделки
Создание папки для Сделки выглядит чуть сложнее. Сделка создается на стадии “Неактивно” и имеет срок действия - 1 год. После того, как договор попал на стадию “Подписан”, на Общем диске создается папка для этой сделки.
Можно заметить, что перед блоком "Создать папку в Диске" есть блок "Изменение переменных". Он нужен для того, чтобы обновлять имя сделки и папки, которые будут создаваться на этой стадии. Внутри он выглядит так:
Имя сделки и папки складывается из названия договора и года сотрудничества. Год сотрудничества считается в зависимости от лет действия договора.
Далее идет блок "Создать папку в Диске", который создает папку для сделки на Общем диске. Внутри все выглядит также, как и для договора, но наименование папки подставляется из переменной (Новое название сделки).
После этого идет блок "Изменение документа", в котором проставляется ссылка на папку в диске и id папки на диске в карточку сделки.
В данном случае ID папки нам нужно для того, чтобы создавать папки в папке сделки по периодам актирования. Папки по периодам актирования создаются в бизнес-процессе "Период актирования". Процесс создания папки в периодичности актирования такой же как и в процессе по договору.
После того, как создалась папка по сделке и папка по первому периоду актирования, сделка переходит на стадию "В работе", на которой происходит перемещение папки сделки и всех вложенных папок в папку договора.
Первый блок "Запуск бизнес-процесса" запускает бизнес-процесс, который записывает id папки договора в глобальную переменную для того, чтобы "знать", куда перемещать папку сделки.
В поле "id документа" мы подставляем значение из карточки сделки (поле "Договор партнерка"). Это нужно для того, чтобы бизнес-процесс запускался по тому договору, к которому привязана сделка.
Шаблон запускает бизнес-процесс в котором в глобальную переменную подставляется значение id папки на диске (по договору). Нужно активировать пункт Ожидать завершения бизнес-процесса, чтобы данный бизнес-процесс не продолжил выполняться, пока мы не знаем, куда должна переместиться папка сделки.
После того как мы узнали id папки договора на диске, и теперь знаем, куда нам перемещать папку сделки, мы перемещаем эту папку с помощью блока "Копировать/Переместить".
Исходный файл - файл, который перемещаем. Он указан в виде кода поля, в которое записан id папки сделки на диске.
Тип операции - у нас выбрано перемещение, также можно сделать копию папки.
Куда - выбираем куда переместить папку сделки.
Папка - выбираем, в какую папку переместить папку сделки. У нас вставлен код на глобальную переменную, в которую записан id папки на диске договора. Его мы узнали на предыдущем шаге с помощью запуска бизнес-процесса.
Создание папок в воронке "Организация мероприятий"
Отдельно разберем создание папок в воронке “Организация мероприятий”.
Создание папки для договора
Создание папки для договора выглядит очень просто. Папка для договора создается на первой стадии канбана договора "Предварительные переговоры". Это нужно для того, чтобы можно было складывать все сопутствующие документы в папку. Создание папки для договора проходит в 3 шага:
Так выглядит создание папки с помощью блока "Создать папку в диске" в редакторе бизнес-процессов.
Стандартный блок по созданию папки в диске. Выбираем, где создать, и выбираем название папки. Здесь название папки складывается из id документа (карточка договора) и его названия.
Далее у нас идет блок "Изменение документа", в котором в карточку договора мы записываем ссылку на папку в диске и id папки на диске в поля Ссылка на мероприятия по договору и id папки на диске соответственно.
После этого записываем в глобальную переменную id папки на диске, для того, чтобы можно было из сделки "вытянуть" его и понять, куда нужно класть папку созданную в сделке.
Создание папки для Сделки
Создание папки для Сделки начинается в воронке "Организация мероприятий" сущности "Сделка" на стадии "Новые сделки".
Первым делом мы проверяем, нет ли уже созданной папки на диске. Если её нет, то в первом блоке создаем папку на общем диске. Название складывается из названия сделки и ее id (как номер). Далее записываем в карточку сделки ссылку на папку в диске и id папки на диске в поля "Ссылка на папку в диске" и "ID Папки на диске" соответственно.
Далее в игру вступают бизнес-процессы. Так как сделка по организации мероприятий может создаваться без договора, нужно было это учесть и создавать папку для сделки вне зависимости от того, привязана она к договору или нет.
Как уже было сказано, папка для сделки создается на первой стадии канбана. Далее мы ее только перемещаем в зависимости от того, привязана сделка к договору или нет.
Способ создания/перемещения папки будет разным для следующих вариантов:
- нужно привязать сделку к договору;
- нужно привязать договор к сделке.
Для начала рассмотрим пример, когда у нас уже есть договор и мы через него привязываем сделку.
После того, как в карточке договора мы привязали сделку, запускается бизнес-процесс по сделке "ссылка на папку в диске через договор".
Бизнес-процесс запускается по последней добавленной сделке в договор.
В самом начале мы проверяем, заполнено ли поле договор, и прошла ли привязка сделки к договору. Если прошло все хорошо, бизнес-процесс идет по пути "да"(значит что поле договор в сделке заполнено).
Первый блок "Запуск бизнес-процесса" запускает бизнес-процесс, который берет id папки договора на диске.
id документа (договора) значит, что бизнес-процесс будет работать по договору, к которому привязана сделка.
Шаблон запускает бизнес-процесс, в котором в глобальную переменную записывается id папки договора на диске.
Далее мы перемещаем папку сделки в папку договора.
Исходный файл - это файл, который мы перемещаем. В нашем случае папка сделки.
Тип операции - перемещение.
Куда - выбираем место куда хотим переместить папку. В нашем случае мы перемещаем в папку договора. Место, где находится папка договора, получаем из глобальной переменной, в которую мы записали id папки договора на диске в предыдущем шаге.
После этого в локальную переменную мы записываем новую ссылку на папку сделки в диске. Делается этого для того, чтобы не менять карточку сделки несколько раз за бизнес-процесс.
Рассмотрим случай, когда поле “Договор” в карточке сделки не заполнено.
В этом случае папка по сделке переносится на Общий диск.
Исходный файл - файл который мы перемещаем. Указан id папки сделки на диске.
Тип операции - перемещение.
Куда - перемещаем на общий диск, так как нет договора, к которой привязана сделка.
После также записываем ссылку в переменную.
И уже в самом конце меняем карточку сделки - вставляем ссылку на диск из локальной переменной в поле "Ссылка на папку в диске".
Теперь рассмотрим вариант когда договор привязываем из сделки. Для того, чтобы была возможность вложить папку сделки в папку договора, реализован бизнес-процесс, который срабатывает на изменение карточки сделки.
Здесь первым делом мы проверяем, заполнено ли поле "Ссылка на папку в диске". В зависимости от того, заполнено оно или нет, отталкиваемся дальше.
Если поле заполнено, то мы проверяем, заполнено ли поле "Договор". В зависимости от того, заполнено оно или нет, необходимо будет выполнить разные действия.
Первым разберем вариант, когда оба поля заполнены.
Если у нас заполнены оба поля, то мы должны перенести папку сделки в папку договора. Первым делом мы запускаем бизнес-процесс, чтобы узнать, куда переносить папку сделки.
Блок запускает бизнес-процесс по договору, к которому привязана сделка, и передает в глобальную переменную id папки договора на диске.
Второй блок перемещает папку сделки в папку договора.
Исходный файл - файл, который будет перемещен. Мы указываем id папки сделки на диске, которое записано в карточке сделки.
Тип операции - перемещение.
Куда - выбираем место, куда переместится папка сделки. У нас это папка договора. Перемещаем по id папки договора на диске, который мы получили в предыдущем шаге.
Последний блок в этой ветке - мы присваиваем локальной переменной новую ссылку на папку сделки в диске.
Далее рассмотрим вариант, в котором у нас есть ссылка на папку, но поле договор не заполнено. Это значит, что сделка не привязана ни к какому договору.
В данном случае поле "Ссылка на папку в диске" заполнено, но сделка не привязана ни к какому договору.
Тогда мы просто перемещаем папку сделки на общий диск, а в локальную переменную записываем новую ссылку на папку сделки в диске.
Теперь рассмотрим вариант, когда у нас нет даже ссылки на диск.
В данном случае мы просто создаем папку сделки на диске в разделе Общий диск и записываем новую ссылку на папку в диске в локальную переменную.
В конце бизнес-процесса отрабатывает блок "Изменение документа", который меняет карточку сделки. Также он вставляет в поле "Ссылка на папку в диске" значение из локальной переменной, в которой хранится ссылка на папку в зависимости от заполненности полей.
Компания ДЕНВИК оказывает услуги по внедрению CRM Битрикс24, а также по доработке портала, написанию роботов и бизнес-процессов. Оставляйте заявку, если хотите перевести работу в CRM на новый уровень.
Получить консультацию