• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/timeline/historydatamodel/presenter/modification.php
  • Класс: Bitrix\Crm\Timeline\HistoryDataModel\Presenter\Modification
  • Вызов: Modification::prepareDataBySettingsForSpecificEvent
protected function prepareDataBySettingsForSpecificEvent(array $data, array $settings): array
{
	$fieldName = $settings['FIELD'] ?? '';
	$data['MODIFIED_FIELD'] = $fieldName;

	if ($fieldName === Item::FIELD_NAME_IS_MANUAL_OPPORTUNITY)
	{
		$castToString = fn(bool $val) => $val ? 'Y' : 'N';

		$data['START'] = is_bool($settings['START']) ? $castToString($settings['START']) : $settings['START'];
		$data['FINISH'] = is_bool($settings['FINISH']) ? $castToString($settings['FINISH']) : $settings['START'];
	}
	if ($fieldName === Item::FIELD_NAME_CATEGORY_ID)
	{
		$proxyFields = [
			'START_CATEGORY_NAME',
			'FINISH_CATEGORY_NAME',
			'START_STAGE_NAME',
			'FINISH_STAGE_NAME'
		];
		foreach ($proxyFields as $field)
		{
			$data[$field] = $settings[$field];
		}
	}

	return $data;
}