Обработку предоставляю как собственные наработки. Обработка предназначена для разработчиков. Конфигурация УТ 10.3 (10.3.57.1)
КАК БЫЛО РАНЬШЕ:
Сайт сделал сам. При создании сайта была задача выгрузки товаров на сайт и загрузки заказов с сайта в 1С. Для решения этих задач использовал плагин "WP All Import/Export", платные версии, так как в бесплатной версии можно было выгружать только простой товар, то есть без характеристик, а у нас товары с характеристиками. Товар очки - сонцезащитные, медицинские. Характеристики идут по цветам.
Была создана обработка для 1С, которая выгружает товары в Excel с нужными полями, затем из Excel идет загрузка на сайт. Заказы, сделанные на сайте, экспортировались в Excel, а затем уже другой обработкой загружались в ЗаказПокупателя в базу 1С.
Слишком сложный процесс загрузки и обновления товаров, а также экспорт заказов и загрузка в 1С. Много накладок и нюансов надо учитывать.
В данный момент реализована загрузка заказов. Сейчас реализую обновление товаров - почти готово, далее загрузка товаров из 1С на сайт.
У меня нет опыта программирования в 1С, я только начинаю изучаю программный язык 1С.
Обработка делает GET запрос к сайту, используя REST API Woocommerce.
REST API Woocommerce - позволяет читать и записывать различные части данных WooCommerce, такие как заказы, продукты, купоны, клиенты и зоны доставки. В ответ от сайта приходит JSON.
В интерфейсе обработки пользователю надо только указать номер заказа. Будет создан GET-запрос к сайту, конечный URL выглядит так "https://ВашСайт/wp-json/wc/v3/orders/<ID-заказа>", далее будет обработан JSON-ответ и создан ЗаказПокупателя с товарами и комментарием с номером заказа на сайте.
Для корректной работы потребуется настроить аутентификацию на стороне сайта. Для понимания аутентификации можно почитать здесь https://wp-kama.ru/handbook/rest/basic/authentication. Аутентификацию можно включить в настройках REST Woocommerce, но мне не удалось ее применить.
Аутентификация настраивается с помощью установки плагина Advanced Access Manager (ААМ). Большое спасибо автору этой статьи //infostart.ru/public/1133794/ - авторизация настраивается как там описано. Главное надо получить токен для пользователя и указать его в коде обработки в переменную Токен.
Без авторизации в ответе от сайта будет приходить ошибка 401 - Ошибка доступа.
Товар на сайт был загружен из Excel, наименование товара на сайте формируется из сложения полей Артикул + ЗначениеХарактеристики. Также я выгрузил код товара из 1С в дополнительные атрибуты товара, что облегчило в дальнейшем поиск товара в базе 1С
В функции создания заказ жестко прописано название атрибута характеристики на сайте "tsvet", а так же при поиске соответствующей характеристики указана строка "Цвет: ", так как во всех характеристиках в базе 1С присутствует этот текст, а на сайт выгружен без него.
В обработке реализовано получение товара с сайта и заполнение табличной части обработки. После заполнения табличной части заполняется колонка остатки из базы 1С. В дальнейшем можно будет добавить колонку с ценой. А также реализовать отправку этих данных на сайт для обновления цены и остатков на сайте.
При получении товаров с сайта необходимо учесть один момент - это страницы пагинации и ограничение на получение товаров в Woocommerce. За один запрос можно получить только 100 товаров и товары всегда получаются с первой страницы. Если необходимо получить товары после первой сотни тогда необходимо изменить переменную СтраницыПагинации.
СтраницыПагинации = 1; // страница с которой начинаем получать товар
Версия WordPress 5.4
Версия PHP 7.2.7
MySQL 8.0.19
1C 8.3.16.1063.