Наверное, не очень по теме, но всё же.
Клиент предпочёл нестандартную синхронизацию, поэтому сам генерит свой XML-файл со списком товаров.
Необходимо осуществить выгрузку товаров в инфоблок вместе с обновлением полей "количество" и "цена" торгового каталога, привязанного к этому инфоблоку.
Решено было следующим образом: в инфоблоке дублируются параметры каталога количество и цена, которые нормально выгружаются из 1С. Далее в файле init.php перехватывается событие OnAfterIBlockElementUpdate и производится перезапись этих параметров уже в соответствующие поля торгового каталога.
Вопрос такой: ID элемента инфоблока и ID товара в торговом каталоге - это одно и то же?
Почему не работает такой код:
где $arFields["ID"] — ID обновлённого элемента инфоблока. CPrice::Add тоже не работает.
-----
Если ID элемента инфоблока и ID товара различны, как, зная ID элемента инфоблока, получить ID соответсвующего ему товара из торгового каталога?
P.S. Сам я только новичёк в битриксе )
Клиент предпочёл нестандартную синхронизацию, поэтому сам генерит свой XML-файл со списком товаров.
Необходимо осуществить выгрузку товаров в инфоблок вместе с обновлением полей "количество" и "цена" торгового каталога, привязанного к этому инфоблоку.
Решено было следующим образом: в инфоблоке дублируются параметры каталога количество и цена, которые нормально выгружаются из 1С. Далее в файле init.php перехватывается событие OnAfterIBlockElementUpdate и производится перезапись этих параметров уже в соответствующие поля торгового каталога.
Вопрос такой: ID элемента инфоблока и ID товара в торговом каталоге - это одно и то же?
Почему не работает такой код:
| Код |
|---|
//Обновление количества
$arCatalogFieldsQ = array("ID"=>$arFields["ID"], "QUANTITY" => 300);
$flag = CCatalogProduct::Add($arCatalogFieldsQ);
//Обновление цены
$arCatalogFieldsP = array("PRICE" => "1200.00", "CURRENCY" => "RUB");
$flag = CPrice::SetBasePrice($arFields["ID"], $arCatalogFieldsP);
|
где $arFields["ID"] — ID обновлённого элемента инфоблока. CPrice::Add тоже не работает.
-----
Если ID элемента инфоблока и ID товара различны, как, зная ID элемента инфоблока, получить ID соответсвующего ему товара из торгового каталога?
P.S. Сам я только новичёк в битриксе )