• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/compatible/ordercompatibility.php
  • Класс: BitrixSaleCompatibleOrderCompatibility
  • Вызов: OrderCompatibility::fillOrderFieldsFromEntity
static function fillOrderFieldsFromEntity(SaleOrder $order, SaleInternalsCollectableEntity $entity, array $requestFields, array $allowFields)
{
	$dateFields = static::getEntityDateFields($entity);
	foreach ($allowFields as $checkField)
	{
		$checkOrderField = $order->getField($checkField);

		$isDate = false;

		if (array_key_exists($checkField, $dateFields))
		{
			$isDate = true;
			$checkOrderField = static::convertDateFieldToOldFormat($order->getField($checkField));
		}

		if (!empty($requestFields[$checkField]) && $checkOrderField != trim($requestFields[$checkField]))
		{
			$setValue = $entity->getField($checkField);
			if ($isDate)
			{
				$setValue = static::convertDateField($checkField, $requestFields[$checkField], static::getEntityDateFields($entity));
			}

			if (in_array($checkField, static::getAvailableFields()))
			{
				$order->setFieldNoDemand($checkField, $setValue);
			}
		}
	}
}