Сделал вывод ошибок $bs->LAST_ERROR
Удалил головную компанию запустил еще раз, она взяла первый раздел и дальше ничего не пошло, запустил ееще раз выдало такую же ошибку
Еще и ругается на
еще делал так
непомогло
| Код |
|---|
В структуре компании должен быть только один раздел верхнего уровня. [Error] Call to a member function Fetch() on bool (0) /var/www/html/bx-site/1c_exchange/import_sections.php:99 |
Удалил головную компанию запустил еще раз, она взяла первый раздел и дальше ничего не пошло, запустил ееще раз выдало такую же ошибку
Еще и ругается на
| Код |
|---|
while($ar = $res->Fetch()){
/* todo или всегда полная выгрузка?
* Пометка на удаление? - находим и удаляем
*/
$bs = new CIBlockSection;
/*
* сбор информации по подразделению
*/
$head_id = 0;
if(strlen($ar["HEAD"])>0){
$filter = Array("LOGIN_EQUAL"=> $ar["HEAD"]);
$reshead = CUser::GetList(($by="id"), ($order="desc"), $filter, array("SELECT"=>array("UF_*"), "FIELDS"=>array("ID","LOGIN")));
while($arhead = $reshead->fetch()){
if($arhead["LOGIN"]==$ar["HEAD"])
$head_id = $arhead["ID"];
}
}
$arFields = Array(
"ACTIVE" => "Y",
"XML_ID" => $ar["XML_ID"],
"CODE" => $ar["INDEX"],
"IBLOCK_ID" => 3,
"NAME" => $ar["NAME"],
);
if($head_id>0) {
$arFields["UF_HEAD"] = (int)$head_id;
}else{
$arFields["UF_HEAD"] = '';
}
if($ar["DEPTH_LEVEL"]>0){
$arFields["IBLOCK_SECTION_ID"] = CIBlockSection::GetList(array(), array("IBLOCK_ID"=>IBLOCK_DEPS,"XML_ID"=>$ar["PARENT_SECTION"]), false, array("ID"))->Fetch()["ID"];
if(is_null($arFields["IBLOCK_SECTION_ID"])) continue;
}
$XML_ID_UPDATE[] = $ar["XML_ID"];
$resSectionFind = CIBlockSection::GetList(Array(), array("IBLOCK_ID"=>3,"XML_ID"=>$ar["XML_ID"]), Array("nPageSize"=>1), array("ID"));
if($arSectionFind = $resSectionFind->Fetch()){
//обновляем
$bs->Update($arSectionFind["ID"], $arFields);
$updated++;
}else{
//создаем
$bs->Add($arFields);
$added++;
}
} |
еще делал так
| Код |
|---|
if(is_null($arFields["IBLOCK_SECTION_ID"])) continue; |
непомогло