- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/filter/companydataprovider.php
- Класс: Bitrix\Crm\Filter\CompanyDataProvider
- Вызов: CompanyDataProvider::prepareFieldData
public function prepareFieldData($fieldID)
{
if($fieldID === 'COMPANY_TYPE')
{
return array(
'params' => array('multiple' => 'Y'),
'items' => \CCrmStatus::GetStatusList('COMPANY_TYPE')
);
}
elseif($fieldID === 'INDUSTRY')
{
return array(
'params' => array('multiple' => 'Y'),
'items' => \CCrmStatus::GetStatusList('INDUSTRY')
);
}
elseif($fieldID === 'CURRENCY_ID')
{
return array(
'params' => array('multiple' => 'Y'),
'items' => \CCrmCurrencyHelper::PrepareListItems()
);
}
elseif($fieldID === 'EMPLOYEES')
{
return array(
'params' => array('multiple' => 'Y'),
'items' => \CCrmStatus::GetStatusList('EMPLOYEES')
);
}
elseif(in_array($fieldID, ['ASSIGNED_BY_ID', 'CREATED_BY_ID', 'MODIFY_BY_ID', 'ACTIVITY_RESPONSIBLE_IDS'], true))
{
$referenceClass = ($this->factory ? $this->factory->getDataClass() : null);
if ($fieldID === 'ACTIVITY_RESPONSIBLE_IDS')
{
$referenceClass = null;
}
$isEnableAllUsers = in_array($fieldID, ['ASSIGNED_BY_ID', 'ACTIVITY_RESPONSIBLE_IDS'], true);
$isEnableOtherUsers = in_array($fieldID, ['ASSIGNED_BY_ID', 'ACTIVITY_RESPONSIBLE_IDS'], true);
return $this->getUserEntitySelectorParams(
EntitySelector::CONTEXT,
[
'fieldName' => $fieldID,
'referenceClass' => $referenceClass,
'isEnableAllUsers' => $isEnableAllUsers,
'isEnableOtherUsers' => $isEnableOtherUsers,
]
);
}
elseif($fieldID === 'ACTIVITY_COUNTER')
{
return EntityCounterType::getListFilterInfo(
array('params' => array('multiple' => 'Y')),
array('ENTITY_TYPE_ID' => \CCrmOwnerType::Company)
);
}
elseif($fieldID === 'COMMUNICATION_TYPE')
{
return array(
'params' => array('multiple' => 'Y'),
'items' => \CCrmFieldMulti::PrepareListItems(array(\CCrmFieldMulti::PHONE, \CCrmFieldMulti::EMAIL))
);
}
elseif(Crm\Tracking\UI\Filter::hasField($fieldID))
{
return Crm\Tracking\UI\Filter::getFieldData($fieldID);
}
elseif($fieldID === 'WEBFORM_ID')
{
return Crm\WebForm\Helper::getEntitySelectorParams(\CCrmOwnerType::Company);
}
elseif($fieldID === 'ORIGINATOR_ID')
{
return array(
'items' => array('' => Loc::getMessage('CRM_COMPANY_FILTER_ALL'))
+ \CCrmExternalSaleHelper::PrepareListItems()
);
}
elseif (ParentFieldManager::isParentFieldName($fieldID))
{
return Container::getInstance()->getParentFieldManager()->prepareParentFieldDataForFilterProvider(
\CCrmOwnerType::Company,
$fieldID
);
}
return null;
}