Skip to main content

Выгрузка заказов с сайта в 1С

10 июля, 2020 15:29
Просмотров 545
Section background

Как правило, кроме загрузки и обновления каталога на сайте, требуется еще и выгружать заказы с сайта в 1С.

Настройка на со стороны сайта, производится в блоке «Обмен заказами с 1С».

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

Чуть ниже есть информация о том, какие заказы будут выгружены при следующем запросе из 1С, а также есть возможность посмотреть, содержимое, которое будет сформировано для 1С.

Ваша конфигурация может не принимать данные в utf-8, поэтому может потребоваться изменить кодировку, через пункт «Кодировка ответа».

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

Также, может потребоваться исключить из выгрузки заказы в каких-то статусах.

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

Помимо этого, если у товара нет GUID из 1С, то в информацию о товаре автоматически попадут данные об артикуле, если он заполнен.

В узел «Валюта» выгружаемого заказа, по умолчанию записывается валюта первого типа цен или «руб», если данных по типам цен нет. При необходимости, вы можете включить поведение, чтобы значение валюты было получено из данных заказа.

В набор данных по реквизитам заказа, добавляются данные по способу оплаты, способу доставки, адресу доставки, текущему статусу, адресу плательщика и т.д.

Если заказ на сайте находится в статусе «Отменен», то реквизит «Отменен» выгружается со значением «true», а также реквизит «ПометкаУдаления» с аналогичным значением.

Если вам требуется модифицировать набор реквизитов заказа, то вы можете воспользоваться фильтром. Передаются 2 параметра, массив текущих реквизитов, где ключ это имя реквизита, а значение — значение реквизита, а также объект заказа. Ниже пример использования.


add_filter('itglx_wc1c_order_xml_requisites_data_array', function ($requisitesArray, $order) {
    $requisitesArray['Какое-то название реквизита'] = 'Значение этого реквизита';

    // id заказа получается следующим образом - $order->get_id()

    return $requisitesArray;
}, 10, 2);
Поделиться: