• Модуль: crmmobile
  • Путь к файлу: ~/bitrix/modules/crmmobile/lib/UI/EntityEditor/ProviderDecorator.php
  • Класс: Bitrix\CrmMobile\UI\EntityEditor\ProviderDecorator
  • Вызов: ProviderDecorator::initializeEntityItemWithWrappedData
private function initializeEntityItemWithWrappedData(): void
{
	if (
		$this->entity->isNew()
		// dynamic types initialize copying the original data themselves
		|| ($this->isCopyMode() && !\CCrmOwnerType::isPossibleDynamicTypeId($this->getEntityTypeId()))
	)
	{
		$entityData = [];
		$wrappedEntityData = $this->getWrappedEntityData();
		$aliasMap = $this->getAliasFieldNames();

		foreach ($this->factory->getFieldsCollection() as $name => $field)
		{
			$aliasName = $aliasMap[$name] ?? null;

			if (!isset($wrappedEntityData[$name]) && !isset($wrappedEntityData[$aliasName]))
			{
				continue;
			}

			$fieldValue = $wrappedEntityData[$name] ?? $wrappedEntityData[$aliasName];

			if ($field->isUserField())
			{
				$entityData[$name] = $fieldValue['VALUE'] ?? $this->entity->getDefaultValue($name);
			}
			else
			{
				$entityData[$name] = $fieldValue;

				if ($aliasName !== null)
				{
					$entityData[$aliasName] = $fieldValue;
				}
			}
		}

		$this->entity->setFromCompatibleData($entityData);
	}
}