- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/item.php
- Класс: Bitrix\Crm\Item
- Вызов: Item::getData
public function getData(int $valuesType = Values::ALL): array
{
//todo temporary decision to avoid error on jsonSerialization of EntityObjects
$fieldTypeMask = FieldTypeMask::SCALAR|FieldTypeMask::USERTYPE|FieldTypeMask::EXPRESSION;
$entityFieldNames = array_merge(
$this->getEntityFieldNames($fieldTypeMask),
$this->utmTableClassName::getCodeList(),
);
if ($this->hasField(static::FIELD_NAME_OBSERVERS))
{
$entityFieldNames[] = $this->getEntityFieldNameByMap(static::FIELD_NAME_OBSERVERS);
}
/** @var string[][] $fromImplementation */
$fromImplementation = [];
foreach ($this->getAllImplementations() as $implementation)
{
$fromImplementation[] = $implementation->getSerializableFieldNames();
}
$entityFieldNames = array_merge($entityFieldNames, ...$fromImplementation);
$data = $this->collectValues($entityFieldNames, $valuesType);
$commonFieldNames = array_map([$this, 'getCommonFieldNameByMap'], array_keys($data));
return array_combine($commonFieldNames, array_values($data));
}