- Модуль: crmmobile
- Путь к файлу: ~/bitrix/modules/crmmobile/lib/Controller/Category.php
- Класс: BitrixCrmMobileControllerCategory
- Вызов: Category::getTunnelDocumentFields
private function getTunnelDocumentFields(int $entityTypeId): array
{
static $tunnelDocumentFields = [];
if (!isset($tunnelDocumentFields[$entityTypeId]))
{
$documentFields = [];
$documentType = CCrmBizProcHelper::ResolveDocumentType($entityTypeId);
foreach (Helper::getDocumentFields($documentType) as $key => $documentField)
{
$options = [];
if (!empty($documentField['Options']) && is_array($documentField['Options']))
{
foreach ($documentField['Options'] as $id => $value)
{
$options[] = [
'id' => $id,
'value' => $value,
];
}
}
$documentFields[$key] = [
'id' => $documentField['Id'],
'name' => $documentField['Name'],
'type' => $documentField['Type'],
'baseType' => $documentField['BaseType'],
'expression' => $documentField['Expression'],
'systemExpression' => $documentField['SystemExpression'],
'multiple' => $documentField['Multiple'],
'options' => $options,
];
}
$tunnelDocumentFields[$entityTypeId] = $documentFields;
}
return $tunnelDocumentFields[$entityTypeId];
}