• Модуль: report
  • Путь к файлу: ~/bitrix/modules/report/classes/general/report.php
  • Класс: CReport
  • Вызов: CReport::Add
static function Add($settings)
{
	global $DB, $USER;

	$name = $settings['title'];
	$description = $settings['description'];
	$owner = $settings['owner'];
	unset($settings['title']);
	unset($settings['description']);
	unset($settings['owner']);


	$fields = array(
		'TITLE' => $name,
		'DESCRIPTION' => $description,
		'OWNER_ID' => $owner,
		'CREATED_DATE' => date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), time()+CTimeZone::GetOffset()),
		'CREATED_BY' => $USER->GetID()
	);

	if (isset($settings['mark_default']))
	{
		$fields['MARK_DEFAULT'] = $settings['mark_default'];
		unset($settings['mark_default']);
	}

	$fields['SETTINGS'] = serialize($settings);

	// pre-events
	foreach (GetModuleEvents("report", "OnBeforeReportAdd", true) as $arEvent)
	{
		if (ExecuteModuleEventEx($arEvent, array(&$fields)) === false)
		{
			return false;
		}
	}

	// save data
	$ID = $DB->Add("b_report", $fields, array("SETTINGS", "DESCRIPTION"), "report");

	// clear view params
	self::clearViewParams($ID);

	// post-events
	foreach (GetModuleEvents("report", "OnReportAdd", true) as $arEvent)
	{
		ExecuteModuleEventEx($arEvent, array($ID, &$fields));
	}

	return $ID;
}