/** * @return array */ public static function getSlotInfos() { self::includeModuleFile(); $result = array(array('NAME' => 'SUM_TOTAL', 'IS_FIXED' => true, 'TITLE' => GetMessage('CRM_DEAL_SUM_STAT_ENTRY_SLOT_SUM_TOTAL'))); $names = DealSumStatisticsTable::getSumSlotFieldNames(); foreach ($names as $name) { $result[] = array('NAME' => $name); } return $result; }
/** @return array */ public function prepareEntityListFilter(array $filterParams) { $filter = self::internalizeFilter($filterParams); $query = new Query(DealSumStatisticsTable::getEntity()); $query->addSelect('OWNER_ID'); $query->addGroup('OWNER_ID'); $period = $filter->getPeriod(); $periodStartDate = $period['START']; $periodEndDate = $period['END']; $query->addFilter('>=END_DATE', $periodStartDate); $query->addFilter('<=START_DATE', $periodEndDate); $responsibleIDs = $filter->getResponsibleIDs(); if (!empty($responsibleIDs)) { $query->addFilter('@RESPONSIBLE_ID', $responsibleIDs); } $semanticID = $filter->getExtraParam('semanticID', PhaseSemantics::UNDEFINED); if ($semanticID !== PhaseSemantics::UNDEFINED) { $query->addFilter('=STAGE_SEMANTIC_ID', $semanticID); } return array('__JOINS' => array(array('TYPE' => 'INNER', 'SQL' => 'INNER JOIN(' . $query->getQuery() . ') DS ON DS.OWNER_ID = L.ID'))); }
/** * @return void */ public static function unregister($ownerID) { DealSumStatisticsTable::deleteByOwner($ownerID); }