Задать вопрос
@sevnet
Системный аналитик, бизнес-консультант

Как из объекта Bitrix\Crm\ItemIdentifier вытащить нужные данные?

Имеется объект:
Bitrix\Crm\ItemIdentifier Object
(
    [entityTypeId:Bitrix\Crm\ItemIdentifier:private] => 4
    [entityId:Bitrix\Crm\ItemIdentifier:private] => 115695
    [categoryId:Bitrix\Crm\ItemIdentifier:private] => 
)

Надо из него вытащить entityTypeId и entityId.
Пробую вот и так и так:
$ID['Type'] = $parent->'entityTypeId:Bitrix\Crm\ItemIdentifier:private';
    $ID['Type'] = $parent->entityTypeId;
    $ID['Type'] = $parent->entityTypeId:Bitrix\Crm\ItemIdentifier:private;
    $ID['Type'] = $parent['entityTypeId:Bitrix\Crm\ItemIdentifier:private'];

ничего не работает(((
  • Вопрос задан
  • 286 просмотров
Подписаться 1 Средний 1 комментарий
Решения вопроса 3
IvanU7n
@IvanU7n
nothing interesting here
они приватные, достать их снаружи простыми способами нельзя
но у этого объекта есть методы доступа, типа getEntityTypeId(), getEntityId() и т.п.
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
RTFM.
getCategoryId
getEntityId
getEntityTypeId
toArray
Ответ написан
@FreeMAN_TEA
пример
use Bitrix\Crm\ItemIdentifier;
use Bitrix\Crm\Service\Container;

$leadID = 8939;

$child = new ItemIdentifier(\CCrmOwnerType::Lead, $leadID);
$parents = Container::getInstance()->getRelationManager()->getParentElements($child);

foreach ($parents as $parent) {
    echo 'EntityTypeId: ' . $parent->getEntityTypeId() . '<br>';
    echo 'EntityId: ' . $parent->getEntityId() . '<br>';
    echo 'CategoryId: ' . $parent->getCategoryId() . '<br>';
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@sevnet Автор вопроса
Системный аналитик, бизнес-консультант
Вот такую вот дичь навоял:
foreach ($parents as $parent) {
    $objArr = (array)$parent;
    foreach ($objArr as $key => $value) {
        $ID[explode("\0",$key)[2]] = $value;
    }
    file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/cust_app/php_applets_for_bp/logRelRes.txt', print_r($ID, 1));
}

Вот такой выхлоп:
Array
(
    [entityTypeId] => 4
    [entityId] => 115695
    [categoryId] => 
)
Не знаю как красивее сделать, нужна помощь экспертов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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