public static function ConvertFromDB($arProperty, $value, $format = '') { if (strlen($value["VALUE"]) > 0) { try { $time = new Bitrix\Main\Type\DateTime($value['VALUE'], "Y-m-d H:i:s"); $time->toUserTime(); if ($format === 'SHORT') { $phpFormat = $time->convertFormatToPhp(FORMAT_DATE); } elseif ($format === 'FULL') { $phpFormat = $time->convertFormatToPhp(FORMAT_DATETIME); } elseif ($format) { $phpFormat = $time->convertFormatToPhp($format); } else { $phpFormat = $time->getFormat(); } $value["VALUE"] = $time->format($phpFormat); $value["VALUE"] = str_replace(" 00:00:00", "", $value["VALUE"]); } catch (Bitrix\Main\ObjectException $e) { } } return $value; }
public static function RebuildStatistics(array $IDs) { $dbResult = self::GetListEx(array(), array('@ID' => $IDs, 'CHECK_PERMISSIONS' => 'N'), false, false, array('ID', 'DATE_CREATE', 'DATE_MODIFY', 'STAGE_ID', 'ASSIGNED_BY_ID', 'BEGINDATE', 'CLOSEDATE', 'CURRENCY_ID', 'OPPORTUNITY', 'UF_*')); if (!is_object($dbResult)) { return; } while ($fields = $dbResult->Fetch()) { $ID = (int) $fields['ID']; //--> History if (!Bitrix\Crm\History\DealStageHistoryEntry::isRegistered($ID)) { $created = isset($fields['DATE_CREATE']) ? $fields['DATE_CREATE'] : ''; $createdTime = null; try { $createdTime = new Bitrix\Main\Type\DateTime($created, Bitrix\Main\Type\DateTime::convertFormatToPhp(FORMAT_DATETIME)); } catch (Bitrix\Main\ObjectException $e) { } $modified = isset($fields['DATE_MODIFY']) ? $fields['DATE_MODIFY'] : ''; $modifiedTime = null; if ($modified !== '') { try { $modifiedTime = new Bitrix\Main\Type\DateTime($modified, Bitrix\Main\Type\DateTime::convertFormatToPhp(FORMAT_DATETIME)); } catch (Bitrix\Main\ObjectException $e) { } } if ($createdTime && $modifiedTime && $createdTime->getTimestamp() !== $modifiedTime->getTimestamp()) { Bitrix\Crm\History\DealStageHistoryEntry::register($ID, $fields, array('IS_NEW' => false, 'TIME' => $modifiedTime)); } elseif ($createdTime) { Bitrix\Crm\History\DealStageHistoryEntry::register($ID, $fields, array('IS_NEW' => true, 'TIME' => $createdTime)); } } //<-- History //--> Statistics if (!Bitrix\Crm\Statistics\DealSumStatisticEntry::isRegistered($ID)) { Bitrix\Crm\Statistics\DealSumStatisticEntry::register($ID, $fields); } if (!Bitrix\Crm\Statistics\DealInvoiceStatisticEntry::isRegistered($ID)) { Bitrix\Crm\Statistics\DealInvoiceStatisticEntry::register($ID, $fields); } $timeline = Bitrix\Crm\Statistics\DealActivityStatisticEntry::prepareTimeline($ID); foreach ($timeline as $date) { Bitrix\Crm\Statistics\DealActivityStatisticEntry::register($ID, $fields, array('DATE' => $date)); } //<-- Statistics } }
public static function ConvertFromDB($arProperty, $value, $format = '') { if (strlen($value["VALUE"]) > 0) { try { $time = new Bitrix\Main\Type\DateTime($value['VALUE'], "Y-m-d H:i:s", new \DateTimeZone('UTC')); $time->setDefaultTimeZone(); $phpFormat = $format? $time->convertFormatToPhp($format): $time->getFormat(); $value["VALUE"] = $time->format($phpFormat); $value["VALUE"] = str_replace(" 00:00:00", "", $value["VALUE"]); } catch(Main\ObjectException $e) { } } return $value; }