public static function getTypes() { if (empty(self::$eventTypes)) { self::$eventTypes = array('ORDER_COMMENTED' => GetMessage('CRM_INVOICE_EVENT_NAME_COMMENTED'), 'ORDER_STATUS_CHANGED' => GetMessage('CRM_INVOICE_EVENT_NAME_STATUS_CHANGED'), 'ORDER_PAYMENT_SYSTEM_CHANGED' => GetMessage('CRM_INVOICE_EVENT_NAME_PAYMENT_SYSTEM_CHANGED'), 'ORDER_PAYMENT_VOUCHER_CHANGED' => GetMessage('CRM_INVOICE_EVENT_NAME_PAYMENT_VOUCHER_CHANGED'), 'ORDER_PERSON_TYPE_CHANGED' => GetMessage('CRM_INVOICE_EVENT_NAME_PERSON_TYPE_CHANGED'), 'ORDER_USER_DESCRIPTION_CHANGED' => GetMessage('CRM_INVOICE_EVENT_NAME_USER_DESCRIPTION_CHANGED'), 'ORDER_PRICE_CHANGED' => GetMessage('CRM_INVOICE_EVENT_NAME_PRICE_CHANGED'), 'ORDER_ADDED' => GetMessage('CRM_INVOICE_EVENT_NAME_ADDED'), 'BASKET_ADDED' => GetMessage('CRM_INVOICE_EVENT_NAME_PRODUCT_ADDED'), 'BASKET_REMOVED' => GetMessage('CRM_INVOICE_EVENT_NAME_PRODUCT_REMOVED'), 'BASKET_QUANTITY_CHANGED' => GetMessage('CRM_INVOICE_EVENT_NAME_PRODUCT_QUANTITY_CHANGED'), 'BASKET_PRICE_CHANGED' => GetMessage('CRM_INVOICE_EVENT_NAME_PRODUCT_PRICE_CHANGED')); } return self::$eventTypes; }
$itemPerPage = isset($arParams['ITEM_PER_PAGE']) ? intval($arParams['ITEM_PER_PAGE']) : 0; if ($itemPerPage <= 0) { $itemPerPage = 20; } $arParams['ITEM_PER_PAGE'] = $itemPerPage; $arResult['EVENT_TYPES'] = CCrmInvoiceEvent::getTypes(); $sort = array('ID' => 'DESC'); $filter = array('ORDER_ID' => $entityID, 'TYPE' => array_keys($arResult['EVENT_TYPES'])); $navParams = array('nPageSize' => $itemPerPage, 'iNumPage' => $enablePaging ? false : 1, 'bShowAll' => false); $select = array('ID', 'TYPE', 'DATA', 'DATE_CREATE', 'USER_ID'); $navigation = CDBResult::GetNavParams($navParams); $CGridOptions = new CCrmGridOptions($arResult['UID']); $navParams = $CGridOptions->GetNavParams($navParams); $navParams['bShowAll'] = false; $arResult['ITEMS'] = array(); $event = new CCrmInvoiceEvent(); $dbRes = $event->GetList($sort, $filter, false, $navParams, $select); $dbRes->NavStart($navParams['nPageSize'], false); $arResult['PAGE_NAVNUM'] = intval($dbRes->NavNum); // pager index $arResult['PAGE_NUMBER'] = intval($dbRes->NavPageNomer); // current page index $arResult['PAGE_NAVCOUNT'] = intval($dbRes->NavPageCount); // page count $arResult['PAGER_PARAM'] = "PAGEN_{$arResult['PAGE_NAVNUM']}"; $arResult['PAGE_NEXT_NUMBER'] = $arResult['PAGE_NUMBER'] + 1; $items = array(); $userBindings = array(); while ($item = $dbRes->Fetch()) { $itemKey = isset($item['ID']) ? $item['ID'] : ''; $userKey = isset($item['USER_ID']) ? $item['USER_ID'] : '';
$key = array_search('ENTITY_TITLE', $arSelect, true); if ($key !== false) { unset($arSelect[$key]); } // } $CGridOptions->SetVisibleColumns($arSelect); $nTopCount = false; if ($arResult['GADGET'] == 'Y') { $nTopCount = $arResult['EVENT_COUNT']; } if ($nTopCount > 0) { $arNavParams['nTopCount'] = $nTopCount; } //$arEntityList = Array(); $arResult['EVENT'] = array(); $event = new CCrmInvoiceEvent(); if (!array_key_exists('TYPE', $arFilter)) { $arFilter['TYPE'] = array_keys($arResult['EVENT_TYPES']); } $obRes = $event->GetList($arResult['SORT'], $arFilter, false, $arNavParams, array(), array()); $arResult['DB_LIST'] = $obRes; $arResult['ROWS_COUNT'] = $obRes->NavRecordCount; // Prepare raw filter ('=CREATED_BY' => 'CREATED_BY') $arResult['DB_FILTER'] = array(); foreach ($arFilter as $filterKey => &$filterItem) { $info = CSqlUtil::GetFilterOperation($filterKey); $arResult['DB_FILTER'][$info['FIELD']] = $filterItem; } unset($filterItem); $arUserDistinct = array(); $arUserInfo = array();