• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/copy/copyimplementer.php
  • Класс: BitrixMainCopyCopyImplementer
  • Вызов: CopyImplementer::getFields
public function getFields(Container $container, $entityId);

/**
 * Preparing data before creating a new entity.
 *
 * @param Container $container
 * @param array $fields List entity fields.
 * @return array $fields
 */
abstract public function prepareFieldsToCopy(Container $container, array $fields);

/**
 * Starts copying children entities.
 *
 * @param Container $container
 * @param int $entityId Entity id.
 * @param int $copiedEntityId Copied entity id.
 * @return Result
 */
abstract public function copyChildren(Container $container, $entityId, $copiedEntityId);

/**
 * @param Result[] $results
 * @return Result
 */
protected function getResult(array $results = [])
{
	$copyResult = new Result();

	$data = [];
	foreach ($results as $result)
	{
		$data = $data + $result->getData();
		if ($result->getErrors())
		{
			$copyResult->addErrors($result->getErrors());
		}
	}

	if ($data)
	{
		$copyResult->setData($data);
	}

	return $copyResult;
}