Удаление элементов или снятие активности при импорте данных из 1С — различия между версиями
Mad grant (обсуждение | вклад) |
Velross (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
[[category:Интеграция с 1С]] | [[category:Интеграция с 1С]] | ||
+ | Актуально для 2.9.6 | ||
+ | |||
+ | ---- | ||
+ | |||
В XSL-Шаблоне импорта xsl/import/commerceML2.xsl, в шаблоне "Товары/Товар", прописан следующий блок: | В XSL-Шаблоне импорта xsl/import/commerceML2.xsl, в шаблоне "Товары/Товар", прописан следующий блок: | ||
<source lang="xml"> | <source lang="xml"> |
Версия 08:42, 22 апреля 2014
Актуально для 2.9.6
В 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>
Если Вы хотите, чтобы товары, помеченные как удаленные, не попадали в корзину, а сразу удалялись из системы, то можете применить решением из статьи Удаление_товаров_из_системы_при_импорте.