208 похожих чатов

9 ответов

18 просмотров

в готовом решении я так понял там только вывод склада но списание не предусмотренно

Александр Толкачев
в готовом решении я так понял там только вывод скл...

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

Владислав Vlad
Списание почти нигде не предусмотрено. Разделение ...

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

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

почему к отгрузкам? товар может отгрузится через 2 дня (пока оплатили, пока собрали). Сразу после оформления заказа резервируете его или на складе на сайте (просто отнимаете), если есть обмены например с 1С, то там тоже резервируется. А по корзинам тут сложнее. Нельзя понять пользователь бросил корзину или корзина еще его интересует (просто отошел на пол часа). Я бы посоветовал перед загрузкой корзины/оформления заказа проверять остатки, и если остатков мало, то уменьшать нужное количество и выводить сообщение, что пока юзер думал, товар уже купили....

Владислав Vlad
почему к отгрузкам? товар может отгрузится через 2...

проще наверное почистить у всех корзины когда в остатке появились 0

Александр Толкачев
проще наверное почистить у всех корзины когда в ос...

Во первых все корзины чистить - это нерационально. во вторых: а если было товара 5, первый пользователь купил 2, осталось на складе по идее 3, а второй пользователь уже положил 4 себе в корзину?

Александр Толкачев
процент вероятности того что так будет очень мал)

у вас накопилось 1000 корзин без заказов. Вы все будете проверять на товар, который закончился? А если пользователь ушел, но потом пришел через 2 дня, а товар появился на складе? Удалив товар раньше, чем он хотел заказать, вы рискуете потерять часть прибыли. Смотрите сами - решать вам. Я только накинул идею как бы я реализовал.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта