CCrmSipHelper::loadSmartInvoices

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. CCrmSipHelper
  4. loadSmartInvoices
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/sip_helper.php
  • Класс: \CCrmSipHelper
  • Вызов: CCrmSipHelper::loadSmartInvoices
static function loadSmartInvoices(array $filter): ?array
{
	if (!\Bitrix\Crm\Settings\InvoiceSettings::getCurrent()->isSmartInvoiceEnabled())
	{
		return null;
	}
	$factory = \Bitrix\Crm\Service\Container::getInstance()->getFactory(\CCrmOwnerType::SmartInvoice);
	if (!$factory)
	{
		return null;
	}
	$invoices = $factory->getItemsFilteredByPermissions([
		'select' => [
			Bitrix\Crm\Item::FIELD_NAME_ID,
			Bitrix\Crm\Item::FIELD_NAME_TITLE,
			Bitrix\Crm\Item::FIELD_NAME_CLOSE_DATE,
			Bitrix\Crm\Item::FIELD_NAME_OPPORTUNITY,
			Bitrix\Crm\Item::FIELD_NAME_CURRENCY_ID,
			Bitrix\Crm\Item::FIELD_NAME_STAGE_ID,
			Bitrix\Crm\Item::FIELD_NAME_CATEGORY_ID,
		],
		'filter' => array_merge(
			[
				// todo stage semantic filter
			],
			$filter
		),
		'order' => [
			'ID' => 'DESC',
		],
		'limit' => 2,
	]);
	$router = \Bitrix\Crm\Service\Container::getInstance()->getRouter();
	$result = [];
	foreach ($invoices as $invoice)
	{
		$data = $invoice->getCompatibleData();
		$data['HEADING'] = $invoice->getHeading();
		$data['SHOW_URL'] = $router->getItemDetailUrl(\CCrmOwnerType::SmartInvoice, $invoice->getId());
		$data['PRICE_FORMATTED'] = CCrmCurrency::MoneyToString($data['OPPORTUNITY'], $data['CURRENCY_ID']);
		$result[] = $data;
	}

	return $result;
}

Добавить комментарий