sit 31 августа 2015 0 12
Добрый день!

Требуется сделать выгрузку данных по товарам из 1С в Интернет-магазин на базе ShopModx с помощью собственноручно написанного кода PHP. Постараюсь подробно расписать всю сложившуюся ситуацию.

Имеются следующие исходные данные:

1). Работающий магазин с автоматизацией на 1С версии 8.1 и прикрученным к нему модулем «Управление торговлей» версии 10.3.
2). Не устраивающий нас уровень продаж и желание их увеличить благодаря использованию Интернет-магазина. Учитывая, что не все товары из базы 1С должны быть доступны для заказа через WEB-сайт, публиковаться должны только те товары, которые имеют запись в дополнительном тэге пометку «ИМ» (сокращённо от «Интернет-магазин»).
3). Ещё нам не требуется отображение остатков на складе в реальном режиме времени, нас вполне устраивает выгрузка по ассортименту и наличию товаров 1 раз в день (пока решили так).
4). В целях безопасности и сохранения целостности данных недопустимо воздействие на 1С со стороны WEB-сервера. Допускается только выгрузка базы 1С средствами самой 1С.

Изучив описание к Вашему компонента ShopModx1C, я так понял — он как-то напрямую работает с 1С используя родной 1С-овский механизм, что не совсем подходит для нас.
.
Поэтому, мы пошли другим путём:
В 1С имеется функция экспорта данных для WEB-сайта в XML-файл, при создании которого есть возможность дополнительно задавать условия выгрузки. В нашем случае, указав условие наличия значения «ИМ» для товаров, подлежащих выгрузке, получаем на выходе нужный нам файл XML.

Выгрузка настроена сейчас на 1 раз в день в 20:00. Количество экспортируемых полей для каждого товара — не более 10, в том числе уникальный идентификационный номер для каждого товара, присваемого нами внутри базы 1С.
Создание XML-файла и запись его на WEB-сервер по времени сейчас занимает максимум 1-2 минуты.

На PHP написан код, который регулярно в 20:05 вызывается и считывает содержимое необходимых полей из XML-файла.
.

ВОПРОС:
Сейчас проблема встала в корректной работе с товарами, а именно, требуется:
1). Создание/удаление/изменение/коррекция подгруппы товаров
2). Создание/удаление/изменение/коррекция товаров
Хотелось бы это делать с помощью php-кода, запускаемого на WEB-сервере.
Есть правильно распознанные данные о товарах с помощью PHP.
Подскажите, какие у нас есть варианты?
12 комментариев
Fi1osof1
Fi1osof 31 августа 2015г в 06:18 #
Изучив описание к Вашему компонента ShopModx1C, я так понял — он как-то напрямую работает с 1С используя родной 1С-овский механизм, что не совсем подходит для нас.
Вы неправильно поняли. Выгружает 1С на сайт, а не сайт работает с 1С. И если вы формируете выгрузку на стороне 1С со своими условиями, в результате чего формируется XML, тот же самый XML и на сайт выгружался бы.

Подскажите, какие у нас есть варианты?
Либо писать свой код с нуля, как вы уже начали делать. Либо допиливать под себя ShopModx1C. Либо еще что-то придумать. У меня нет никакого другого готового рецепта для вас.
s
sit 31 августа 2015г в 06:42 #
Модуль ShopModx1C позволяет импортировать XML-файл в ShopModx?
proxyfabio1
proxyfabio 31 августа 2015г в 10:25 #
Да
Н
Наталия Ковалёва 04 апреля 2016г в 16:56 #
Доброго дня! а каким образом можно импортировать XML-файл (или где прописать путь к этому файлу) и запустить shopmodx1c на синхронизацию?
Настройки прописала. файлик положила на место core/components/shopmodx1c/import_files/import.xml. Пытаюсь запустить процессор в консоли
<?php

$action = '1c/web/exchange/catalog/import';
$ns = 'shopmodx1c';

if(!$response = $modx->runProcessor($action,
    array(
    'processors_path' => $ns ? $modx->getObject('modNamespace', $ns)->getCorePath().'processors/' : null,
))){
    print "Не удалось выполнить процессор";
    return;
}


но пишет ошибку
[2016-04-04 17:35:46] (ERROR @ /manager/components/console/connectors/console.php)
Processor /var/www/u0083109/data/www/dishes.nlgplus.com/core/model/modx/processors/1c/web/exchange/catalog/import.php does not exist; Array
(
)
Не удалось выполнить процессор

что не так делаю? Заранее спасибо
Fi1osof1
Fi1osof 04 апреля 2016г в 17:17 #
Наталья, shopmodx1C уже не актуальный пакет. Советую посмотреть modImporter. Я пока не написал отдельной статьи здесь, но информация есть вот здесь: modstore.pro/packages/import-and-export/modimporter
Можно купить подписку здесь за 5000 рублей, плюс к этому будет еще наших два-три часа на персональную помощь, то есть этого бюджета может хватить на настройку вам импорта, если у вас там ничего нестандартного нет.
s
sit 31 августа 2015г в 11:42 #
Нашёл shopModx1C через выпадающее в админке меню «Приложения», пункт «Установщик». Затем, кнопка «Загрузить дополнения», выбрал в дереве каталогов «Extras\E-Commerce», shopModx1C.
.
Админка предлагает загрузить shopModx1C бета версию 1.0.0 от 20 апреля 2014 г.
Это актуальная сборка?
Fi1osof1
Fi1osof 31 августа 2015г в 17:54 #
Да, актуальная.
В главное меню добавил Центр загрузок, там всегда можно посмотреть актуальные пакеты. А лучше просто добавляйте наш репозиторий и все (в Центре загрузок показано как это делать).
s
sit 31 августа 2015г в 19:26 #
Ок, спасибо, сейчас буду пробовать тогда его.
И ещё отдельно хочется сказать спасибо вам за мгновенные в большинстве случаев ответы! :)
PS: Если есть какой-то мануал, хелп или хоть какое-то описание по подключению ShopModx1C — ткните ссылкой плиз
s
sit 03 сентября 2015г в 11:35 #
Сглазил видимо… долго нет ответа…
Fi1osof1
Fi1osof 03 сентября 2015г в 11:53 #
Сорри, не видел вашего коммента. Он у вас затесался как раз среди кучи комментов после оновления сайта Клуба.
Особого мануала нет, только что здесь описано modxclub.ru/blog/vehicles/353.html
s
sit 15 сентября 2015г в 10:07 #
Добрый день! Вопрос помануалу, указанному тут: modxclub.ru/blog/vehicles/353.html
Залез в «Настройки системы», поставил фильтр shopmodx1c, указал номера шаблонов для категории, товара, image.


Настройка shopmodx1c

Не совсем понятно что делать с «shopmodx1c.article_tv». Надо переименовать «exchange_rate(10)» или нужно создать дополнительное поле «1cArticle(10)»?
Fi1osof1
Fi1osof 15 сентября 2015г в 13:35 #
Нет, shopmodx1c.article_tv — это ТВшка, в которой будет храниться артикулы категорий и товаров из самого 1С. Следует ее создать (стандартную текстовую) и сделать доступной для шаблонов категорий и товаров, а в настройках прописать ее id.
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.