• Модуль: report
  • Путь к файлу: ~/bitrix/modules/report/lib/visualconstructor/controller/widget.php
  • Класс: BitrixReportVisualConstructorControllerWidget
  • Вызов: Widget::setConfigurableEntityConfiguration
private function setConfigurableEntityConfiguration(ConfigurableModel $model, Base $handler, $formConfigurations)
{
	if (!empty($formConfigurations['old']))
	{
		$keys = array_keys($formConfigurations['old']);
		$configurations = $handler->getConfigurationsGidKeyed();
		foreach ($configurations as $id => $configuration)
		{
			if (in_array($id, $keys))
			{
				$field = $handler->getFormElement($configuration->getKey());
				if ($field instanceof BaseValuable)
				{
					$newValue = $formConfigurations['old'][$id][$configuration->getKey()];
					$field->setValue($newValue);
					$configuration->setValue($field->getValue());
				}
			}
		}
	}


	if (!empty($formConfigurations['new']))
	{
		foreach ($formConfigurations['new'] as $key => $newConfiguration)
		{
			$field = $handler->getFormElement($key);
			if ($field instanceof BaseValuable)
			{
				$field->setDefaultValue($newConfiguration);
				$model->addConfigurationField($field);
			}
		}
	}
}