Версия 1.13.0 12.02.2026

Версия 1.12.0 19.01.2026

Версия 1.11.2 02.09.2025

Версия 1.11.01 14.08.2025

Версия 1.10.14 22.10.2023

Версия 1.10.12 13.08.2023

Версия 1.10.6 10.04.2023

Версия 1.10.5 06.04.2023

Версия 1.10.3 31.01.2023

После обновление обязательно пересохранить все настройки

Версия 1.10.0 22.11.2022

После обновление обязательно пересохранить все настройки

Версия 1.9.16 21.07.2022

Версия 1.9.15 18.07.2022

Начало большого обновления плагина на новую логику работы.

С этой версии плагина у вас должны быть установлены:

Изменения

Переписана логика работы вебхуков

После обновления нужно выполнить ряд условий

Версия 1.9.14 07.05.2022

Версия 1.9.13 07.04.2022

Версия 1.9.12 03.03.2022

Версия 1.9.11 17.01.2022

Версия 1.9.10 12.01.2022

Версия 1.9.9 28.12.2021

Версия 1.9.8 22.08.2021

Версия 1.9.6 29.05.2021

Версия 1.9.4 03.08.2020

Версия 1.9.3 03.08.2020

Версия 1.9.2 24.05.2020

Версия 1.9.1 20.05.2020

Версия 1.9 03.05.2020

Версия 1.8.9 08.04.2020

Версия 1.8.8 06.04.2020

Версия 1.8.7 14.01.2020

Версия 1.8.6 23.12.2019

Версия 1.8.5 15.08.2019

Версия 1.8.4 01.08.2019

Версия 1.8.2 28.05.2019

Версия 1.8 20,04.2019

Версия 1.7.9 13,04.2019

Версия 1.7.6 29,03.2019

Версия 1.7.5 23,03.2019

Версия 1.7.3 11,03.2019

Версия 1.7.2 25.02.2019

Версия 1.7 18.02.2019

Версия 1.6.9 26.01.2019

Версия 1.6.8 20.01.2019

Версия 1.6.7 17.01.2019

Версия 1.2 13.10.2018

Версия 1.1.9 5.10.2018

Версия 1.1.8 1.10.2018

Версия 1.1.7 14.09.2018

Версия 1.1.6 3.09.2018

Версия 1.1.5 27.08.2018

Версия 1.1.4 24.08.2018

Версия 1.1.3 21.08.2018

Версия 1.1.2 11.08.2018

Версия 1.1.1 26.07.2018

Версия 1.1.0 25.07.2018

Версия 1.0.9 23.07.2018

Версия 1.0.8

Версия 1.0.7

Версия 1.0.6

Версия 1.0.5

Версия 1.0.4

Версия 1.0.3

Версия 1.0.2

Версия 1.0.1

Версия 1.0.0

Версия 0.9.9

Версия 0.9.8

Версия 0.9.7

Версия 0.9.6

Версия 0.9.5

Версия 0.9.4

 Версия 0.9.3

 Версия 0.9.2

 Версия 0.9.1

Версия 0.9

РЕКОМЕНДОВАНА ДЛЯ ОБНОВЛЕНИЯ

Версия 0.8

Версия 0.7.9

Версия 0.7.8

Версия 0.7.7

Версия 0.7.6

Версия 0.7.5

Версия 0.7.4

Версия 0.7.3

Версия 0.7.2

Версия 0.7.1

Вебхуки остатков:

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

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

Версия 0.7

Версия 0.6

Версия 0.5.9.2

Версия 0.5.8.1

Версия 0.5.8

Версия 0.5.7.3

Версия 0.5.7.2

Версия 0.5.7

Версия 0.5.6.9

Версия 0.5.6.8

Версия 0.5.6.7

Версия 0.5.6.5

Версия 0.5.6.4

Версия 0.5.6.3

Версия 0.5.6.2

Версия 0.5.6.1

Версия 0.5.5

Версия 0.5.4.1

Версия 0.5.4

Версия 0.5.3

Версия 0.5.2

Версия 0.5.1

Версия 0.5

Бывают случаи когда зависают процессы синхронизации и происходит блокировка дальнейшей синхронизации.

Как это определить?

Вы начнете замечать что данные товаров не совпадают с Мой Склад цена, остатки, картинки.

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

Если вы видите что запись

'Уже идет синхронизация остатков'
'Уже идет синхронизация товаров'

Повторяются подряд — это говорит что процессы зависли и нужно заново стартануть.

Чтобы снова стартануть синхрон нужно в настройках плагин в верхней части нажать поочередно кнопки остановить и сбросить.

После обновить страницу и снова провести синхронизацию.

Либо можно поставить код в functions.php вашей темы.

<?php

/**
 * Товары
 */

add_action('wms_assortment_daily', function (){
    msw_restart_sync_happen_hover('assortment');
}, 0 );

/**
 * Остатки
 */
add_action('wms_hourly_event_stock', function (){
    msw_restart_sync_happen_hover('stock');
}, 0 );

/**
 * Картинки
 */
add_action('wms_assortment_end_sync', function (){
    msw_restart_sync_happen_hover('image', true);
}, 0 );


/**
 *
 * @param string $sType
 * @param false $bStart Если поставить true то синхрон продолжиться иначе заново начнеться
 * @param int $time Время простоя которое считать сто процесс завис
 */
function msw_restart_sync_happen_hover($sType = 'assortment', $bStart = false, $time = 3600)
{
    if ($sStartTime = WmsWalkerFactory::get_walker($sType)->get_start_walker()) {

        if ((time() - $sStartTime) > $time){
            if($bStart) {
                do_action('wms_walker_hook_' . $sType, $sType);
            }else{
                WmsWalkerFactory::get_walker($sType)->delete_walker();
            }
        }
    }

}

 

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

 

//Установка Длины, Ширины, Высоты
add_filter('wms_assortment_ms_array', 'msw_add_assortment_attr');

function msw_add_assortment_attr($aAssortment)
{
	if (isset($aAssortment['attributes'])) {
	    $aAssortment['productAttributes'] = $aAssortment['attributes'];
	}
	
	return $aAssortment;
}


add_filter('wms_assortment_update_filter', 'msw_add_dimensions_product', 10, 2);
 
function msw_add_dimensions_product($oProduct, $aAssortment)
{
    if (isset($aAssortment['productAttributes'])) {
 
        foreach ($aAssortment['productAttributes'] as $key => $value) {
 
            switch ($value['name']) {
                case 'Длина'://название доп поля длины
                    $oProduct->set_length($value['value']);
                    break;
                case 'Ширина'://название доп поля ширины
                    $oProduct->set_width($value['value']);
                    break;
                case 'Высота'://название доп поля высоты
                    $oProduct->set_height($value['value']);
                    break;
 
            }
 
        }
 
    }
 
    return $oProduct;
}
//Исключение атрибутов
add_filter('wms_attribute_action', 'msw_attributes_delete',10);
 
function msw_attributes_delete($aAttributes)
{
    $aUnsetAttributes = array('Длина', 'Ширина', 'Высота');
 
    foreach ($aAttributes as $key => $value) {
        if (in_array($value['name'], $aUnsetAttributes)) {
            unset($aAttributes[$key]);
        }
    }
 
    $aNewAttributes = array();
 
    foreach ($aAttributes as $key => $value) {
        $aNewAttributes[] = $value;     
    }
 
    return $aNewAttributes;
}

 

Все плагины на сайте обновляются стандартными средствами wordpress.

Обновления находятся в админке сайта по пути

Консоль -> обновления

 

Если обновление не появилось в консоли то нужно нажать кнопку проверить обновления несколько раз.

Если при обновлении возникла ошибка ,архив не доступен либо при открытии деталей вы видите следующее изображение

Как правило это говорит что у вас отсутсвует ключ на обновление, либо он у вас просрочен.

Информацию о ваших ключах можно посмотреть тут.

Аккаунт

Если ключ просрочен то его надо преобрести заново

Лицензионый ключ

После того как вам придет новый ключ его нужно прописать и сохранить настройки.

Далее перейти в консоль -> обновления и нажать несколько раз проверить обновления.

 

Обязательно

Если вы приобрели новый ключ то нужно прописывать его, а не использовать старый.

Также нужно указать email с которого был куплен этот ключ.

 

По умолчанию woocommerce разрешает только уникальные артикула что для простых товаров, что для вариаций.

При синхронизации с мой склад часто возникает ошибка что товар не создается из-за одиноковых артикулов.

Чаше всего этот происходит с товарами которые имеют модификации так как Мой Склад генерирует коды не уникальные для простых товаров и товаров с вариациями.

Есть несколько вариантов это заменить эти коды и сделать их уникальными.

Либо при синхронизации использовать артикул из Мой Склад

Либо можно добавить сниппет в functions.php вашей темы.

add_filter( 'wc_product_has_unique_sku', function($sku_found){ return false;}) ;

 

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

Иногда бывает что при синхронизации не грузятся изображения товара.

Как это исправить?

1.посмотреть включена ли опция загрузки картинок в настройках плагина.

2.убедится что у вас товары имеют картинки в мой склад.

Если все ок то приступает к поиску ошибки.

Как правило их две.

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

2. Это когда не грузятся все картинки здесь в 99%  проблема на стороне хостинга.

В основном это ошибка

cURL error 7: Failed to connect to storage.files.mo01.cloud.servers.com port 8080: Connection refused»

Эта ошибка говорит о проблемах хостинга
Ваш хост
1)забанили
2) у вас криво настроен firewall
3) с хоста запрещены исходяшие соединения.

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

Вам надо в хостинг написать и указать проблему
cURL error 7: Failed to connect to storage.files.mo01.cloud.servers.com port 8080: Connection refused»

Из него следует что вашему хостеру надо разрешить для ресурса storage.files.mo01.cloud.servers.com на порт 8080 делать запрос.

 

Еще бывает что процесс синхронизации зависает. Решается просто в настройках плагина в вверхней части вы нажимаете кнопку остановить, а после снова ручной перезапуск.

 

Пока здесь описаны все проблемы синхронизации изображений.

После последних обновлений на стороне сервиса Мой Склад номера заказов переданные с сайта через плагин стали сбивать нумерацию заказов в Мой Склад тех заказов что формируются через интерфейс Мой Склад.

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

Ошибка сохранения объекта: нарушено ограничение
уникальности параметра ‘name

Пока есть два решения это добавлять постпрефикс, но тогда появляется следующая ошибка Мой склад начинает добавлять к заказам созданым в интерфейсе сервиса цифры.

Например вы передали с сайта заказ с номером 5

Если был добавлен префикс то номер будет выглядеть так WC5

После вы создаете заказ в системе мой склад через их интерфейс этому заказу присвоится  автоматически номер WC6.

Следом с сайта вы пробуете передать заказ и у него номер 6 с префиксом WC6, такой заказ уже не пройдет вызовет ошибку которая описана выше.

Мы добавляем постпрефикс наример M, заказ получается такой WC6M, Этот заказ уже пройдет в систему.

После вы снова создаете заказ в системе мой склад через их интерфейс этому заказу присвоится  автоматически номер WC6M-1.

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

 

Есть второй вариант это оставить формирование номеров заказа на стороне Мой Слад, они теперь это могут.

Единственный минус что номера на сайте и в мс не будут совпадать, но информация о номере заказа передается в комментарии к заказу.

На сайте же присвоенный номер пишиться в сообщениях о заказе, а также в мета поле.

Позже добавлю код для вывода номера в отдельном метабоксе с возможностью перехода в сервис .

Пока данный подход реализован в в виде сниппета.

Данный сниппет нужно добавить в functions.php вашей темы.

 

//отключаем передачу номера заказа, чтобы мс присваивал свой номер
add_filter( 'wms_order_action', function( $aMsOrder ){
    unset($aMsOrder['name']);
    return $aMsOrder;
}
, 1000);


//Передаем номер заказа на сайте в комментарии.
add_filter('wms_order_comment_action', function( $sComment, $oOrder ){
    
     return "Номер заказа на сайте: " . $oOrder->get_order_number() . PHP_EOL . $sComment;
    
}, 1000, 2); 

//передача и сохранение информации о номере заказа на сайт
add_action( 'wms_customerorder_create', function( $iOrderId, $aMsOrder, $oWCOrder ){
    
    update_post_meta($iOrderId, 'ms_order_number', $aMsOrder['name']);

    $oWCOrder->add_order_note('Заказу в  Мой Склад присвоен номер ' . $aMsOrder['name']);
        
}, 1000, 3 );

 

Данный сниппет позволяет отменить создание новых товаров при синхронизации.

Нужно добавить в function.php вашей темы.

add_filter('wms_load_array_products', 'wms_exlude_product_insert', 10, 3);


function wms_exlude_product_insert($products, $settings, $product_id){

     if($product_id === false){
       return false;
     }

return $products;
}

Если у вас слабый хостинг данные настройки помогут снизить нагрузку.
//Данный код нужно добавить в function.php Вашей темы

add_filter('cron_schedules', 'wms_cron_add_schedule');

function wms_cron_add_schedule($schedules)
{
    $schedules['wms_walker_shedule'] = array(
        'interval' =>  60*5,// время в секундах через сколько надо проходить новый круг при загрузке товаров по умолчанию 60
        'display' => '5 минут'
    );

    return $schedules;
}

//При увеличение товаров за проход рекомендуется увеличить время прохода
add_filter('wms_limit_stock', 'wms_limit_stock_loop');


function wms_limit_stock_loop($limit)
{
    $limit = 25;// количество остатков за один проход  максимум 1000 по умолчанию 50
return $limit;
}


add_filter('wms_limit_product', 'wms_limit_product_loop');


function wms_limit_product_loop($limit)
{
    $limit = 50;// количество товаров за один проход  максимум 100 по умолчанию 25
     return $limit;
}

 

add_filter('wms_attribute_action', 'msw_attributes_delete',10);

function msw_attributes_delete($aAttributes)
{
    $aUnsetAttributes = array('Имя вашего атрибута 1', 'Имя вашего атрибута 2', 'Имя вашего атрибута 3');

    foreach ($aAttributes as $key => $value) {
        if (in_array($value['name'], $aUnsetAttributes)) {
            unset($aAttributes[$key]);
        }
    }

    $aNewAttributes = array();

    foreach ($aAttributes as $key => $value) {
        $aNewAttributes[] = $value;     
    }

    return $aNewAttributes;
}

 

Данное решение позволяет исключить атрибуты из загрузки на сайт.

 

20,08,2017 Вышло обновление плагина Синхронизация  Woocommerece и сервиса Мой Склад.

Был исправлен ряд ошибок.

Работа с вебхуками:

При удалении товара в системе Мой Склад, В Wocommerce товар переноситься в корзину (при работе с вебхуками).

При создании доп поля wms-no  В системе Мой Склад и выставлении галочки в on товар переноситься в корзину(при работе с вебхуками).

 

Изменился дизайн страницы настроек плагина.

Добавлены дополнительные цены.

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

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

Также у вас есть оптовые покупатели и у них цена оптовая , теперь эту цену можно загружать на сайт и она будет появляться если на сайт зайдет оптовик. Контрагенты  синхронизируются по email.

Дополнительные цены действуют пока только для простых товаров.