• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Service/Operation/Copy.php
  • Класс: Bitrix\Crm\Service\Operation\Copy
  • Вызов: Copy::copyData
protected function copyData(Item $original, Item $copy): void
{
	$originalData = $original->getCompatibleData();
	if (!is_null($this->fieldsCollection))
	{
		foreach ($this->fieldsCollection as $field)
		{
			if ($field->isAutoGenerated())
			{
				unset($originalData[$field->getName()]);
			}
		}
	}

	if (isset($originalData[Item::FIELD_NAME_PRODUCTS]) && is_array($originalData[Item::FIELD_NAME_PRODUCTS]))
	{
		foreach ($originalData[Item::FIELD_NAME_PRODUCTS] as &$originalProductRow)
		{
			//do not copy primary key, it will cause sql error
			unset($originalProductRow['ID']);
		}
		unset($originalProductRow);
	}

	$copy->setFromCompatibleData($originalData);

	// if stages are disabled, it doesn't present in a compatible data
	$copy->setStageId($original->getStageId());
}