Подписка на блог

Customize in /user/extras/follow-sheet.tmpl.php.

Sample text.

Twitter, Facebook, VK, Telegram, LinkedIn, Odnoklassniki, Pinterest, YouTube, TikTok, РСС JSON Feed

Sample text.

деловые облака

1C-Bitrix: назначение заказу ответственного менеджера

Задача

Один из моих клиентов занимается производством и оптовой продажей удобрений и товаров для сада/огорода.

Продажи идут по всей стране. За каждым менеджером закреплены свои регионы.

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

Одна из задач возникла — при оформлении заказа нужно информировать о нем ответственного менеджера по почте.

Решение

Вариантов было несколько:

  • Отдать уведомления о заказе на сторону 1С. Не профильная задача для УТ.
  • Выгрузить всех контрагентов на сайт, привязать к каждому пользователя-менеджера. Сильно усложняет реализацию
  • Написать обработчик на сохранение нового заказа в init.php, который бы анализировал регион, выбирал ответственного менеджера и отправлял письмо. Здесь сложность в последующем обновлении информации (смена регионов у менеджера, увольнение, добавление сотрудников).

В итоге, нашлось красивое решение. У Битрикса в Магазине есть такая сущность, как Компании. Она позволяет привязывать заказы подразделениям.

Отличный вариант для нашей задачи.

Создали по компании на каждого менеджера, для каждой компании создали группу, в нее добавили менеджера.
В правилах автоназначения компании задал регионы (области) из поля Местоположение.

Теперь заказ автоматически назначался нужному менеджеру

Но письмо с уведомлением о новом заказе менеджеру не отправлялось. Штатно такой функции не было.

Пришлось дописать немного кода

AddEventHandler("sale", "OnOrderNewSendEmail", "bxModifySaleMails");
function bxModifySaleMails($orderID, &$eventName, &$arFields)
{
  $additional_information = '';
  $arOrder = CSaleOrder::GetByID($orderID);

if(!empty($arOrder['RESPONSIBLE_EMAIL'])) 
  $arFields["RESPONSIBLE_EMAIL"] = $arOrder['RESPONSIBLE_EMAIL'];
}

Теперь:

  • заказ автоматически присваивается ответственному менеджеру
  • ему приходит уведомление о новом заказе
  • в админке Битрикса можно легко управлять назначением заказов и менеджерами.

Задача решена.

#Время выполнения
Вышло где-то с обсуждениями, поиском готовых решений и промежуточными вариантами около двух часов.

Подписаться на блог
Отправить
Поделиться
Запинить
2023   1c-bitrix