1С выгрузка товаров в xml
Процесс обмена
1С инициализирует запуск файла ваш_домен/app/addons/rus_exim_1c/exim_1c.php .
1С формирует и передает файлы с данными о товарах в папку ваш_домен/var/exim/1C_ТекущаяДата вашего интернет-магазина.
1С выгружает в интернет-магазин файлы:
Тип данных | Название файла | Расположение файла |
---|---|---|
Данные товаров | import.xml | /var/exim/1C_ТекущаяДата/import.xml |
Цены товаров | offers.xml | /var/exim/1C_ТекущаяДата/offers.xml |
Изображения номенклатуры | *.jpg , *.jpеg , *.png | /var/exim/1C_ТекущаяДата/import_files/ |
1С отправляет запрос на обработку import.xml .
- Обрабатывается и сохраняется в базу данных основная информация о товарах.
- Изображения прикрепляются к товарам и копируются в папку /images .
1С запускает обработку offers.xml .
На данном шаге обновляются:
Идентификация (соответствие) данных между 1С и CS-Cart производится:
С помощью тега (в файле 1С) и external_id (в базе данных CS-Cart).
По наименованию (при поиске категорий и характеристик в базе данных Multi-Vendor).
Обработка на стороне интернет-магазина
Обработку данных на стороне интернет-магазина выполняют файлы модуля “Обмен данными с 1С”.
ваш_домен/app/addons/rus_exim_1c/exim_1c.php | обрабатывает запросы от 1С и подключает функции для обработки |
ваш_домен/app/addons/rus_exim_1c/func.php | содержит функции обработки и загрузки данных. |
Авторизация и загрузка файлов
Загрузка файлов import.xml и offers.xml начинается с того, что система “1С:Предприятие” отправляет запрос:
Параметры type и mode определяют какой код будет выполнен.
Выполняется авторизация и интернет-магазин передает системе “1С:Предприятие”:
- success — означающая успешность соединения.
- Имя Cookie.
- Значение Cookie.
Дальнейшие запросы к интернет-магазину со стороны “1С:Предприятия” будут содержать имя и значение Cookie. Обработка файлов происходит последовательно.
Обработка import.xml
1C отправляет в интернет-магазин запрос, для начала обработки import.xml :
Выполняется пошаговая загрузка данных:
- Категорий — функция fn_exim_1c_import_categories
- Свойства товара — функция fn_exim_1c_collect_features
- Товары — функция fn_exim_1c_import_products
Обработка offers.xml
После обработки файла import.xml , осуществляется обработка файла offers.xml , по запросу со стороны 1С:
Обработка данных из файла offers.xml производится с помощью функции fn_exim_1c_import_offers файла func.php.
Результат
В случае успешной загрузки данных 1С передает строку со словом success . Если что то пошло не так, то 1С передаст failure .
Если возникла ошибка
Проверьте правильность ввода логина и пароля.
Проверьте содержит ли папка ваш_домен/var/exim/1С_ТекущаяДата файлы import.xml и offers.xml .
Проверьте имя папки 1С_ТекущаяДата .
ТекущаяДата должна соответствовать текущей дате.
Попробуйте очистить файлы cookie.
Описание ошибки передается в журнал выгрузки 1С.
После обмена сформированные файлы с данными из 1С сохранятся в папке: ваш_домен/var/exim/1С_ТекущаяДата
Примеры файлов можно скачать по ссылкам:
Пример модификации
Если в процессе работы с модулем необходимо внести какие-либо изменения или добавить новые функции, то все изменения вносятся в файлы папки /app/addons/rus_exim_1c/ .
Задача
Добавить настройку, которая позволит выбрать параметр из файла import.xml . Параметр будет добавлен в поле товара “Название страницы”.
- Не импортировать — означает, что при загрузке файлов в поле “Название страницы” данные записываться не будут.
- Наименование — означает, что при загрузке файлов в поле “Название страницы” будет записываться данные файла import.xml тега .
- Полное наименование — означает, что при загрузке файлов в поле “Название страницы” будет записываться данные файла import.xml тега .
Решение
Откройте файл /app/addons/rus_exim_1c/addon.xml .
В открывшийся файл добавьте код настройки, позволяющая выбрать значение записываемое в поле товара “Название страницы”.
Для записи значения в поле товара “Название страницы” откройте файл /app/addons/rus_exim_1c/func.php .
Найдите функцию fn_exim_1c_import_products в файле func.php (функция вызывается из файла exim_1c.php).
Найдите цикл перебора товаров и добавьте код для записи значения в поле товара “Название страницы”, в зависимости от выбранной настройки “Использовать в названии страницы” модуля “Русская локализация — Экспорт, импорт 1С”.
Для просмотра значений переменных и массивов используйте функцию fn_print_r($array). Функция выведет в браузер значения переменных и массивов в удобном виде. В функцию можно передавать несколько переменных и массивов через запятую.
Обращение к тегам осуществляется через переменную $xml->ИмяТега. Например, $xml->Товары->Товар — обращение к тегу Товар.
Тестирование и разработка без 1С
Запуск обработки файлов import.xml , offers.xml можно осуществлять через браузер с помощью запроса в адресной строке.
Тем самым Вы можете выполнять модификации и разработку без использования 1С.
Загрузите файлы import.xml и offers.xml в папку интернет-магазина:
ТекущаяДата — формате ДДММГГГГ.
Примеры файлов можно скачать по ссылкам:
Тестирование файла import.xml
Для тестирование файла import.xml в адресной строке браузера введите: ваш_домен/app/addons/rus_exim_1c/exim_1c.php?type=catalog&mode=import&filename=import.xml
Появиться окно авторизации в котором необходимо ввести имя пользователя интернет-магазина с правами администратора и его пароль.
После загрузки всех данных в окне браузера отобразиться слово означающее окончание обработки файла:
- success — означает успешное окончание обработки файла.
- failure — означает, что в процессе загрузки файла произошла ошибка.
Для просмотра значения какой-либо переменной используйте функцию fn_print_r() .
Например, добавьте fn_print_r($_product) в функцию fn_exim_1c_import_products.
Зайдите в браузер и наберите: ваш_домен/app/addons/rus_exim_1c/exim_1c.php?type=catalog&mode=import&filename=import.xml
В окне браузера должно появиться значения переменной $_product .
Тестирование файла offers.xml
Для загрузки и обработки файла offers.xml введите в браузере: ваш_домен/app/addons/rus_exim_1c/exim_1c.php?type=catalog&mode=import&filename=offers.xml
После загрузки всех данных в окне браузера отобразиться слово означающее окончание обработки файла:
Результат тестирования
После обмена данными, можно посмотреть данные загруженные в интернет магазин:
- Данные категорий — “Меню Товары — Категории”.
- Данные о товарах и их ценах — “Меню Товары — Товары”.
Статьи по теме
Формат XML используют как универсальное средство для обмена различными данными. Например, его применяют при обмене информацией между разными конфигурациями 1С. Как в программе 1С 8.3 сделать выгрузку и загрузку данных XML читайте эту инструкцию.
Обмен основными данными между конфигурациями 1С 8.3 ( Зарплата и управление персоналом , Бухгалтерия предприятия, Управление торговлей и т.д.) встроен в типовой функционал 1С.
Кроме этого есть другие инструменты для переноса информации, например технологическая конфигурация «1С:Конвертация данных», ее используют для обмена между разными платформами 1С.
Данные из табличных документов Эксель также можно загрузить с помощью специальной обработки .
В нашей статье расскажем про универсальную обработку – «Выгрузка и загрузка данных XML». Она предназначена для обмена между родственными конфигурациями 1С. С ее помощью выгружают и загружают различные справочники, документы и другие данные.
Далее читайте подробную инструкцию, как в 1С выгрузить и загрузить данные xml.
Быстрый перенос бухгалтерии в БухСофт
Выгрузите данные из 1С 8.3 в файл XML
Скачайте здесь обработку «Выгрузка и загрузка данных XML». Также ее можно скачать с официального сайта 1С. Запустите обработку с помощью команды «Открыть» (1).
В окне обработки 1С 8.3 укажите объекты для выгрузки, например:
- Константы;
- Справочники;
- Документы;
- Регистры сведений;
- Регистры накоплений.
Выгружаемые данные отметьте галочкой (2). В правой части окна есть поле «Выгружать при необходимости» (3), по умолчанию в нем помечены все объекты — это позволяет обеспечивать целостность связанных данных при выгрузке. В поле «Период выгрузки» (4) укажите начальную и конечную дату периода. В поле «Отбор для периодических регистров» (5) выберете одно из четырех значений:
- Отбор за период;
- Срез последних на дату окончания;
- Срез первых на дату начала;
- Срез последних на дату начала + изменения за период.
В 1С 8.3 есть два способа выгрузки данных xml: на свой компьютер (6) и на сервер (7). При выгрузке на компьютер сначала формируется файл xml, затем указывают, куда его сохранить. При варианте «В файл на сервере» нужно сначала указать место на диске (8).
Выгрузку и загрузку xml данных в 1С 8.3 можно сделать в специальном формате Fast InfoSet, для этого надо поставить флажок в поле «В формате FastInfoSet» (9). Этот формат создан как альтернатива XML-документу, в нем данные передаются в сжатом виде. Файлы такого формата имеют меньший размер и быстрей обрабатываются.
После установки необходимых параметров в окне выгрузки 1С 8.3 нажмите кнопку «Выгрузить данные» (10).
После успешной выгрузки данных xml в 1С внизу окна появится сообщение о количестве выгруженных объектов и завершении операции (11). В открывшемся окне нажмите кнопку «Сохранить» (12) и выберете место на диске для данных xml. В дальнейшем сохраненный файл будет использован для загрузки информации в новую базу 1С 8.3.
Загрузите данные XML в 1С 8.3
Откройте новую базу 1С 8.3, в которую хотите загрузить данные. Откройте в ней обработку «Выгрузка и загрузка данных XML» через верхнее меню командами «Файл» и «Открыть», как делали при выгрузке данных. В окне обработки зайдите во вкладку «Загрузка» (1) и нажмите кнопку «Загрузить данные» (2). Откроется окно для выбора файла.
В открывшемся окне выберете файл с данными xml (3) и нажмите кнопку «Открыть» (4). Данные будут загружены в новую базу.
Проверьте справочник, в который добавлена информация с помощью выгрузки загрузки xml. В нашем примере это «Контрагенты». Зайдем в раздел 1С 8.3 «Справочники» (5) и кликнем на ссылку «Контрагенты» (6). В открывшемся окне проверяем появилась ли в справочнике новая информация.
Это обработка для программ 1С 8.2. В чем отличие 1С 8.2 и 8.3 и какая у вас? — читайте в статье.
Существует аналогичная обработка для 1С 8.3: Выгрузка реализации в XML 1С 8.3
Обработка «Выгрузка реализации в XML 1С 8.2» является примером выгрузки любого документа вида «Реализация товаров и услуг» в конфигурациях 1С 8.2 в файл формата «XML». Обработка имеет простой открытый код, который можно легко изменить/доработать под нужды вашей задачи связанной с выгрузкой данных из 1С 8.2 (на обычных формах) в файл вида *.XML
Помимо выгрузки XML, обработка выгружает изображения номенклатуры в каталог с XML файлом (вы можете убрать эту возможность, отредактировав код обработки).
Как пользоваться: Ниже представлено видео с примером использования обработки.