- Модуль: 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);
}
}
}
}