1
Разработка модулей / Создание опционных свойств товара при выгрузке из 1С
« : 26 Августа 2012, 19:17:28 »
Здравствуйте
Я разрабатываю интернет-магазин на базе UMI-CMS и мне необходимо настроить
интеграцию сайта с 1С Управление торговлей 11. Согласно техническому
заданию товары должны быть заданы в 1С и затем выгружаться на сайт. Я
проанализировал XML-файлы, которые отдает 1С, добавил в шаблон импорта
custom/commerceML2.xsl инструкции для заполнения свойств товара (так как
структура XML, что отдает УТ11 немного отличается от примера в
files/filesToImport/CML2.0/import.xml), но столкнулся со следующей
проблемой:
У нас товар задан как свойствами, так и характеристиками, от которых
зависит цена. Однако в систему UMI-CMS импортируются свойства товара, но
не импортируются характеристики. В документации сказано, что в текущей
версии UMI характеристики не импортируются, однако в дальнейшем они
будут использованы для создания опционных свойств товара. А мне
необходимо использовать их для создания опционных свойств товара уже
сейчас. В XML файле, что приходит с 1С, характеристики выглядят
следующим образом:
<Предложение>
<Ид>ab54bc85-df9b-11e1-82b1-001e8cd2c7e0#ab54bc87-df9b-11e1-82b1-001e8cd2c7e0</Ид>
<Наименование>Conte Prisrige12 (Conte Prestige12 Bronz
(оттенок загара) 3)</Наименование>
<ХарактеристикиТовара>
<ХарактеристикаТовара>
<Наименование>Колготки цвета</Наименование>
<Значение>Bronz (оттенок загара)</Значение>
</ХарактеристикаТовара>
<ХарактеристикаТовара>
<Наименование>Модель</Наименование>
<Значение>Prestige12</Значение>
</ХарактеристикаТовара>
<ХарактеристикаТовара>
<Наименование>Размер</Наименование>
<Значение>3</Значение>
</ХарактеристикаТовара>
<ХарактеристикаТовара>
<Наименование>Бренд</Наименование>
<Значение>Conte</Значение>
</ХарактеристикаТовара>
<ХарактеристикаТовара>
<Наименование>Плотность</Наименование>
<Значение>12</Значение>
</ХарактеристикаТовара>
</ХарактеристикиТовара>
<Цены>
<Цена>
<Представление>250 RUB за шт</Представление>
<ИдТипаЦены>24b66d81-d18f-11e1-9436-001e8cd2c7e0</ИдТипаЦены>
<ЦенаЗаЕдиницу>250.00</ЦенаЗаЕдиницу>
<Валюта>RUB</Валюта>
<Единица>шт</Единица>
<Коэффициент>1</Коэффициент>
</Цена>
</Цены>
<Количество>5</Количество>
</Предложение>
Я добавляю в шаблон импорта следующие инструкции:
<xsl:template match="Предложения/Предложение">
<page id="{substring-before(Ид,'#')}" update-only="1">
<properties>
<group name="optioned_properties" title="Опционные
свойства">
<property name="Характеристики" type="optioned"
multiple="multiple" is-public="1" visible="visible" allow-runtime-add="1">
<type data-type="optioned" />
<title>Характеристики</title>
<value>
<option int="{Количество}"
float="{Цены/Цена/ЦенаЗаЕдиницу}">
<object name="{Наименование}"
data-type="relation" allow-runtime-add="1">
<properties>
<xsl:apply-templates
select="ХарактеристикиТовара/ХарактеристикаТовара" />
</properties>
</object>
</option>
</value>
</property>
</group>
</properties>
</page>
</xsl:template>
<xsl:template match="ХарактеристикиТовара/ХарактеристикаТовара">
<properties>
<property name="{Наименование}" type="string" is-public="1"
visible="visible" allow-runtime-add="1">
<type data-type="string" />
<title><xsl:value-of select="Наименование" /></title>
<value><xsl:value-of select="Значение" /></value>
</property>
</properties>
</xsl:template>
В результате опционное свойство создается, но оно не задано, справочник
для поля Характеристики создается, но он оказывается пустым, сами
характеристики никуда не добавляются. Кто может помочь или подсказать с
шаблоном
импорта, чтобы на сайт могли импортироваться опционные свойства товара?
Или где мне можно посмотреть пример добавления опционных свойств?
Я разрабатываю интернет-магазин на базе UMI-CMS и мне необходимо настроить
интеграцию сайта с 1С Управление торговлей 11. Согласно техническому
заданию товары должны быть заданы в 1С и затем выгружаться на сайт. Я
проанализировал XML-файлы, которые отдает 1С, добавил в шаблон импорта
custom/commerceML2.xsl инструкции для заполнения свойств товара (так как
структура XML, что отдает УТ11 немного отличается от примера в
files/filesToImport/CML2.0/import.xml), но столкнулся со следующей
проблемой:
У нас товар задан как свойствами, так и характеристиками, от которых
зависит цена. Однако в систему UMI-CMS импортируются свойства товара, но
не импортируются характеристики. В документации сказано, что в текущей
версии UMI характеристики не импортируются, однако в дальнейшем они
будут использованы для создания опционных свойств товара. А мне
необходимо использовать их для создания опционных свойств товара уже
сейчас. В XML файле, что приходит с 1С, характеристики выглядят
следующим образом:
<Предложение>
<Ид>ab54bc85-df9b-11e1-82b1-001e8cd2c7e0#ab54bc87-df9b-11e1-82b1-001e8cd2c7e0</Ид>
<Наименование>Conte Prisrige12 (Conte Prestige12 Bronz
(оттенок загара) 3)</Наименование>
<ХарактеристикиТовара>
<ХарактеристикаТовара>
<Наименование>Колготки цвета</Наименование>
<Значение>Bronz (оттенок загара)</Значение>
</ХарактеристикаТовара>
<ХарактеристикаТовара>
<Наименование>Модель</Наименование>
<Значение>Prestige12</Значение>
</ХарактеристикаТовара>
<ХарактеристикаТовара>
<Наименование>Размер</Наименование>
<Значение>3</Значение>
</ХарактеристикаТовара>
<ХарактеристикаТовара>
<Наименование>Бренд</Наименование>
<Значение>Conte</Значение>
</ХарактеристикаТовара>
<ХарактеристикаТовара>
<Наименование>Плотность</Наименование>
<Значение>12</Значение>
</ХарактеристикаТовара>
</ХарактеристикиТовара>
<Цены>
<Цена>
<Представление>250 RUB за шт</Представление>
<ИдТипаЦены>24b66d81-d18f-11e1-9436-001e8cd2c7e0</ИдТипаЦены>
<ЦенаЗаЕдиницу>250.00</ЦенаЗаЕдиницу>
<Валюта>RUB</Валюта>
<Единица>шт</Единица>
<Коэффициент>1</Коэффициент>
</Цена>
</Цены>
<Количество>5</Количество>
</Предложение>
Я добавляю в шаблон импорта следующие инструкции:
<xsl:template match="Предложения/Предложение">
<page id="{substring-before(Ид,'#')}" update-only="1">
<properties>
<group name="optioned_properties" title="Опционные
свойства">
<property name="Характеристики" type="optioned"
multiple="multiple" is-public="1" visible="visible" allow-runtime-add="1">
<type data-type="optioned" />
<title>Характеристики</title>
<value>
<option int="{Количество}"
float="{Цены/Цена/ЦенаЗаЕдиницу}">
<object name="{Наименование}"
data-type="relation" allow-runtime-add="1">
<properties>
<xsl:apply-templates
select="ХарактеристикиТовара/ХарактеристикаТовара" />
</properties>
</object>
</option>
</value>
</property>
</group>
</properties>
</page>
</xsl:template>
<xsl:template match="ХарактеристикиТовара/ХарактеристикаТовара">
<properties>
<property name="{Наименование}" type="string" is-public="1"
visible="visible" allow-runtime-add="1">
<type data-type="string" />
<title><xsl:value-of select="Наименование" /></title>
<value><xsl:value-of select="Значение" /></value>
</property>
</properties>
</xsl:template>
В результате опционное свойство создается, но оно не задано, справочник
для поля Характеристики создается, но он оказывается пустым, сами
характеристики никуда не добавляются. Кто может помочь или подсказать с
шаблоном
импорта, чтобы на сайт могли импортироваться опционные свойства товара?
Или где мне можно посмотреть пример добавления опционных свойств?