• Модуль: 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;
}