Уважаемые столкнулся с тем что необходимо обновить одно поле сразу у нескольких инфоблоков
делаю это так:
$el = new CIBlockElement;
for ($i=0;$i<=count($some_data);$i++)
{
$result = CIBlockElement::GetList(array('ID' => 'ASC'), array('EXTERNAL_ID'=>some_data[$i];), false, false, array('ID'));
if ($e = $result->Fetch())
{ $e_id = intval($e['ID'];); }
$res = $el->Update($e_id, Array("Field" => "VALUE";));
}
проблема в том что надо обновить порядка 35к инфоблоков, и код этот работает ну просто оооооочень долго,
вопрос: что я делаю не так, и можно ли как то этот процесс заставить работать быстрее, номера инфоблоков заранее не известны, поэтому приходиться их получать зная их external_id.
делаю это так:
$el = new CIBlockElement;
for ($i=0;$i<=count($some_data);$i++)
{
$result = CIBlockElement::GetList(array('ID' => 'ASC'), array('EXTERNAL_ID'=>some_data[$i];), false, false, array('ID'));
if ($e = $result->Fetch())
{ $e_id = intval($e['ID'];); }
$res = $el->Update($e_id, Array("Field" => "VALUE";));
}
проблема в том что надо обновить порядка 35к инфоблоков, и код этот работает ну просто оооооочень долго,
вопрос: что я делаю не так, и можно ли как то этот процесс заставить работать быстрее, номера инфоблоков заранее не известны, поэтому приходиться их получать зная их external_id.