Кто работал или знаком с работой крупных ИМов?

12 3
Ч
На сайте с 16.12.2010
Offline
362
3803

Всем привет!

Вот ломаю голову, как улучшить учет и обмен информацией у себя в магазине.

И возникают вопросы. Вот один из них:

Есть ИМ, есть 1С.

Сейчас взаимодействие реализовано следующим образом:

в 1С хранятся цены и остатки товаров.

На сайт поступают заказы от покупателей.

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

Вроде всё нормально, но не совсем, т.к. в 1С данные одни, на сайте другие. Если оператор 1С несколько дней не позабивал в 1С, то оттуда данные не выгрузить, потому что они не актуальны. А если в этот период был приход товара или перемещения между складами? Ну, и так далее. Т.е. что-то ведется в 1С, что-то на сайте. Одно надо корректировать в 1С, другое на сайте. Вообщем, уже черт ногу сломит.

Как организовано такое взаимодействие в крупных ИМах?

Например, хочет покупатель изменит состав заказа, а заказ уже загружен в систему. Он может это сделать?

Если да, то где оператор проводит это изменение? На сайте или в системе? Если на сайте, то есть ли какие-то ограничения? Ведь, он может изменить заказ годичной давности и это повлияет на остатки на сайте, а склад даже не будет знать, что менеджер изменил такой старый заказ. Или изменил заказ, который уже в упакован. Ставить запрет редактирования после определенного статуса? Но, ведь для каждого типа заказа статус запрета будет разный: для самовывоза можно менять до оплаты, для межгорода до момента упаковки, для курьерского- до момента передачи заказа курьеру и тд. Т.е. вариантов наплодится...

Если он проводит это в системе, то тогда остатки не совпадут: до момента выгрузки в системе будут одни остатки, а на сайте будут другие. А если заказ меняет не менеджер, а продавец в магазине и перед ним в это время стоит покупатель, который и просит что-то добавить или убрать в заказе? Он же не будет загружать/выгружать весь сайт, что-то там менять...

В каком-нибудь Связном что у них первично? Сайт или учетная система? Или база вообще одна?

C
На сайте с 26.10.2013
Offline
54
#1

ИМ автозапчастей, товаров около 30к, заказов в день около сотни.

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

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

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

UPD

Чуть позже еще реализовали обмен данными между сайтом и 1С в момент, когда пользователь жмет "Оформить заказ"

Для проверки актуальности остатков именно на данный момент и резервирования в 1Ске моментально.

Сделали это, потому что пользователи успевали оплатить заказ до 5 минутного обмена, были сложности с возвратом денег за уже проданный другому, но оплаченный товар.

Но это муторно и сложно, на машине с 1С поднимали вебсервер, куда стучался сайт и инициировал обмен.

Услуги по парсингу данных (/ru/forum/939826), единоразовый и регулярный сбор данных. Любые объемы. Скрипты на PHP, создание и доработка, решение проблем с сайтами Пишите в личные сообщения или скайп
Barlog
На сайте с 18.01.2007
Offline
287
#2

максимум 700 заказов в день было (только МСК). учета нет, на глазок :) ассортимент - около 4000 однотипных товаров.

Трафик-менеджер вашему проекту. Только серьезные тематики. Кампании в VK, FB, OK, Direct, Ads, Mytarget
Ч
На сайте с 16.12.2010
Offline
362
#3
colorito:
товаров около 30к, заказов в день около сотни

Это хороший пример.

В этом случае в 1Ске снимаются остатки, и в течении максимум 5 минут измененный заказ покупателя выгружается на сайт, в том числе и новые остатки товаров.

Т.е. вся работа с заказом ведется в 1С, а не на сайте?

А если покупатель в момент получения заказа хочет его изменить, продавец в 1с меняет его заказ?

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

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

Сделали это, потому что пользователи успевали оплатить заказ до 5 минутного обмена, были сложности с возвратом денег за уже проданный другому, но оплаченный товар.

Да, вот это мне и не нравится больше всего в схеме, где 1С главная. Т.е. остатки на сайте не соответствуют реальным. А если сделать главным в этой связке сайт, а не 1С, то надо на сайте так мудрить, чтобы всё, что надо передавалось в 1с, и эта задача становится подобна написанию новой СРМ.

А еще есть усложнение: сторонние ПВЗ, на которых отмена заказа еще не означает, что товар доступен к продаже. А еще дальше: ПВЗ типа "Полка". Когда этот ПВЗ сторонний, но отмена дает возможность заказать этот товар другому покупателю.

учета нет, на глазок ассортимент - около 4000 однотипных товаров.

Не представляю как так работать. Я бы места себе не находил от ощущения, что я не контролирую ситуацию.

e_v_medvedev
На сайте с 07.03.2013
Offline
183
#4
Четверьг:

В каком-нибудь Связном что у них первично? Сайт или учетная система? Или база вообще одна?

Сайт ИМ это всего лишь витрина. Конечно учет первичен. На витрине можно не отображать остатки или синхронизировать их по-чаще. Заказы не надо держать "в витрине", а сразу передавать либо ERP систему, а лучше в CRM систему и только после контактов с клиентом давать команду на движение товаров и фиксировать это в ERP. Откат заказов конечно надо сразу фиксировать только в ERP.

Кстати если в ERP системе, в частности в 1С активирован SOAP интерфейс, то можно остатки в онлайне из ERP снимать по запросам. Сайт правда может подтормаживать при этом.

smartceo.ru (https://smartceo.ru) (методология интернет-торговли, портфолио, онлайн сервисы)
C
На сайте с 26.10.2013
Offline
54
#5
Т.е. вся работа с заказом ведется в 1С, а не на сайте?
А если покупатель в момент получения заказа хочет его изменить, продавец в 1с меняет его заказ?

После того, как он нажал кнопку "Оформить заказ", он уже не может его изменить самостоятельно. Только через запрос менеджеру, который, если заказ не оплачен или не уехал, имеет право это сделать. Если заказ был оплачен, скажем, через Приват24, то даже менеджер не имеет право его изменить. Либо оформить возврат, если там лишние позиции, либо оформить следующий заказ, если чего-то не достает.

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

Нет у заказа статусов, при которых его можно менять, кроме статуса "Ожидает рассмотрения". Все остальное только через возврат, либо через дозаказ. Менеджер, если "захотел", то остался без премии. Ну это человеческий фактор, запрет есть - кто нарушил, тот наказан.

Да, вот это мне и не нравится больше всего в схеме, где 1С главная. Т.е. остатки на сайте не соответствуют реальным. А если сделать главным в этой связке сайт, а не 1С, то надо на сайте так мудрить, чтобы всё, что надо передавалось в 1с, и эта задача становится подобна написанию новой СРМ.

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

Ч
На сайте с 16.12.2010
Offline
362
#6
e_v_medvedev:
На витрине можно не отображать остатки

Речь не про отображение остатков, а про их актуальность на сайте. Это важнейшая вещь. Покупатель не должен иметь возможность заказать отсутсвующий товар.

синхронизировать их по-чаще.

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

К тому же, что значит синхронизировать? Передавать заказы с сайта в 1с, а потом выгружать остатки на сайт?

ТОгда надо в 1С постоянно сидеть и в реалтайме делать коррекции заказов, проводить брак и тд (а брак могли менеджеры убрать на сайте из остатков вручную сразу после обнаружения, чтобы нельзя было заказать этот товар). Т,е. то, что делается фактически в этот момент на складе с товаром, иначе при выгрузке вы выгрузите всё это без этих изменений. Т.е. вы не можете отложить например проводку брака на вечер, т.к. если вы ее не забьете прямо сейчас, то вы не можете выгрузить остатки на сайт, у вас там будет лишний товар.

Сайт правда может подтормаживать при этом.

Это тоже плохо.

Менеджер, если "захотел", то остался без премии. Ну это человеческий фактор, запрет есть - кто нарушил, тот наказан.

Понял.

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

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

Ну, в общих чертах понял, спасибо. Вообщем, конечно, тоже не идеально реализовано.

C
На сайте с 26.10.2013
Offline
54
#7
Четверьг:
Ну, скорее да, чем нет. Просто есть товары, которые в единичных экземплярах. И по закону подлости бывает, что заказывают их одновременно.

Ну, в общих чертах понял, спасибо. Вообщем, конечно, тоже не идеально реализовано.

Для этого случая я в своем UPD описал, как это реализовано

Мы в момент нажатия кнопки "оформить заказ" в реальном времени отправляем запрос к 1С. В это время у клиента крутится "подождите, пожалуйста". 1С резервирует товар, и отвечает нам, что все нормально. Если через секунду другой клиент захочет оформить заказ с тем же товаром, то мы скажем ему "извините, только что купили". Если вдруг сбой на стороне 1С (связь, например), тут уже вручную разруливаем, иначе никак. Но это сложно все

Ч
На сайте с 16.12.2010
Offline
362
#8
Для этого случая я в своем UPD описал, как это реализовано

Сорри, я решил, что вы заморочились этим, но не используете.

В это время у клиента крутится "подождите, пожалуйста".

И сколько времени покупателю приходится ждать?

C
На сайте с 26.10.2013
Offline
54
#9
Четверьг:

И сколько времени покупателю приходится ждать?

Таймаут стоит 30 секунд, после чего, если ответ от 1С не получен, разрешаем оформить заказ.

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

Но 30 секунд это максимум, обычно бегунок бегает секунд 10-15, но тут все зависит от связанности сервера 1С и сайта. Если у вас сервер в США, а в России кто-то торренты качает на весь канал - могут быть проблемы )

cblcg
На сайте с 28.06.2012
Offline
232
#10

бывает 1С с БД напрямую сайта работает и мгновенное изменение в 1С отражается на сайте

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий