Удаление элементов или снятие активности при импорте данных из 1С — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
Строка 17: Строка 17:
 
<xsl:attribute name="is-active">0</xsl:attribute>
 
<xsl:attribute name="is-active">0</xsl:attribute>
 
</pre>
 
</pre>
 +
 +
Если Вы хотите, чтобы товары, помеченные как удаленные, не попадали в корзину, а сразу удалялись из системы, то можете применить решением из статьи [[Удаление_товаров_из_системы_при_импорте]].

Версия 10:07, 8 апреля 2014

В XSL-Шаблоне импорта xsl/import/commerceML2.xsl, в шаблоне "Товары/Товар", прописан следующий блок:

<xsl:if test="Статус = 'Удален'">
  <xsl:attribute name="is-deleted">1</xsl:attribute>
</xsl:if>

данные строки добавляют в узел <page> атрибут is-deleted="1" в том случае, если в системе 1С для какого либо элемента (раздел, номенклатура) была поставлена "Пометка удаления". В итоге, при обработке данных, UMI.CMS помеченный элемент переместит в "Корзину", но он по прежнему будет существовать в системе и при повторном импорте данных, помещенный элемент в корзину будет обновляться. Для полного удаления элемента его необходимо удалить из Корзины.


В некоторых случаях, требуется не удаления элемента в корзину, а изменение его активности, т.е. установления статуса "Не активен". Для этого необходимо весь шаблон "Товары/Товар" скопировать в файл xsl/import/custom/commerceML2.xsl, в корневой узел <stylesheet>. И потом изменить строчку:

<xsl:attribute name="is-deleted">1</xsl:attribute>

на:

<xsl:attribute name="is-active">0</xsl:attribute>

Если Вы хотите, чтобы товары, помеченные как удаленные, не попадали в корзину, а сразу удалялись из системы, то можете применить решением из статьи Удаление_товаров_из_системы_при_импорте.