копируем компонент экспорта каталога catalog.export.1c в свое пространство имен.
Находим в компоненте
elseif($_GET["mode"] == "query" )
{
И дописываем:
if ($_SESSION["BX_CML2_EXPORT"]["current"]>100) $_SESSION["BX_CML2_EXPORT"]["step"]=4;
Делаем свой скрипт обмена 1c_exchange2.php, в котором подключаю свой компонент вместо стандартного.
elseif($type=="get_catalog" )
{
$APPLICATION->IncludeComponent("bedrosova:catalog.export.1c", "", Array(
"IBLOCK_ID" => COption::GetOptionString("catalog", "1CE_IBLOCK_ID", "" ),
"INTERVAL" => COption::GetOptionString("catalog", "1CE_INTERVAL", "-" ),
"ELEMENTS_PER_STEP" => COption::GetOptionString("catalog", "1CE_ELEMENTS_PER_STEP", 100),
"GROUP_PERMISSIONS" => explode(",", COption::GetOptionString("catalog", "1CE_GROUP_PERMISSIONS", "1" )),
"USE_ZIP" => COption::GetOptionString("catalog", "1CE_USE_ZIP", "Y" ),
)
);
}
Наш скрипт 1c_exchange2.php будет отдавать 1С-ке только 100+N товаров. N – количество товаров, выгружаемых за 1 шаг. Вписываю в помощнике импорта адрес своего скрипта и запускаю импорт.
После того, как товары загружены — начинается загрузка картинок. На этом этапе может вывалиться ошибка «Реквизит для группы не найден» — она может возникнуть, если есть группа с таким же уникальным айдишником, как товар (на стороне сайта придется дополнительно перепроверять сквозную уникальность XML_ID групп и товаров).