Ошибка со сменой остатка на складе

Здравствуйте!

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

Итак, складов у меня два:

Склад №1 (склад поставщиков, основной массив товаров)

Склад №2 (свой склад, очень-очень малая часть товаров)

ПРОБЛЕМА В СЛЕДУЮЩЕМ: у меня несколько разных плагинов, которые обновляют остатки по крону. Все эти плагины настроены корректно и обновляют остатки на СКЛАДЕ №1. ОШИБКА заключается в том, при очередном обновлении, как только товар на СКЛАДЕ №1 переходит в “0”, то в этот момент остаток на СКЛАДЕ №2 автоматом перепрыгивает на “Есть в наличии”.

ПОВТОРЮСЬ: как только остаток товара на СКЛАДЕ №1 переходит в “0”, в этот момент остаток на СКЛАДЕ №2 меняется с “0” на “Есть в наличии”

Сначала я был уверен, что дело в каком-то плагине обновления. Но покопавшись понял, что дело не в плагине. У нас три совершенно разных плагина обновления, но вышеописанная ошибка наблюдается при работе любого плагина. Плагины у нас следующие:

1. Плагин “Импорт товаров из YML” - обновляет из YML-файла;

2. Написанный под нас плагин-парсер остатков сайта поставщика;

3. Плагин “Обновление товаров” - обновляет вручную из загруженного Excel-файла.


ИНТЕРЕСНАЯ ДЕТАЛЬ: если у товара руками отредактировать остатки, то при следующем автоматическом обновлении вышеописанная ошибка не воспроизводится. 

16 ответов

  • 2

    Мало информации. Какое конкретно значение на Складе 2 для таких товаров? Там должно быть конкретное число или бесконечность (null)

    • +1

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

      • +1

        А, ну да, с ручным редактированием тоже всё понятно.

        В общем это ошибка во всех плагинах. Можете смело собирать разработчиков в пучок и проводить с ними профилактическую беседу на тему "Что такое остаток бесконечность, как это отражается в СУБД и почему они не задумываются о том, что складов может быть несколько когда создают новый товар".

        Всё. Можно расходиться =)

    • +1
      Den Komnin Den Komnin 25 июня 2021 12:47 #

      На СКЛАДЕ №2 в подавляющем большинстве случае стоит "0". У некоторых товаров склад СКЛАДЕ №2 вообще не заведен, но это равносильно "Нету в наличии", насколько я понимаю. В среднем вот такая картина https://skr.sh/s8jSyyUNaFi 

      • +1

        Т.е. на складах по нулям, а на витрине "Есть в наличии"?

        • +1
          Den Komnin Den Komnin 25 июня 2021 12:57 #

          Касательно отображения на витрине... Вообщем на витрине у меня наличие по каждому отдельному складу НЕ ВЫВОДИТСЯ. Выводится один обычный индикатор (есть в наличии, мало т. д.), как при одном складе. Но он учитывает остатки на обоих склада. То есть если хотя бы на одном складе есть в наличии, то выводится "В наличии". Если на обоих складах "Нет в наличии", то соответственно и на витрине "Нет в наличии".

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

          Скриншот: https://skr.sh/s8jP31XD61I

        • +1
          Den Komnin Den Komnin 25 июня 2021 12:58 #

          С отображением на витрине проблем нет - там все отображается корректно

          • +1

            Как так? Вот вы же сами писали:

            как только товар на СКЛАДЕ №1 переходит в “0”, то в этот момент остаток на СКЛАДЕ №2 автоматом перепрыгивает на “Есть в наличии”.

            В любом случае, пришлите скриншот вкладки о которой я писал выше для проблемного товара

      • +1

        Возьмите товар с которым есть проблемы и пришлите скриншот вкладки Цены и наличие страницы просмотра товара в бекенде. 

        • +1
          Den Komnin Den Komnin 25 июня 2021 13:09 #

          Ну тут все как обычно.

          Вот самый свежий пример. Товар N обновился плагином “Импорт товаров из YML”. В YML-файле поставщика он перешел на "Нет в наличии" и плагин его правильно обработал и также поменял остаток на СКЛАДЕ №1 на "Нет в наличии". То есть все сработало ПРАВИЛЬНО!

          НО! Второй склад тут же перешел в "бесконечность", то есть на "Есть в наличии". 

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

          Скрин https://skr.sh/s8juqOzGn53

  • 1
    Den Komnin 25 июня 2021 13:34 #

    Мне очень хочется верить, что проблема на стороне плагинов. В этом случае ошибка хотя бы ясна и понятна. Я напишу сейчас разрабам. 

    Но все таки...Если дело в плагинах, то ошибка должна было возникать у всех, кто пользуется плагинами и имеет более одного склада, а это вполне типичная ситуация. Установок одного и второго плагинов в совокупности 800+. Все таки подобная проблема должна была бы обсуждаться и уже давно быть решена наверное.

    В любом случае огромное вам спасибо. 

    --------

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

    Поясните пожалуйста, кажется это важный момент

    • +1

      Он может быть важным, если знать все условия. Я их не знаю, этих плагинов не видел и не слышал о них, поэтому исхожу из знания принципа работы складов с SS и практики работы с некоторыми плагинами импорта товаров. Так вот в тех плагинах с которыми я сталкивался проблема проявлялась при создании нового товара. Но запросто может оказаться и так, что заложенный в плагин алгоритм точно так же поступает и при обновлении информации о товарах. Если так - то это грубейшая ошибка.  Если это не так - придется искать причину. Но с вероятностью выше 90% проблема именно в этом. В любом случае, начинать надо именно с этого, и если вдруг выяснится что проблема не в этом - напишите сюда пожалуйста. Очень любопытно.

      • +1
        Den Komnin Den Komnin 27 июня 2021 22:21 #

        Здравствуйте!

        Я провел несколько экспериментов и кажется нашел решение проблемы)

        Для начала важно отметить, что у меня всегда был один единственный склад. Лишь совсем недавно я решил создать второй склад (СКЛАД №2). Таким образом, когда я создавал СКЛАД №2 все товары на сайте уже были созданы. 

        Соответственно, после создания СКЛАДА №2 товары в админке режиме "Артикул" стали выглядеть вот так https://skr.sh/s8lJlfJgGm4 . Как видно из скриншота, столбец со СКЛАДОМ №2 у товаров пустой (что по факту означает как бы "0"). У какой-то части товаров я создал второй склад и прописал им остаток. Такие товары, соответственно отображались вот так https://skr.sh/s8l1waWF85b

        Я поэкспериментировал и пришел к выводу, что та проблема, которую мы обсуждаем - она наблюдается только (!) у вот таких товаров https://skr.sh/s8l5e4xWOam. ЕСЛИ этим товарам создать СКЛАД №2 и прописать там, например, остаток "0", то проблема исчезает. 

        Получается, чтобы полностью избавиться от проблемы нужно сделать две вещи:
        1. Всем товарам (или по крайне мере тем, что обновляются плагинами) создать массово второй склад и прописать остаток. Нужен инструмент, который позволил бы массово проделать такую штуку. Ваш плагин "Автоматическое управление товарами" вроде это умеет делать?

        2. У впредь создаваемых новых товаров нужно сразу создавать второй склад и прописывать остаток. По умолчанию при создании нового товара второй склад не создается, поэтому его вручную нужно создавать https://skr.sh/s8lNU2KUrsA .

        --------------------------------------

        Вроде все именно так, надеюсь на это. Для 100% уверенности еще несколько раз смоделирую ситуации, когда остаток должен перепрыгивать. 

        • +2

          Как видно из скриншота, столбец со СКЛАДОМ №2 у товаров пустой

          Странный скриншот.  Штатно склад 2 должен отображаться у всех товаров.

          У какой-то части товаров я создал второй склад и прописал им остаток

          Это как? Склады создаются для Магазина в целом, а не для товаров.

          Такие товары, соответственно отображались вот так https://skr.sh/s8l1waWF85b.

          Штатно, все товары должны отображаться так. Почему у вас какое-то странное отображение - это вам надо разобраться.

          то та проблема, которую мы обсуждаем - она наблюдается только (!) у вот таких товаров

          Как писал выше, иакое отображение - странная ситуация. Штатно такой наблюдаться не должно.,

          Всем товарам (или по крайне мере тем, что обновляются плагинами) создать массово второй склад

          Как писал выше, склады создаются для Магазина, а не для товара. Возможно, вы имеете в виду установить нулевой остаток на втором складе. Если так, то да, плагин сможет это сделать.

          У впредь создаваемых новых товаров нужно сразу ...... прописывать остаток.

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

Добавить ответ

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