@ssrdop

Выгрузка 1с по стандарту СommerceMl2 как это понимать?

Необходимо реализовать выгрузку на сайт из 1с. Читаю доку v8.1c.ru/edi/edi_stnd/131
и сразу не понятны 2 момента:
C. Выгрузка на сайт файлов обмена
Затем "1С:Предприятие" запросами с параметрами вида
http://<сайт>/<путь> /1c_exchange.php?type=catalog&mode=file&filename=<имя файла>
выгружает на сайт файлы обмена в формате CommerceML 2, посылая содержимое файла или его части в виде POST.

В случае успешной записи файла система управления сайтом выдает строку "success".


То есть на этом шаге сам CommerceML 2 выгружается и все (частями или целиком), больше ничего не выгружается?


D. Пошаговая загрузка данных
На последнем шаге по запросу из "1С:Предприятия" производится пошаговая загрузка данных по запросу с параметрами вида http://<сайт>/<путь> /1c_exchange.php?type=catalog&mode=import&filename=<имя файла>

Во время загрузки система управления сайтом может отвечать в одном из следующих вариантов.

1. Если в первой строке содержится слово "progress" - это означает необходимость послать тот же запрос еще раз. В этом случае во второй строке будет возвращен текущий статус обработки, объем загруженных данных, статус импорта и т.д.

2. Если в ответ передается строка со словом "success", то это будет означать сообщение об успешном окончании обработки файла.


Это вообще угар. "производится пошаговая загрузка данных". Каких данных? для чего они? к чему относятся?

Поясните, пожалуйста, эти 2 пункта, а то документация очень хорошая.
  • Вопрос задан
  • 4830 просмотров
Решения вопроса 1
Maksclub
@Maksclub Куратор тега PHP
maksfedorov.ru
О формате
Тут передаются изображения или иные файлы? Какого они рода?

  • Из 1С передаются 2 файла: import.xml и offers.xml
  • а также картинки, как правило в эту же папку на сервере, куда грузятся и 2 файла с инфой

import.xml — данные с товарами, категориями, свойствами товаров
Пример import.xml
<?xml version="1.0" encoding="UTF-8"?>
<КоммерческаяИнформация ВерсияСхемы="2.03" ДатаФормирования="2018-01-23">
	<Классификатор>
		<Ид>2460763d-004d-11df-8b40-001a4bb12848</Ид>
		<Наименование>Классификатор (Каталог товаров)</Наименование>
		<ТипВыгрузки>ПолнаяВыгрузка</ТипВыгрузки>
		<Группы>
			<Группа>
				<Ид>8f55ea2c-1062-11e7-bdde-00155d007103</Ид>
				<Наименование>Joggy</Наименование>
				<Группы>
					<Группа>
						<Ид>76d5e03d-12c4-11e7-bdde-00155d007103</Ид>
						<Наименование>Рубашки</Наименование>
					</Группа>
					<Группа>
						<Ид>221c4591-9f47-11e7-8d7f-00155d007103</Ид>
						<Наименование>Толстовки</Наименование>
					</Группа>
					<Группа>
						<Ид>8f55ea2d-1062-11e7-bdde-00155d007103</Ид>
						<Наименование>Футболки</Наименование>
					</Группа>
				</Группы>
			</Группа>

		</Группы>
		<Свойства>
			<СвойствоНоменклатуры>
				<Ид>0734a3e9-005f-11df-8b40-001a4bb12848</Ид>
				<Наименование>Страна</Наименование>
				<Обязательное>false</Обязательное>
				<Множественное>false</Множественное>
				<ИспользованиеСвойства>true</ИспользованиеСвойства>
			</СвойствоНоменклатуры>
		</Свойства>
	</Классификатор>
	<Каталог>
		<Ид>2460763d-004d-11df-8b40-001a4bb12848</Ид>
		<ИдКлассификатора>2460763d-004d-11df-8b40-001a4bb12848</ИдКлассификатора>
		<Наименование>Каталог товаров</Наименование>
		<Товары>
			<Товар>
				<Ид>6a9f6996-ba02-11e7-9302-00155d007103#f14f4d23-baec-11e7-a79a-00155d007103</Ид>
				<ШтрихКод>2000000848112</ШтрихКод>
				<Артикул>049794</Артикул>
				<ДатаСоздания>1508889600</ДатаСоздания>
				<Наименование>ADSERY2 Джинсы 6225 (32-42/*7) женщинам</Наименование>
				<КоличествоВПачке>7</КоличествоВПачке>
				<БазоваяЕдиница Код="796" НаименованиеПолное="Штука" МеждународноеСокращение="PCE">шт</БазоваяЕдиница>
				<ХарактеристикиТовара>
					<ХарактеристикаТовара>
						<Наименование>Размер</Наименование>
						<Значение>33</Значение>
					</ХарактеристикаТовара>
					<ХарактеристикаТовара>
						<Наименование>Рост</Наименование>
						<Значение>32</Значение>
					</ХарактеристикаТовара>
				</ХарактеристикиТовара>
				<ЗначенияРеквизитов>
					<ЗначениеРеквизита>
						<Наименование>ВидНоменклатуры</Наименование>
						<Значение>Товар</Значение>
					</ЗначениеРеквизита>
					<ЗначениеРеквизита>
						<Наименование>ТипНоменклатуры</Наименование>
						<Значение>Товар</Значение>
					</ЗначениеРеквизита>
					<ЗначениеРеквизита>
						<Наименование>Полное наименование</Наименование>
						<Значение>Джинсы 6225 (32-42/*7) женщинам</Значение>
					</ЗначениеРеквизита>
				</ЗначенияРеквизитов>
				<Группы>
					<Ид>6a9f6995-ba02-11e7-9302-00155d007103</Ид>
				</Группы>
				<Описание>Утепленные джинсы актуального зауженного покроя. Декор в виде легких потертостей и строчки.</Описание>
				<ЗначенияСвойств>
					<ЗначенияСвойства>
						<Ид>0734a3e9-005f-11df-8b40-001a4bb12848</Ид>
						<Значение>Китай</Значение>
					</ЗначенияСвойства>
					<ЗначенияСвойства>
						<Ид>074bce28-004f-11e8-9d7b-00155d007103</Ид>
						<Значение>ADSERY2</Значение>
					</ЗначенияСвойства>
				</ЗначенияСвойств>
			</Товар>
		</Товары>

	</Каталог>


offers.xml — предложения (размеры, цвета, варианты и прочее с ценой и остатком) для товаров из предыдущего файла
Пример offers.xml
<?xml version="1.0" encoding="UTF-8"?>
<КоммерческаяИнформация ВерсияСхемы="2.03" ДатаФормирования="2018-01-23">
	<ПакетПредложений>
		<Ид>2460763d-004d-11df-8b40-001a4bb12848#</Ид>
		<Наименование>Пакет предложений</Наименование>
		<ИдКаталога>2460763d-004d-11df-8b40-001a4bb12848</ИдКаталога>
		<ИдКлассификатора>2460763d-004d-11df-8b40-001a4bb12848</ИдКлассификатора>
		<ТипыЦен>
			<ТипЦены>
				<Ид>995aa9b6-19f8-11df-bb4e-001a4bb12848</Ид>
				<Наименование>Розничные</Наименование>
				<Валюта>руб.</Валюта>
				<Налог>
					<Наименование>НДС</Наименование>
					<УчтеноВСумме>false</УчтеноВСумме>
				</Налог>
			</ТипЦены>
		</ТипыЦен>
		<Предложения>
			<Предложение>
				<Ид>2b478218-df7b-11e5-baeb-00155d007103</Ид>
				<ШтрихКод>2000000694153</ШтрихКод>
				<Артикул>030067</Артикул>
				<ДатаСоздания>1483228800</ДатаСоздания>
				<Наименование>98 CM Дж. L-7061 (25-30/*6) жен.</Наименование>
				<КоличествоВПачке>6</КоличествоВПачке>
				<БазоваяЕдиница Код="796" НаименованиеПолное="Штука" МеждународноеСокращение="PCE">шт</БазоваяЕдиница>
				<Цены>
					<ХарактеристикиТовара>
						<ХарактеристикаТовара/>
					</ХарактеристикиТовара>
					<Цена>
						<Представление>2 590 руб. за шт</Представление>
						<ИдТипаЦены>995aa9b6-19f8-11df-bb4e-001a4bb12848</ИдТипаЦены>
						<ЦенаЗаЕдиницу>2590</ЦенаЗаЕдиницу>
						<Валюта>руб</Валюта>
						<Единица>шт</Единица>
						<Коэффициент>1</Коэффициент>
					</Цена>
				</Цены>
				<Количество>0</Количество>
			</Предложение>




Готовый код
ситуация, что вручную обработку этого файла придется писать

https://github.com/ArtemsWay/commerceml
https://github.com/gillbeits/commerceml

Я правда не пользовалмя этими решениями и работаю со штатным решением в одной из CMS — вам оно не подойдет, тк там дергаются методы ядра движка и запросы под определенную структуру БД
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы