function GetByID($ID) { global $DB; if (intval($ID) <= 0) { return false; } if (isset($GLOBALS["SALE_ORDER"]["SALE_ORDER_CACHE_" . $ID]) && is_array($GLOBALS["SALE_ORDER"]["SALE_ORDER_CACHE_" . $ID]) && is_set($GLOBALS["SALE_ORDER"]["SALE_ORDER_CACHE_" . $ID], "ID")) { return $GLOBALS["SALE_ORDER"]["SALE_ORDER_CACHE_" . $ID]; } else { $isOrderConverted = \Bitrix\Main\Config\Option::get("main", "~sale_converted_15", 'N') == 'Y'; if ($isOrderConverted == "Y") { $db_res = \Bitrix\Sale\Compatible\OrderCompatibility::getById($ID); } else { $strSql = "SELECT O.*, " . "\t" . $DB->DateToCharFunction("O.DATE_STATUS", "FULL") . " as DATE_STATUS_FORMAT, " . "\t" . $DB->DateToCharFunction("O.DATE_INSERT", "SHORT") . " as DATE_INSERT_FORMAT, " . "\t" . $DB->DateToCharFunction("O.DATE_UPDATE", "FULL") . " as DATE_UPDATE_FORMAT, " . "\t" . $DB->DateToCharFunction("O.DATE_LOCK", "FULL") . " as DATE_LOCK_FORMAT " . "FROM b_sale_order O " . "WHERE O.ID = " . $ID . ""; $db_res = $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__); } if ($res = $db_res->Fetch()) { if ($isOrderConverted == "Y") { $dataKeys = array_keys($res); foreach ($dataKeys as $key) { if (!empty($res[$key]) && ($res[$key] instanceof \Bitrix\Main\Type\DateTime || $res[$key] instanceof \Bitrix\Main\Type\Date)) { /** @var \Bitrix\Main\Type\Date|\Bitrix\Main\Type\DateTime $dateObject */ $dateObject = $res[$key]; if ($key == "DATE_INSERT") { $res['DATE_INSERT_FORMAT'] = Sale\Compatible\OrderCompatibility::convertDateFieldToFormat($dateObject, FORMAT_DATE); } elseif ($key == "DATE_STATUS") { $res['DATE_STATUS_FORMAT'] = Sale\Compatible\OrderCompatibility::convertDateFieldToFormat($dateObject, FORMAT_DATETIME); } elseif ($key == "DATE_UPDATE") { $res['DATE_UPDATE_FORMAT'] = Sale\Compatible\OrderCompatibility::convertDateFieldToFormat($dateObject, FORMAT_DATETIME); } elseif ($key == "DATE_LOCK") { $res['DATE_LOCK_FORMAT'] = Sale\Compatible\OrderCompatibility::convertDateFieldToFormat($dateObject, FORMAT_DATETIME); } $res[$key] = $dateObject->format('Y-m-d H:i:s'); } } $res = \Bitrix\Sale\Compatible\OrderFetchAdapter::convertRowData($res); } $GLOBALS["SALE_ORDER"]["SALE_ORDER_CACHE_" . $ID] = $res; return $res; } } return False; }