- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/main/uiselector/crmsmartinvoices.php
- Класс: Bitrix\Crm\Integration\Main\UISelector\CrmSmartInvoices
- Вызов: CrmSmartInvoices::search
public function search($params = []): array
{
$result = [
'ITEMS' => [],
'ADDITIONAL_INFO' => []
];
if (!InvoiceSettings::getCurrent()->isSmartInvoiceEnabled())
{
return $result;
}
$entityOptions = $params['options'] ?? [];
$requestFields = $params['requestFields'] ?? [];
$search = $requestFields['searchString'];
$prefix = static::getPrefix($entityOptions);
if (
$search <> ''
&& (
empty($entityOptions['enableSearch'])
|| $entityOptions['enableSearch'] !== 'N'
)
)
{
$filter = $this->getSearchFilter($search, $entityOptions);
if ($filter === false)
{
return $result;
}
$list = Container::getInstance()->getFactory(static::getOwnerType())->getItemsFilteredByPermissions([
'order' => $this->getSearchOrder(),
'select' => $this->getSearchSelect(),
'limit' => 10,
'filter' => $filter,
]);
$resultItems = [];
foreach ($list as $item)
{
$resultItems[$prefix . $item->getId()] = static::prepareEntity($item, $entityOptions);
}
$resultItems = $this->appendItemsByIds($resultItems, $search, $entityOptions);
$resultItems = $this->processResultItems($resultItems, $entityOptions);
$result["ITEMS"] = $resultItems;
}
return $result;
}