• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/widget/numericwidget.php
  • Класс: Bitrix\Crm\Widget\NumericWidget
  • Вызов: NumericWidget::initializeDemoData
public function initializeDemoData(array $data)
{
	if(!(isset($data['items']) && is_array($data['items'])))
	{
		return $data;
	}

	foreach($data['items'] as &$item)
	{
		$config = $this->findConfigByName(isset($item['name']) ? $item['name'] : '');
		if(!$config)
		{
			continue;
		}

		$item['title'] = $config->getTitle();
		$value = isset($item['value']) ? (double)$item['value'] : 0.0;
		$format = $config->getFomatParams();
		if(isset($format['enableDecimals']) && $format['enableDecimals'] == 'N')
		{
			$value = round($value, 0);
		}
		$item['value'] = $value;
		if(isset($format['isCurrency']) && $format['isCurrency'] === 'Y')
		{
			//hack fom Currency module issue.
			//$item['html'] = \CCrmCurrency::MoneyToString($value, \CCrmCurrency::GetAccountCurrencyID());
			$html = \CCrmCurrency::MoneyToString(strval($value), \CCrmCurrency::GetAccountCurrencyID());
			$html = preg_replace('/(₽)/', '${1}', $html);
			$item['html']  = $html;
		}
		elseif(isset($format['isPercent']) && $format['isPercent'] === 'Y')
		{
			$item['html'] = "{$value}%";
		}

		$display = $config->getDisplayParams();
		if(!empty($display))
		{
			$item['display'] = $display;
		}
	}
	unset($item);
	return $data;
}