Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
rf#113 Move some ecommerce description to SE side (#330)
- Move some ecommerce description to SE side - Review#1 fixes. Fix some wrong facts and markdown - Launch drone
- Loading branch information
Showing
1 changed file
with
59 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
# Интеграция с 1С и база товаров на сайте. | ||
|
||
Сайт берёт товары только из 1С, не из админки. | ||
И имеет специфичный алгоритм расчёта скидки. | ||
|
||
## Алгоритм | ||
|
||
1C формирует выгрузку базы товаров в формате .xml и помещает её в определённой директории на Windows Server’е (контролируемым бизнесом). Выгрузка скачивается по ftp. | ||
|
||
*Примечание: в случае проблем с ftp или Windows Server’ом обращайтесь к Хелхи.* | ||
|
||
Чтобы выгрузка из 1С оказалась в своей базе, запустите на сервере команду "dcp exec app python manage.py update_catalog". | ||
|
||
*Примечания:* | ||
1. Команда "update_catalog" запускается по крону (crone) раз в 2 часа. | ||
2. Из базы достаём только товары. Структура категорий на сайте своя. Из-за этого неприятное следствие: когда в 1С добавляют товары, в базу сайта они заезжают без родительской категории. Контентщикам приходится добавлять их руками. | ||
3. Обновление прайс-листов для Яндекс.Маркета и в формате Excel обычно происходит так же по крону сразу после обновления каталога. | ||
4. Сценарий использования прайс-листа в формате Excel: оптовый покупатель по линку “Скачать прайс” на Главной странице скачивает прайс, проставляет в нём нужное количество единиц товара и высылает его нам на почту. | ||
|
||
## Определение оптовой скидки | ||
|
||
Всего есть 5 видов цен: | ||
1. Закупочная цена (R). Вносится в базу 1С вручную. | ||
2. Розничная цена (S). Вносится в базу 1С вручную. | ||
3. Оптовые цены: | ||
* мелкий опт: S1 = S х k1; | ||
* средний опт: S2 = S х k2; | ||
* крупный опт: S3 = S х k3, | ||
|
||
где k1, k2, k3 - коэффициенты оптовой цены. | ||
|
||
*Примечание: определение значений S1, S2, S3 происходит на стороне 1С.* | ||
|
||
Также есть пороговые значения для оптовых цен, при превышении которых применяется оптовая скидка: | ||
* мелкий опт (B1), руб: 20000; | ||
* средний опт (B2), руб: 50000; | ||
* крупный опт (B3), руб: 100000. | ||
|
||
У каждой корзины есть: | ||
* 4 цены: | ||
* 1 розничная (S); | ||
* 3 оптовых (S1, S2, S3); | ||
* 3 пороговых значения цены (B1, B2, B3). | ||
|
||
Алгоритм определения итоговой цены заказа такой: | ||
* если S3 > B3, значит в корзине крупный опт. Назначаем каждому товару цену крупного опта и завершаем алгоритм; | ||
* если S2 > B2 - средний опт, аналогично; | ||
* если S1 > B1 - мелкий опт, аналогично; | ||
|
||
иначе - оставляем розничные цены S. | ||
|
||
*Пример 1* | ||
|
||
*Пользователь указал количество: 500 шт. Расчёт по розничной цене: 500 х 1111 = 555500 руб. 555500 > 100000, поэтому расчёт идёт по цене 666,16 руб за единицу. Итоговая цена: 500 х 666,16 = 333080 руб.* | ||
|
||
*Пример 2* | ||
|
||
*Возьмём товар - блок питания: https://www.shopelectro.ru/catalog/products/2805/. Закажем 26 шт. Видим в корзине это: 1111 руб х 26 шт. = 28886 руб. Очистим корзину. Закажем 27 шт. Видим в корзине это: 767 руб х 27 шт. = 20717 руб. Получается, мы можем купить 27 одних и тех же блоков дешевле, чем 26.* | ||
|