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

не работает CIBlockElement::GetList

00 голосов
6
Записываю множественные данные в свойство элемента инфоблока с помощью SetPropertyValuesEx.
Проверяю запись в админке битрикса - всё есть.
Читаю данные GetList и не получаю этих значений.
Жму в админке применить, ничего не трогая.
Смотрю GetList - данные есть, что мне сделать, чтобы данные читались сразу?

З.Ы.: Битрикс 9.1
спросил 12 Сен, 13 от Lisica (900 баллов)

6 Ответы

00 голосов
Похожий баг словил как-то раз с установкой свойств заказа. Тогда я не написал среди полей CODE (думал не обязательно, раз есть ID). Может, и здесь такая же беда.
ответил 12 Сен, 13 от Eddie (2,060 баллов)
00 голосов
Может модуль документооборота всему виной? Он у вас есть/включен?
ответил 10 Дек, 13 от Almarea (3,760 баллов)
00 голосов
Баг обнаружил именно когда нажал "применить" ничего не поменяв, и свойства вдруг появились. При "применении" скрипт прописывал символьный код тем свойствам, у которых он не указан был, но которые были привязаны по айдишнику. Это последствия ненормализованной базы данных битрикса.
ответил 24 Март, 14 от Eddie (2,060 баллов)
00 голосов
Дмитрий Якинцев
объясни подробнее куда там CODE надо сувать, дай тех. пример, так понятнее будет.
ответил 16 Июль, 14 от Lisica (900 баллов)
00 голосов
Третий параметр как выглядит? А лучше вообще весь вызов метода.
ответил 17 Ноя, 14 от Eddie (2,060 баллов)
00 голосов
Записываю:
Код
    if (isset($_POST['sCheckboxId'])&&isset($_POST['ID_ORG'])) {
        $sCheckboxId = $_POST['sCheckboxId'];
        $sCheckboxId = mb_substr($sCheckboxId,1);
        $arCheckboxId = explode(",",$sCheckboxId);
        $ID_ORG = $_POST['ID_ORG'];
    }
    $arPROPS = Array(
        "RUBRIK" => $arCheckboxId,
        "ACTUALITY" => "1",
    );
    $e = new CIBlockElement;
    $e_stat = $e->SetPropertyValuesEx($ID_ORG,false,$arPROPS);


Читаю:
Код
    $arOrder = Array("ID"=>"ASC");
    $arFilter = Array("IBLOCK_ID"=>$arParams["ORGS"],"PROPERTY_C_ID_BLMAP"=>$c_id);
    $arSelectFields = Array(
            "ID",
            "NAME",
            "PROPERTY_RUBRIK",
    );
    $ListElements = CIBlockElement::GetList($arOrder, $arFilter, false, false, $arSelectFields);

    $org = $ListElements->Fetch();
ответил 13 Март, 15 от Lisica (900 баллов)

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

0 голосов
0 ответов
спросил 07 Май, 14 от IRISH (100 баллов)
0 голосов
9 ответов
0 голосов
2 ответов
0 голосов
2 ответов
спросил 30 Май, 13 от tamara (160 баллов)
0 голосов
1 ответ