• Модуль: crmmobile
  • Путь к файлу: ~/bitrix/modules/crmmobile/lib/Controller/Conversion.php
  • Класс: BitrixCrmMobileControllerConversion
  • Вызов: Conversion::getConversionMenuItemsAction
public function getConversionMenuItemsAction(Item $entity): array
{
	$conversionConfig = ConversionManager::getConfig($entity->getEntityTypeId());
	$conversionConfig->deleteItemByEntityTypeId(CCrmOwnerType::SmartDocument);
	$conversionData = $conversionConfig->getScheme()->toJson(true);

	//remove from conversion to old invoices and documents
	$conversionData['items'] = array_values(
		array_filter($conversionData['items'],
			fn ($item) => $item['name'] !== CCrmOwnerType::InvoiceName
				&& $item['name'] !== CCrmOwnerType::SmartDocumentName
		)
	);

	if ($entity->getEntityTypeId() === CCrmOwnerType::Lead)
	{
		$conversionData['isReturnCustomer'] = $entity->getIsReturnCustomer();
		if ($entity->getStageId() === 'CONVERTED' || $entity->getIsReturnCustomer())
		{
			$items = [];
			foreach ($conversionData['items'] as $item)
			{
				if (CCrmOwnerType::DealName === $item['name'])
				{
					$items[] = $item;
				}
			}

			$conversionData['items'] = $items;
		}
	}

	if (CCrmOwnerType::Lead === $entity->getEntityTypeId())
	{
		$userPermissions = Container::getInstance()->getUserPermissions();
		$conversionData['permissions'] = [
			CCrmOwnerType::Contact => [
				'read' => $userPermissions->checkReadPermissions(CCrmOwnerType::Contact, 0, 0),
				'write' => $userPermissions->checkUpdatePermissions(CCrmOwnerType::Contact, 0, 0),
			],
			CCrmOwnerType::Company => [
				'read' => $userPermissions->checkReadPermissions(CCrmOwnerType::Company, 0, 0),
				'write' => $userPermissions->checkUpdatePermissions(CCrmOwnerType::Company, 0, 0),
			],
		];
	}

	return $conversionData;
}