Перейти к основному содержимому

Прочие вопросы по заказам

Как сдвинуть нумерацию заказов в БУС (ID заказов)​

Предположим, что последние три заказа идут с такими ID: 3000, 3001, 3002. Нам нужно сдвинуть нумерацию и сделать так, чтобы следующий заказ начинался с номера 9000 и шёл по порядку, таким образом у нас будут идти заказы 3000, 3001, 3002, 9000...

Для этого необходимо перейти к SQL запросам:

image_1

И выполнить запрос:

ALTER TABLE `b_sale_order` AUTO_INCREMENT = 9000;

где 9000 — это тот номер, который хотим увидеть после сдвига, т.е. после этого запроса ID заказов начнутся с этого номера.

осторожно

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

Как проверить, что агенты работают корректно​

Перейдите в список агентов: /bitrix/admin/agent_list.php?lang=ru и найдите агенты модуля:

Постоянные агенты (создаются при сохранении настроек модуля):

  • \Rbs\Moysklad\Agent::webhook_tasker_worker() — агент обработки очереди веб-хуков (с версии 3.0.0)
  • \Rbs\Moysklad\Agent::check_module_agents() — следит, чтобы агенты модуля оставались активными
  • \Rbs\Moysklad\Agent::clear_logs() — раз в сутки очищает старые логи модуля
  • \Rbs\Moysklad\Agent::check_orders_from_ms() — агент проверки заказов из МС, если он включён во вкладке «Прочее»

Разовые агенты (ставятся на конкретный заказ и удаляются после выполнения):

  • \Rbs\Moysklad\Agent::createOrderApi(ID) — выгрузка нового заказа из БУС в МС
  • \Rbs\Moysklad\Agent::onSaleOrderEntitySavedDelay(ID) и \Rbs\Moysklad\Agent::onSalePaymentEntitySavedDelay(ID, ID_ОПЛАТЫ) — повторная отправка изменений заказа или оплаты, если при сохранении в БУС она не удалась

Убедитесь, что у постоянных агентов дата следующего запуска обновляется, а разовые агенты не копятся в списке, — это значит, что cron работает.

Как принудительно выгрузить заказ в МС​

Перейдите в командную PHP строку и выполните:

CModule::IncludeModule('rbs.moysklad');
\Rbs\Moysklad\Agent::createOrderApi(1043); // 1043 - ID заказа

Также убедитесь, что в агентах этот заказ не стоит на выгрузку, чтобы избежать двойной обработки.