Пример #1
0
 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;
 }
Пример #2
0
 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
     }
 }
Пример #3
0
	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;
	}