Скрипт считывает из файла 3 поля: цена, количество, артикул. По артикулу нахожу нужный товар в системе, и вставляю в него цену + количество.
Сам скрипт
Код
<?
///// Считываетм файл в массив
$fd = fopen("export_catalog.csv", "r");
$b=0;
while (($arr = fgetcsv($fd, 1024, ";")) !== FALSE) {
$data[] = $arr;
}
fclose($fd);
////// закончили считывание
?>
<?
//// пробегаемся по массиву, находим нужный элемент и вставляем в него поля
foreach ($data as $key => $value)
{
$arSelect = Array("ID", "NAME");
$arFilter = Array("IBLOCK_ID"=>array(89, 86, 84, 25, 22, 23, 24, 26), "PROPERTY_ARTICUL" => "$value[0]"); /// артикул из файла
$res = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>50), $arSelect);
$ob = $res->GetNext();
if ($ob)
{
$arFields = $ob->GetFields(); ////!на ЭТОМ МЕСТЕ ОШИБКА
echo $arFields['NAME']."<br>";
CPrice::SetBasePrice(
$arFields['ID'],
$value[2], // задали цену
"UAH", // тип цен
0,
0
);
///// задаем количество на складе
$arFields = array(
"ID" => $arFields['ID'], //
"QUANTITY" => $value[1], // количество на складе
"QUANTITY_TRACE" => "N" //
);
CCatalogProduct::Add($arFields);
} else { }
}
?>
Ошибку выдает следующую: Fatal error: Call to a member function GetFields() on a non-object in /var/www/nashformat/data/www/nashformat.ua/buhalter/index.php on line 34
У меня после обновления на 11 тоже самое вылезло. Только у меня используется GetNextElement. В ряде случаев проходит нормально, а на некоторых элементах в цикле отваливается.
А может с таким кто нибудь сталкивался? Простой код, на строке while($element=$res->GetNextElement()){ выдает Fatal error: Call to a member function GetNextElement() on boolean
Код
$res=CIBlockElement::GetList([], $arFilter, false, false, ['ID', 'NAME', 'ACTIVE', 'XML_ID']);
if(is_object($res)){
while($element=$res->GetNextElement()){
$fields=$element->GetFields();
// что то делать
}
}
Владимир Кучуков написал: А может с таким кто нибудь сталкивался? Простой код, на строке while($element=$res->GetNextElement()){ выдает Fatal error: Call to a member function GetNextElement() on boolean
Такая же ситуация. Вот код http://joxi.ru/MAjZqwdcxwgYEAвыдаёт ошибку - Fatal error: Call to a member function GetFields() on null in /home/s/skovoroda1/t/public_html/cron/tmp1.php on line 33
Подскажите, что неверно?
Мне надо выбрать из каталога товары, у которых "PROPERTY_G_HIT" => 37. Не получается:((