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