• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/component/entitydetails/factorybased.php
  • Класс: Bitrix\Crm\Component\EntityDetails\FactoryBased
  • Вызов: FactoryBased::fillItemFromRequest
protected function fillItemFromRequest(): void
{
	$this->prepareEntityUserFields();
	$this->prepareEntityDataScheme();

	$fieldsValues = [];
	$userFieldsValues = [];
	foreach ($this->userFields as $userFieldName => $userFieldInfo)
	{
		$userFieldsValues[$userFieldName] = ['VALUE' => null];
	}
	\Bitrix\Crm\Entity\EntityEditor::mapRequestData(
		$this->entityDataScheme,
		$fieldsValues,
		$userFieldsValues
	);

	foreach ($fieldsValues as $fieldName => $fieldValue)
	{
		if ($this->item->hasField($fieldName))
		{
			$this->item->set($fieldName, $fieldValue);
		}
	}
	foreach ($userFieldsValues as $fieldName => $fieldValue)
	{
		if ($this->item->hasField($fieldName) && ($fieldValue['VALUE'] ?? null))
		{
			$this->item->set($fieldName, $fieldValue['VALUE']);
		}
	}
}