• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/item/converter.php
  • Класс: BitrixTasksItemConverter
  • Вызов: Converter::convertUserFieldData
protected function convertUserFieldData($srcInstance, $dstInstance, $result)
{
	$srcUFCtrl = $srcInstance->getUserFieldController();
	$dstUFCtrl = $dstInstance->getUserFieldController();

	if($srcUFCtrl && $dstUFCtrl)
	{
		$parameters = array();
		if ($this->config['UF.FILTER'] ?? null)
		{
			$parameters['FILTER'] = new Filter($this->config['UF.FILTER']);
		}

		$dstScheme = $dstUFCtrl->getScheme();
		$newData = $dstInstance->getData('~');
		foreach($dstScheme as $fieldName => $fieldData)
		{
			// plus all user fields
			if($srcUFCtrl->isFieldExist($fieldName))
			{
				$newData[$fieldName] = $srcInstance[$fieldName];
			}
		}

		// then clone the remaining
		$ufCloneResult = $srcUFCtrl->cloneValues($newData, $dstUFCtrl, $srcInstance->getUserId(), $parameters);
		if(!$ufCloneResult->getErrors()->isEmpty())
		{
			$result->getErrors()->load($ufCloneResult->getErrors());
		}

		if($ufCloneResult->isSuccess())
		{
			$newData = $ufCloneResult->getData();
			if(is_array($newData))
			{
				foreach($newData as $field => $value)
				{
					$dstInstance[$field] = $value;
				}
			}
		}
	}
}