Ускоряем работу с интернет-заказами в 1С:ERP: нетиповые статусы заказа покупателя и автоматическое обновление

В прошлом году к нам обратилась компания — производитель телекоммуникационного промышленного оборудования. Заказчик запустил интернет-магазин для реализации своей продукции. Учетная система, в которой компания ведет производственную и торговую деятельность, — 1С: ERP.

Заказчик поставил задачу: организовать синхронизацию данных 1С:ERP и интернет-магазина.

Ускоряем работу с интернет-заказами в 1С:ERP: нетиповые статусы заказа покупателя и автоматическое обновление

Интеграция 1С и интернет-магазина нужна для оперативного обмена товарами и заказами между двумя системами. На самом деле в обмене участвует гораздо больше данных, чем просто информация о товаре и сделанном заказе. Например, остатки товаров на складах, цены товаров для разных категорий покупателей, информация о покупателе, об оплате и доставке, а также статусы заказа.

Особое внимание заказчик уделял корректности и актуальности информации о статусах заказа на сайте и в 1С. Список статусов был предоставлен заказчиком и отражал все возможные этапы работы с заказом.

Ускоряем работу с интернет-заказами в 1С:ERP: нетиповые статусы заказа покупателя и автоматическое обновление

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

Решаемые задачи

Главная — актуальность информации о статусе заказа на сайте. Клиентам нашего Заказчика важно оперативно понимать, что происходит с их заказом, все ли в порядке, и когда он будет отгружен.

После передачи заказа с сайта в 1С с ним продолжается работа в учетной системе. В процессе работы с заказом изменяется статус заказа: “обработан”, “оплачен на сайте”, “частично оплачен, не отгружен”, и т.д.

Актуальный статус заказа на сайте нужен для решения нескольких задач:

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

Почему нельзя использовать Модуль обмена с сайтом

В типовом модуле обмена 1С с сайтом под управлением Битрикс предусмотрена возможность синхронизации статуса заказа на сайте с тремя источниками со стороны 1С:

  • статус заказа,
  • состояние заказа
  • дополнительный реквизит.

Каждый из этих вариантов имеет недостатки:

Состав статусов заказа ограничен возможностями типовой конфигурации и для добавления статусов нужна значительная доработка 1С.

Ускоряем работу с интернет-заказами в 1С:ERP: нетиповые статусы заказа покупателя и автоматическое обновление
Ускоряем работу с интернет-заказами в 1С:ERP: нетиповые статусы заказа покупателя и автоматическое обновление

Состав состояний заказа имеет больше вариантов выбора, но также для расширения требуется доработка.

Ускоряем работу с интернет-заказами в 1С:ERP: нетиповые статусы заказа покупателя и автоматическое обновление
Ускоряем работу с интернет-заказами в 1С:ERP: нетиповые статусы заказа покупателя и автоматическое обновление

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

Ускоряем работу с интернет-заказами в 1С:ERP: нетиповые статусы заказа покупателя и автоматическое обновление
Ускоряем работу с интернет-заказами в 1С:ERP: нетиповые статусы заказа покупателя и автоматическое обновление

Ни один из имеющихся вариантов не удовлетворяет требованиям автоматической синхронизации статусов заказа с сайта. Мы решили разработать собственный механизм обмена статусами заказа между Битриксом и ERP.

Функциональные требования

  • Есть 12 вариантов состояния заказа на сайте и в 1С.
  • После доработки конфигурация должна остаться обновляемой.
  • Действия с документами в 1С должны влиять на автоматическое изменение статуса заказа:

a. Проведение документа “Поступление безналичных денежных средств”;

b. Отмена проведения документа “Поступление безналичных денежных средств”;

c. Проведение документа “Эквайринговая операция”;

d. Отмена проведения документа “Эквайринговая операция”;

e. Проведение документа “Приходный кассовый ордер”;

f. Отмена проведения документа “Приходный кассовый ордер”;

g. Проведение документа “Реализация товаров и услуг”;

h. Отмена проведения документа “Реализация товаров и услуг”.

Ускоряем работу с интернет-заказами в 1С:ERP: нетиповые статусы заказа покупателя и автоматическое обновление

Расскажем, как решили задачу с минимальными изменениями 1С.

Идея

Взглянем на поле, которое называется “Состояние заказа” (выделено на рис. ниже).

Ускоряем работу с интернет-заказами в 1С:ERP: нетиповые статусы заказа покупателя и автоматическое обновление

Оно хоть и отображено на форме, но частью документа не является. Значение состояния хранится отдельно от заказа, и при его изменении не нужно перепроводить документ. Подобная архитектура позволяет легко изменять состояние заказа при работе с любым документом 1С, связанным с заказом.

Механизм изменений состояний заказа был взят за основу нашего решения.

Идея состоит в том, чтобы повторить и адаптировать механизм работы с состоянием заказа под нетиповой набор статусов заказов.

В результате мы получим синхронизацию статусов заказов в 1С и на сайте на основе индивидуального набора статусов. Статусы автоматически изменяются в процессе работы в 1С. Набор статусов может быть изменен или расширен и требует для этого минимальных доработок.

Техническое решение

Создадим расширение конфигурации. Все доработки выполняем в расширении.

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

Ускоряем работу с интернет-заказами в 1С:ERP: нетиповые статусы заказа покупателя и автоматическое обновление

Состояние заказа хранится в регистре сведений СостоянияЗаказовКлиентов, при открытии формы подтягивается значение из этого регистра и подставляется на форму.

Для хранения собственных состояний мы выносим этот регистр в расширение и добавляем новый реквизит с типом нового перечисления. Там мы будем хранить новые состояния.

Ускоряем работу с интернет-заказами в 1С:ERP: нетиповые статусы заказа покупателя и автоматическое обновление

Для расчета нового состояния вынесем в расширение процедуру РассчитатьСостояние (вызов После), и пропишем там всю логику.

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

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

Ускоряем работу с интернет-заказами в 1С:ERP: нетиповые статусы заказа покупателя и автоматическое обновление

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

Добавим в расширение форму УстановкаСоответствийСтатусовЗаказов. В реквизитах формы изменим в таблице значений СоответствияСостоянийЗаказа тип колонки Статус, на тип нового состояния заказов.

В модуле выгрузки в процедуре СформироватьВременныеТаблицыПоДокументам в запросе поменять выбор старого состояния на новое:

Можно изменить строчку в самом модуле, либо добавить его в расширение и переопределить всю процедуру.
Можно изменить строчку в самом модуле, либо добавить его в расширение и переопределить всю процедуру.

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

Подведем итоги

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

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

В чем польза для Бизнеса клиента

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

  • клиенты Заказчика стали автономно отслеживать статусы заказов в личном кабинете на сайте;
  • снизилась дебиторская задолженность за счет своевременного выставления счетов менеджерами;
  • у менеджеров Заказчика высвободилось время для решения задач по развитию клиентов и поиску новых;
  • руководитель отдела продаж отметил скорость подготовки отчетов по заказам клиентов и оперативность ежедневных сводок по отгрузкам.

ИНТЕРВОЛГА профессионально помогает производителям и другим бизнесам решать задачи по автоматизации процессов. Обращайтесь за решением сложных задач в вашей ERP-системе или других программах семейства 1С:Предприятие.

Начать дискуссию