Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Проблема со скриптом

00 голосов
3
Скрипт считывает из файла 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

Прошу помощи разобратся...
спросил 21 Март, 13 от Lollipopk (660 баллов)

3 Ответы

00 голосов
Замените

Код
$ob = $res->GetNext(); 


на

Код
$ob = $res->GetNextElement(); 
ответил 21 Март, 13 от Dakost (580 баллов)
00 голосов
м.б. в
$arSelect = Array("ID", "NAME");
добавить
"IBLOCK_ID"
т.е. будет
$arSelect = Array("ID", "IBLOCK_ID", "NAME");
ответил 21 Март, 13 от EDKA (980 баллов)
00 голосов
У меня после обновления на 11 тоже самое вылезло. Только у меня используется GetNextElement. В ряде случаев проходит нормально, а на некоторых элементах в цикле отваливается.
ответил 04 Июнь, 13 от GOON (140 баллов)

Похожие вопросы

0 голосов
2 ответов
спросил 05 Май, 14 от Gibrit (100 баллов)
0 голосов
2 ответов
спросил 24 Апр, 14 от Kania (5,180 баллов)
0 голосов
4 ответов
0 голосов
1 ответ
спросил 29 Ноя, 13 от FARAMIR (120 баллов)