> For the complete documentation index, see [llms.txt](https://support.morozovpimnev.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.morozovpimnev.ru/megaimport/modifikacii.md).

# Модификации

Для типа файла <mark style="background-color:red;">XML</mark> реализована загрузка модификаций

## Варианты загрузки

### 1. Когда в файле только модификации и из них создаем родительский товар

{% code lineNumbers="true" fullWidth="true" %}

```xml
<!--
    Стандартынй пример Yandex Yml
    shop/offers/offer - путь до товаров -> массив объектов offer
-->
<yml_catalog>
    <shop>
        <offers>
            <offer id="123" group_id="001">
                <name>ПЛАТЬЕ 001</name>
                <param name="Цвет">Чёрный</param>
                <price>2080</price>
                <quantity>8</quantity>
                <vendorCode>А123</vendorCode>
                <picture>https://site.ru/upload/А123.jpg</picture>
                <picture>https://site.ru/upload/А123_2.jpg</picture>
                <description>Платье-туника со спущенным рукавом - простой и комфортный выбор для повседневности.</description>
            </offer>
            <offer id="456" group_id="001">
                <name>ПЛАТЬЕ 001</name>
                <param name="Цвет">Белый</param>
                <price>2080</price>
                <quantity>10</quantity>
                <vendorCode>А456</vendorCode>
                <picture>https://site.ru/upload/А456.jpg</picture>
                <picture>https://site.ru/upload/А456_2.jpg</picture>
                <description>Платье-туника со спущенным рукавом - простой и комфортный выбор для повседневности.</description
            </offer>
        </offers>
    </shop>
<yml_catalog>
```

{% endcode %}

Нужно указать тег/аттрибут по которому будет объединение модификаций, в данном случае это у нас одинаковый аттрибут **@group\_id** его и указываем в сопоставлении полей **@group\_id -> Модификация \[modification]**, у нас сразу появилось поле куда мы будет его записывать, например **mod\_id** (рекмоендуем) (возможные опции: Артикул товара \[marking], Идентификатор товара CommerceML \[guid], Название товара \[name])

Т.к. родительских товаров в файле у нас нет, они будут создаваться из данных, которые имеются у модификаци, например название, описание (которое в модификациях хранить не нужно) и тд, то в соответствии мы укажем какие данные мы берем, чтобы система поняла, что эти данные мы записываем в родитльский товар, нужно отметить галочку <img src="/files/VyLlxgcR2pR3wZ2cddzT" alt="" data-size="original"> **"Для родит. товара"**, далее уже делаем соответствие

<div data-full-width="true"><figure><img src="/files/xI7BJFPDucHs4keMDfml" alt=""><figcaption></figcaption></figure></div>

<mark style="background-color:green;">В зеленом</mark> Как видим, что в (1) блоке у нас все данные для модификаций, в поле **названия товара** мы сделали сложение через "+" имени и цвета для модификации, так же сохранили для модификации цвет в доп. свойство, цену и ее остаток.

<mark style="background-color:blue;">В синем</mark> В блоке (2) данные для родительского товара, тут мы берем только 1 какую то картинку и описание

### 2. Когда в файле есть родительский товар и у него есть вложенность модификаций

<pre class="language-xml" data-line-numbers data-full-width="true"><code class="lang-xml">&#x3C;!--
    Нестандартный пример XML
    shop/offers/offer - путь до товаров -> массив объектов offer
-->
&#x3C;yml_catalog>
    &#x3C;shop>
        &#x3C;offers>
            &#x3C;offer id="001">
                &#x3C;name>ПЛАТЬЕ 001&#x3C;/name>
                &#x3C;price>2080&#x3C;/price>
                &#x3C;vendorCode>А123&#x3C;/vendorCode>
                &#x3C;picture>https://site.ru/upload/А123.jpg&#x3C;/picture>
                &#x3C;picture>https://site.ru/upload/А123_2.jpg&#x3C;/picture>
                &#x3C;description>Платье-туника со спущенным рукавом - простой и комфортный выбор для повседневности.&#x3C;/description>
                &#x3C;variant id="123">
<strong>                    &#x3C;quantity>3&#x3C;/quantity>
</strong>                    &#x3C;barcode>2000000116679&#x3C;/barcode>
                    &#x3C;param name="Размер">48&#x3C;/param>
                &#x3C;/variant>
                &#x3C;variant id="456">
                    &#x3C;quantity>10&#x3C;/quantity>
                    &#x3C;barcode>2000000116686&#x3C;/barcode>
                    &#x3C;param name="Размер">50&#x3C;/param>
                &#x3C;/variant>
            &#x3C;/offer>
        &#x3C;/offers>
    &#x3C;/shop>
&#x3C;yml_catalog>
</code></pre>

Нужно в параметре **"Путь до модификаций внутри товара"** указать **variant**

<div data-full-width="true"><figure><img src="/files/307YA1VH78b3ziQaQ5BB" alt=""><figcaption></figcaption></figure></div>

Нужно указать тег/аттрибут по которому будет объединение модификаций, в данном случае это у нас одинаковый аттрибут **vendorCode** (который находится выше по xml структуре) его и указываем в сопоставлении полей **../vendorCode -> Модификация \[modification]**, у нас сразу появилось поле куда мы будет его записывать, например **mod\_id** (рекмоендуем) (возможные опции: Артикул товара \[marking], Идентификатор товара CommerceML \[guid], Название товара \[name])

Т.к. мы указали путь к модификациям внутри товара, то система будет использовать цикл внутри них, по структуре видно чтобы указать имя у товара, которое находится выше по стурктуре в xpath мы используем `../` (перейти на уровень выше).

После указания соответствия для модификаций, мы сопоставляем данные для род. товара, чтобы система поняла, что эти данные мы записываем в родитльский товар, нужно отметить галочку <img src="/files/VyLlxgcR2pR3wZ2cddzT" alt="" data-size="original"> **"Для родит. товара"**, далее уже делаем соответствие

<div data-full-width="true"><figure><img src="/files/67R2tQdtL6MpNC6DrSmK" alt=""><figcaption></figcaption></figure></div>

<mark style="background-color:green;">В зеленом</mark> Как видим, что в (1) блоке у нас все данные для модификаций, в поле **названия товара** мы сделали сложение через "+" имени и размера для модификации, так же сохранили для модификации размер в доп. свойство, цену, ее остаток и др данные.

<mark style="background-color:blue;">В синем</mark> В блоке (2) данные для родительского товара, тут мы берем все картинки, описание и др данные


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://support.morozovpimnev.ru/megaimport/modifikacii.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
