- Модуль: crmmobile
- Путь к файлу: ~/bitrix/modules/crmmobile/lib/Terminal/EntityEditorFieldsProvider.php
- Класс: BitrixCrmMobileTerminalEntityEditorFieldsProvider
- Вызов: EntityEditorFieldsProvider::getClientFieldValue
private function getClientFieldValue(): ?array
{
if (is_null($this->itemData))
{
return null;
}
$result = [
'company' => [],
'contact' => [],
];
$userPermissions = CCrmPerms::GetCurrentUserPermissions();;
if ($this->itemData->companyId > 0)
{
$isEntityReadPermitted = CCrmCompany::CheckReadPermission($this->itemData->companyId, $userPermissions);
$companyInfo = CCrmEntitySelectorHelper::PrepareEntityInfo(
CCrmOwnerType::CompanyName,
$this->itemData->companyId,
[
'ENTITY_EDITOR_FORMAT' => true,
'IS_HIDDEN' => !$isEntityReadPermitted,
'REQUIRE_REQUISITE_DATA' => true,
'REQUIRE_MULTIFIELDS' => true,
'NAME_TEMPLATE' => PersonNameFormatter::getFormat(),
]
);
$result['company'] = [$companyInfo];
}
$iteration = 0;
foreach ($this->itemData->contactIds as $contactId)
{
$isEntityReadPermitted = CCrmContact::CheckReadPermission($contactId, $userPermissions);
$result['contact'][] = CCrmEntitySelectorHelper::PrepareEntityInfo(
CCrmOwnerType::ContactName,
$contactId,
[
'ENTITY_EDITOR_FORMAT' => true,
'IS_HIDDEN' => !$isEntityReadPermitted,
'REQUIRE_REQUISITE_DATA' => true,
'REQUIRE_EDIT_REQUISITE_DATA' => ($iteration === 0),
'REQUIRE_MULTIFIELDS' => true,
'REQUIRE_BINDINGS' => true,
'NAME_TEMPLATE' => PersonNameFormatter::getFormat(),
'NORMALIZE_MULTIFIELDS' => true,
]
);
$iteration++;
}
return $result;
}