> 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/retailcrm/eksport-tovarov-v-retailcrm-cherez-icml.md).

# Экспорт товаров в 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>*
