• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/filter/terminalpaymentprovider.php
  • Класс: Bitrix\Crm\Filter\TerminalPaymentProvider
  • Вызов: TerminalPaymentProvider::prepareFieldData
public function prepareFieldData($fieldID)
{
	if ($fieldID === 'PAID')
	{
		return [
			'params' => [
				'multiple' => 'N',
			],
			'items' => [
				'Y' => Main\Localization\Loc::getMessage('CRM_TERMINAL_PAYMENT_PROVIDER_PAID_Y'),
				'N' => Main\Localization\Loc::getMessage('CRM_TERMINAL_PAYMENT_PROVIDER_PAID_N'),
			],
		];
	}

	if ($fieldID === 'MARKED')
	{
		return [
			'params' => [
				'multiple' => 'N',
			],
			'items' => [
				'Y' => Main\Localization\Loc::getMessage('CRM_TERMINAL_PAYMENT_PROVIDER_MARKED_Y'),
				'N' => Main\Localization\Loc::getMessage('CRM_TERMINAL_PAYMENT_PROVIDER_MARKED_N'),
			],
		];
	}

	if ($fieldID === 'CLIENT')
	{
		return [
			'params' => [
				'apiVersion' => 3,
				'context' => 'CRM_TIMELINE_FILTER_CLIENT',
				'contextCode' => 'CRM',
				'useClientDatabase' => 'N',
				'enableAll' => 'N',
				'enableDepartments' => 'N',
				'enableUsers' => 'N',
				'enableSonetgroups' => 'N',
				'allowEmailInvitation' => 'N',
				'allowSearchEmailUsers' => 'N',
				'departmentSelectDisable' => 'Y',
				'enableCrm' => 'Y',
				'enableCrmContacts' => 'Y',
				'enableCrmCompanies' => 'Y',
				'addTabCrmContacts' => 'Y',
				'addTabCrmCompanies' => 'Y',
				'convertJson' => 'Y',
				'multiple' => 'Y',
			],
		];
	}

	$userFields = ['RESPONSIBLE_ID'];
	if (in_array($fieldID, $userFields))
	{
		return $this->getUserEntitySelectorParams($fieldID . '_filter', ['fieldName' => $fieldID]);
	}

	if ($fieldID === 'PAY_SYSTEM_NAME')
	{
		$platformId = (int)Crm\Order\TradingPlatform\Terminal::getInstanceByCode(
			Crm\Order\TradingPlatform\Terminal::TRADING_PLATFORM_CODE
		)->getIdIfInstalled();

		$items = [];
		if ($platformId)
		{
			$paymentIterator = Sale\Payment::getList([
				'select' => ['PAY_SYSTEM_ID', 'PAY_SYSTEM_NAME'],
				'filter' => [
					'=ORDER.TRADING_PLATFORM.TRADING_PLATFORM_ID' => $platformId,
					'!=PAY_SYSTEM_ID' => Sale\PaySystem\Manager::getInnerPaySystemId(),
				],
				'group' => ['PAY_SYSTEM_ID', 'PAY_SYSTEM_NAME'],
			]);
			while ($paymentData = $paymentIterator->fetch())
			{
				$items[$paymentData['PAY_SYSTEM_ID']] = $paymentData['PAY_SYSTEM_NAME'];
			}
		}

		return [
			'params' => [
				'multiple' => 'Y',
			],
			'items' => $items,
		];
	}

	return null;
}