Консольный импорт в miniShop из 1С

Simple Dream разрешили поделиться очередной работой - импортом товаров через консоль из XML.

Скрипт прожорливый, из-за того, что медленно и качественно работает через процессоры. Результат работы такой же, как если вы сделаете все руками: отработают плагины, правила и проверки.

Он был написан для следующей структуры файла:

<?xml version="1.0" encoding="UTF-8"?>
<корневой ИмяСправочника.Номенклатура="ИП Наумкин В.С.">
    <!--Выгрузка Номенклатуры-->
    <ЭлементСправочника>
        <Группа>Каталог</Группа>
        <ПодГруппа>Категория 2</ПодГруппа>
        <Код>00-000000033</Код>
        <Артикул>xyz-005</Артикул>
        <Наименование>Pagetitle товара 1</Наименование>
        <НаименованиеПолное>Longtitle Товара 2</НаименованиеПолное>
        <ЕдиницаИзмерения>шт.</ЕдиницаИзмерения>
        <Характеристика/>
        <Вес/>
        <Цена>650</Цена>
        <Остаток/>
        <Описание/>
    </ЭлементСправочника>
    <ЭлементСправочника>
        <Группа>Каталог</Группа>
        <ПодГруппа>Категория 1</ПодГруппа>
        <Код>00-00001122</Код>
        <Артикул/>
        <Наименование>Pagetitle товара 2</Наименование>
        <НаименованиеПолное>Longtitle товара 2</НаименованиеПолное>
        <ЕдиницаИзмерения>шт.</ЕдиницаИзмерения>
        <Характеристика/>
        <Вес>1 000</Вес>
        <Цена>5 900</Цена>
        <Остаток>10</Остаток>
        <Описание/>
    </ЭлементСправочника>
</корневой>

Товар импортируется в "ПодГруппа". Если такого ресурса на сайте нет, то предпринимается попытка его создать в "Группа". Если не получается - товар будет пропущен, с ошибкой. Отсюда следует, что категории товаров должны обладать уникальными именами.

Существующие товары обновляются, ключом является pagetitle и parent.

Если остаток Все ошибки пишутся в переменную, а потом отправляются на почту.

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

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

Ссылка на исходный код. Пути прописаны для работы из директории /core/import/

Для работы требуется xml2array.

← Предыдущая заметка
Редирект на ресурс сразу после его создания
Следующая заметка →
Wayfinder и количество документов в контейнере
Комментарии (2)
alex.vakhitovAlex Vakhitov
20.10.2012 09:54

Делал подобную вещь, очень интересно сейчас сравнить логику процесса у вас и у себя

maslitto
11.11.2014 13:39

Где можно найти этот скрипт? Ссылка умерла.

bezumkin
Василий Наумкин
01.06.2023 02:28
Молодец, я очень рад! Мне когда приходится по работе сталкиваться с другими системами - это боль.
inetlover
Александр Наумов
31.05.2023 18:12
Понял, спасибо!
Nurbol Boken
28.05.2023 10:07
Спасибо большое!
futuris
Futuris
26.05.2023 08:05
Можно и так. Главное - варианты есть, если хочешь ковырять VESP). Virtual Box я использовал на дескт...
futuris
Futuris
21.05.2023 14:51
Да, теперь появились! Спасибо за твое терпение!
bezumkin
Василий Наумкин
15.05.2023 06:11
Молодец!
bezumkin
Василий Наумкин
09.05.2023 01:01
Не знаю даже, что ответить. По идее работать должно везде, возможно просто глюк, который лечится пер...
futuris
Futuris
05.05.2023 09:49
Блин, вот оказывается из-за чего! Извини Василий, не было злого умысла!) Я видно уже припарился и ко...
bezumkin
Василий Наумкин
29.04.2023 05:08
Думаю, что не помогут
futuris
Futuris
28.04.2023 14:37
Не то слово!