# Экспорт товаров в RetailCRM через ICML

Формат ICML является расширением формата YML. Он позволяет выгружать техническую информацию о товарах в систему (ID и XML ID товаров, информация об остатках), а также сложную структуру каталогов с торговыми предложениями (SKU).

Для формирования ICML-файла экспорта в RetailCRM создайте узел в структуре сайта под узлом интернет-магазина (стандартно узел имеет путь */shop/*), укажите для созданного узла название раздела, например, **retailcrm**, заполните основные атрибуты страницы, выберите раздел типовой динамической страницы **«RetailCRM»**, страницу **«Обмен с retailCRM»**. Выберите из выпадающего списка магазин, для которого необходимо создать экспорт.

<div data-full-width="true"><img src="/files/-Mj0WqcuUcieW8_T92rd" alt="Добавление раздела"></div>

В аккаунте RetailCRM в разделе **«Настройки»** → **«Магазины»**, во вкладке **«Каталог»** укажите адрес страницы (1), например, *<http://www.site.ru/shop/retailcrm/>*

<div data-full-width="true"><img src="/files/-Mj0Xu6G2F3xtj1N6mgN" alt="URL ICML-файла"></div>

> <https://xn--80aff1anfpi.xn--p1ai/shop/retailcrm/>
>
> *пример ICML файла*

### Управление свойствами товаров, экспортируемыми в RetailCRM <a href="#mcetoc_1ba9tdn2l6" id="mcetoc_1ba9tdn2l6"></a>

Опция **itemsProperties()** контроллера **retailCRM\_Controller\_ICML** позволяет управлять списком дополнительных свойств, указываемых для товара при экспорте в RetailCRM.

А коде настроек типовой динамической страницы можно включить экспорт дополнительных свойств товаров:

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

```php
$retailCRM_Controller_ICML = new retailCRM_Controller_ICML($oShop);		
$retailCRM_Controller_ICML
  ->itemsProperties(TRUE)
  ->show();
```

{% endcode %}

или ограничить по ID список экспортируемых свойств:

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

```php
$retailCRM_Controller_ICML = new retailCRM_Controller_ICML($oShop);			
$retailCRM_Controller_ICML
  ->itemsProperties(array(17,19))
  ->show();
```

{% endcode %}

Опция **itemsForbiddenProperties()** контроллера **`retailCRM_Controller_ICML`** позволяет управлять списком дополнительных свойств, которые требуется исключить при экспорте в RetailCRM

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

```php
$retailCRM_Controller_ICML = new retailCRM_Controller_ICML($oShop);
$retailCRM_Controller_ICML
    ->itemsForbiddenProperties(array(11, 12))
    ->show();
```

{% endcode %}

### Экспорт товаров, присутствующих на складе

Опция **checkRest(TRUE)** позволяет выгружать только те товары, которые присутствуют на складах.

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

```php
$retailCRM_Controller_ICML = new retailCRM_Controller_ICML($oShop);
$retailCRM_Controller_ICML
    ->checkRest(TRUE)
    ->show();
```

{% endcode %}

### Группировка модификаций

Опция **groupModifications(TRUE)** объединяет все предложения, которые являются вариациями одной модели (модификации).

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

```php
$retailCRM_Controller_ICML = new retailCRM_Controller_ICML($oShop);
$retailCRM_Controller_ICML
    ->groupModifications(TRUE)
    ->show();
```

{% endcode %}

### Экспорт модификаций <a href="#mcetoc_1ba9tdn2l8" id="mcetoc_1ba9tdn2l8"></a>

Стандартно модификации не экспортируются совместно с товарами, управлять экспортом модификаций позволяет опция **modifications()** контроллера **retailCRM\_Controller\_ICML**

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

```php
$retailCRM_Controller_ICML = new retailCRM_Controller_ICML($oShop);
$retailCRM_Controller_ICML
    ->modifications(TRUE)
    ->show();
```

{% endcode %}

### Создание статичных ICML-файлов через CRON для больших магазинов

Добавьте в CRON на хостинге вызов файла **cron/retailcrm.php**. Проверьте работу, в корневой директории будут создаваться XML-файлы по схеме **retailcrm1.xml**, где 1 — идентификатор магазина.

{% tabs %}
{% tab title="CRON задача" %}
{% code lineNumbers="true" fullWidth="true" %}

```bash
# каждый день в 00:00
0 0 * * * /usr/bin/php /var/www/web/sites/site.ru/cron/retailcrm.php
```

{% endcode %}
{% endtab %}
{% endtabs %}

В аккаунте RetailCRM в разделе **«Настройки»** → **«Магазины»**, во вкладке **«Каталог»** укажите адрес страницы, например, *<http://www.site.ru/retailcrm1.xml>*


---

# Agent Instructions: 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/retailcrm/eksport-tovarov-v-retailcrm-cherez-icml.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.
