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