Ускоряем работу с интернет-заказами в 1С:ERP: нетиповые статусы заказа покупателя и автоматическое обновление
- Решаемые задачи
- Почему нельзя использовать Модуль обмена с сайтом
- Функциональные требования
- Идея
- Техническое решение
- Подведем итоги
- В чем польза для Бизнеса клиента
В 2021 году к нам обратилась компания – производитель телекоммуникационного промышленного оборудования. Заказчик запустил интернет-магазин для реализации своей продукции. Учетная система, в которой компания ведет производственную и торговую деятельность, – 1С: ERP.
Заказчик поставил задачу: организовать синхронизацию данных 1С:ERP и интернет-магазина.
Интеграция 1С и интернет-магазина нужна для оперативного обмена товарами и заказами между двумя системами. На самом деле в обмене участвует гораздо больше данных, чем просто информация о товаре и сделанном заказе. Например, остатки товаров на складах, цены товаров для разных категорий покупателей, информация о покупателе, об оплате и доставке, а также статусы заказа.
Особое внимание заказчик уделял корректности и актуальности информации о статусах заказа на сайте и в 1С. Список статусов был предоставлен заказчиком и отражал все возможные этапы работы с заказом.
Сложность задачи в том, что Заказчик использует множество нетиповых статусов заказа покупателя. Мы должны придумать и организовать хранение и взаимодействие этих статусов с сайтом на 1С-Битрикс.
Решаемые задачи
Главная – актуальность информации о статусе заказа на сайте. Клиентам нашего Заказчика важно оперативно понимать, что происходит с их заказом, все ли в порядке, и когда он будет отгружен.
После передачи заказа с сайта в 1С с ним продолжается работа в учетной системе. В процессе работы с заказом изменяется статус заказа: “обработан”, “оплачен на сайте”, “частично оплачен, не отгружен”, и т.д.
Актуальный статус заказа на сайте нужен для решения нескольких задач:
-
Предоставить руководителю продаж правильный инструмент для контроля воронки продаж.
-
Снять нагрузку с менеджера, уменьшить количество звонков и сообщений от клиентов с вопросами по статусу заказа;
-
Предоставить менеджерам актуальный статус по оплатам, чтобы контролировать просроченные оплаты;
-
Снизить ошибки менеджеров за счет автоматизации смены статусов заказа в процессе работы с документами в 1С и устранения ручного переключения.
Почему нельзя использовать Модуль обмена с сайтом
В типовом модуле обмена 1С с сайтом под управлением Битрикс предусмотрена возможность синхронизации статуса заказа на сайте с тремя источниками со стороны 1С:
-
статус заказа,
-
состояние заказа
-
дополнительный реквизит.
Каждый из этих вариантов имеет недостатки:
-
Состав статусов заказа ограничен возможностями типовой конфигурации и для добавления статусов нужна значительная доработка 1С.
- Состав состояний заказа имеет больше вариантов выбора, но также для расширения требуется доработка.
-
Дополнительный реквизит проще во внедрении, но не подходит для автоматизации изменения статуса, т.к. требует ручного изменения менеджером.
Ни один из имеющихся вариантов не удовлетворяет требованиям автоматической синхронизации статусов заказа с сайта. Мы решили разработать собственный механизм обмена статусами заказа между Битриксом и ERP.
Функциональные требования
-
Есть 12 вариантов состояния заказа на сайте и в 1С.
-
После доработки конфигурация должна остаться обновляемой.
-
Действия с документами в 1С должны влиять на автоматическое изменение статуса заказа:
a. Проведение документа “Поступление безналичных денежных средств”
b. Отмена проведения документа “Поступление безналичных денежных средств”;
c. Проведение документа “Эквайринговая операция”;
d. Отмена проведения документа “Эквайринговая операция”;
e. Проведение документа “Приходный кассовый ордер”;
f. Отмена проведения документа “Приходный кассовый ордер”;
g. Проведение документа “Реализация товаров и услуг”;
h. Отмена проведения документа “Реализация товаров и услуг”.
№ |
Статус заказа на сайте, он же статус заказа в 1С |
Направление установки значений |
Критерии автоматического изменения статуса заказа в 1С |
||
Критерий 1: “Статус заказа в 1С” |
Критерий 2: “Процент оплаты”, % |
Критерий 3: “Процент отгрузки заказа”, % |
|||
1 |
Новый |
От сайта в 1С |
любой |
любой |
любой |
2 |
Обработан |
От 1С на сайт |
К выполнению |
0 |
0 |
3 |
Оплачен на сайте |
От сайта в 1С |
любой |
любой |
любой |
4 |
Оплачен, частично отгружен |
От 1С на сайт |
любой |
100 |
0<%<100 |
5 |
Оплачен, не отгружен |
От 1С на сайт |
любой |
100 |
0 |
6 |
Частично оплачен, не отгружен |
От 1С на сайт |
любой |
0<%<100 |
0 |
7 |
Частично оплачен, частично отгружен |
От 1С на сайт |
любой |
0<%<100 |
0<%<100 |
8 |
Частично оплачен, отгружен |
От 1С на сайт |
любой |
0<%<100 |
100 |
9 |
Не оплачен, отгружен |
От 1С на сайт |
любой |
0 |
100 |
10 |
Не оплачен, частично отгружен |
От 1С на сайт |
любой |
0 |
0<%<100 |
11 |
Оплачен, отгружен |
От 1С на сайт |
любой |
100 |
100 |
12 |
Отменен |
От 1С на сайт |
Закрыт+“Отмена” в одной из строчек таблицы “Товары” заказа. |
любой |
любой |
От сайта в 1С |
любой |
любой |
любой |
Расскажем, как решили задачу с минимальными изменениями 1С.
Идея
Взглянем на поле, которое называется “Состояние заказа” (выделено на рис. ниже).
Оно хоть и отображено на форме, но частью документа не является. Значение состояния хранится отдельно от заказа, и при его изменении не нужно перепроводить документ. Подобная архитектура позволяет легко изменять состояние заказа при работе с любым документом 1С, связанным с заказом.
Механизм изменений состояний заказа был взят за основу нашего решения.
Идея состоит в том, чтобы повторить и адаптировать механизм работы с состоянием заказа под нетиповой набор статусов заказов.
В результате мы получим синхронизацию статусов заказов в 1С и на сайте на основе индивидуального набора статусов. Статусы автоматически изменяются в процессе работы в 1С. Набор статусов может быть изменен или расширен и требует для этого минимальных доработок.
Техническое решение
Создадим расширение конфигурации. Все доработки выполняем в расширении.
Для определения новых состояний, создадим объект конфигурации, в котором укажем все необходимые статусы.
Состояние заказа хранится в регистре сведений СостоянияЗаказовКлиентов, при открытии формы подтягивается значение из этого регистра и подставляется на форму.
Для хранения собственных состояний мы выносим этот регистр в расширение и добавляем новый реквизит с типом нового перечисления. Там мы будем хранить новые состояния.
Для расчета нового состояния вынесем в расширение процедуру РассчитатьСостояние (вызов После), и пропишем там всю логику.
Важно: после прописания логики необходимо зарегистрировать изменение заказа клиента для выгрузки его нового состояния на сайт.
Для визуального просмотра состояния вынесем в расширение форму документа, создадим новый элемент формы и пропишем логику его визуального отображения.
В результате проделанных работ мы получаем новое состояние для документа, которое можно использовать не только для обмена с сайтом, но и для визуального отображения собственного состояния документа без изменения типовой конфигурации. Это решение может быть само по себе полезным.
Добавим в расширение форму УстановкаСоответствийСтатусовЗаказов. В реквизитах формы изменим в таблице значений СоответствияСостоянийЗаказа тип колонки Статус, на тип нового состояния заказов.
В модуле выгрузки в процедуре СформироватьВременныеТаблицыПоДокументам в запросе поменять выбор старого состояния на новое:
Можно изменить строчку в самом модуле, либо добавить его в расширение и переопределить всю процедуру.
В любом случае изменения не касаются типовой конфигурации, поэтому при ее обновлении никаких проблем не будет. При обновлении модуля обмена придется проверять, изменили ли в новых версиях процедуру формирования таблиц, но при внимательном сопоставлении доработанного модуля с новой версией, это также не доставит хлопот.
Подведем итоги
В результате проделанных работ мы получим полностью автоматизированный расчет состояния заказа и выгрузки его на сайт.
Реализация данного метода занимает относительно немного времени, не требует изменения заказа, что положительно сказывается на скорости работы и обеспечивает стабильную работу, так как мы полностью подстраиваемся под возможности типового обмена.
В чем польза для Бизнеса клиента
В результате опытной эксплуатации нашего расширения Заказчик отметил изменения в лучшую сторону в процессе работы менеджеров по продажам:
-
клиенты Заказчика стали автономно отслеживать статусы заказов в личном кабинете на сайте;
-
снизилась дебиторская задолженность за счет своевременного выставления счетов менеджерами;
-
у менеджеров Заказчика высвободилось время для решения задач по развитию клиентов и поиску новых;
-
руководитель отдела продаж отметил скорость подготовки отчетов по заказам клиентов и оперативность ежедневных сводок по отгрузкам.
ИНТЕРВОЛГА профессионально помогает бизнесу решать задачи по автоматизации процессов. Оставьте ваши контакты в форме ниже, чтобы обсудить задачи по доработке продуктов семейства 1С:Предприятие или их интеграции с внешними системами. Поможем с улучшением 1С для ее соответствия бизнес-процессам.
Статьи по теме
- аренда команды (от 2 человек, не менее 3 месяцев);
- итерации с фиксированной ценой (1-3 месяца длительностью).
- регулярные онлайн-планерки с заказчиком;
- квалифицированных специалистов;
- организованную команду (находятся в одном помещении, что упрощает решение рабочих вопросов);
- полную прозрачность и регулярность отчетов о результатах.
- нагруженный интернет-магазин;
- личный кабинет;
- оптовые продажи — B2B-платформа;
- маркетплейс;
- технический аудит сайта;
- Битрикс24 — корпоративные HR-порталы;
- Битрикс24 — построение CRM-системы;
- Битрикс24 — личные кабинеты сотрудников;
- Битрикс24 — аудит портала;
- 1С — интеграция с другими системами;
- 1С — доработка системы;
- маркетинг — комплексное интернет-продвижение;
- маркетинг — продвижение для B2B.