• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/widget/numericwidget.php
  • Класс: Bitrix\Crm\Widget\NumericWidget
  • Вызов: NumericWidget::prepareData
public function prepareData()
{
	$items = array();
	$expressions = array();
	$qty = count($this->configs);
	for($i = 0; $i < $qty; $i++)
	{
		/** @var WidgetConfig $config */
		$config = $this->configs[$i];

		$name = $config->getName();
		if($name === '')
		{
			$name = strval($i + 1);
		}

		$title = $config->getTitle();

		$items[$name] = array('name' => $name, 'title' => $title, 'value' => 0);

		$source = null;
		$sourceSettings = $config->getDataSourceSettings();
		if(DataSourceFactory::checkSettings($sourceSettings))
		{
			$source = DataSourceFactory::create($sourceSettings, $this->userID, $this->enablePermissionCheck);
			$source->setFilterContextData($this->getFilterContextData());
		}

		$params = array('name' => $name, 'config' => $config, 'source' => $source);
		//Skip expressions. They will be processed at the end of this function.
		if($source instanceof ExpressionDataSource)
		{
			$expressions[] = $params;
			continue;
		}
		$this->prepareItem($params, $items);
	}

	foreach($expressions as $params)
	{
		$this->prepareItem($params, $items);
	}

	return array('items' => array_values($items));
}