Изменение статуса заказа на сайте, на основе реквизитов заказа из 1С
Нередко, возникает задача автоматизации смены статуса заказа на сайте, по данным из 1С, например, когда раннее выгруженный заказ с сайта, был помечен в 1С на удаление или проведен или является теперь оплаченным/отгруженным.
В плагине есть настройки для смены статуса заказа на сайте на основе данных в реквизитах заказа, который 1С ранее получила с сайта, а теперь выгружает заказ обратно на сайт, по причине того, что он был изменен. Конечно же это не будет работать, если выгрузка заказов с сайта в 1С не производится.
Пример данных по реквизитам в содержимом заказа, поступившего из 1С на сайт
Свое поведение смены статуса
Вполне возможно, что вам потребуется какой-то другой вариант смены статуса и по другим данным. В данном случае, можно не выбирать ничего в селектах, только включить обработку изменений статуса и использовать фильтр `itglx_wc1c_handle_order_result_status` (может передать в callback до четырех параметров — текущее значение, массив реквизитов документа, SimpleXml объект узла документа, а также объект заказа на сайте) для реализации своего поведения по статусу.
Предположим, что у документа есть какой-то реквизит «Статус для сайта», который содержит необходимое значение статуса, также предположим, что он содержит уже конкретный код статуса, то есть processing
, pending
и т.д.
В итоге получится следующее (устанавливать статус не нужно, из фильтра ожидается лишь необходимое значение кода статуса, который нужно установить):