function CCrmProductResult($res, $arFields = array(), $arAdditionalFilter = array(), $arAdditionalSelect = array(), $arOptions = array()) { parent::CDBResult($res); $fields = $arFields; foreach ($fields as $k => $v) { $str = strval($v); if (trim($str) === '') { unset($fields[$k]); } } $this->arFieldAssoc = array_flip($fields); $this->arAdditionalFilter = $arAdditionalFilter; $this->arAdditionalSelect = $arAdditionalSelect; $this->bRealPrice = false; if (is_array($arOptions) && count($arOptions) > 0) { if (isset($arOptions['REAL_PRICE']) && $arOptions['REAL_PRICE'] === true) { $this->bRealPrice = true; } } self::$bVatMode = CCrmTax::isVatMode(); if (self::$bVatMode) { self::$arVatRates = CCrmVat::GetAll(); } }
public static function RecalculatePriceVat($price, $bVatIncluded, $vatId) { $result = $price; if (self::$bVatMode === null) { self::$bVatMode = CCrmTax::isVatMode(); if (self::$bVatMode) { self::$arVatRates = CCrmVat::GetAll(); } } if (self::$bVatMode) { if ($bVatIncluded !== 'Y') { if (isset(self::$arVatRates[$vatId])) { $vatRate = self::$arVatRates[$vatId]['RATE']; $result = (doubleval($vatRate) / 100 + 1) * doubleval($price); } } } return $result; }
ShowError($error); } } unset($_GET['ID'], $_REQUEST['ID']); // otherwise the filter will work } if (!isset($_GET['AJAX_CALL'])) { LocalRedirect($bInternal ? '?' . $arParams['FORM_ID'] . '_active_tab=tab_product' : ''); } } $gridOptions = new CCrmGridOptions($arResult['GRID_ID']); $gridSorting = $gridOptions->GetSorting(array('sort' => array('c_sort' => 'desc'), 'vars' => array('by' => 'by', 'order' => 'order'))); $sort = $arResult['SORT'] = $gridSorting['sort']; $arResult['SORT_VARS'] = $gridSorting['vars']; $vats = array(); $allVats = CCrmVat::GetAll(); foreach ($allVats as $k => $v) { $arVat = array(); $arVat['ID'] = $arVat['~ID'] = intval($k); // Key is Currency ID $arVat['NAME'] = $v['NAME']; $arVat['C_SORT'] = $arVat['~C_SORT'] = intval($v['C_SORT']); $arVat['ACTIVE'] = $arVat['~ACTIVE'] = $v['ACTIVE'] == 'Y' ? 'Y' : 'N'; $arVat['RATE'] = $arVat['~RATE'] = $v['RATE']; $arVat['PATH_TO_VAT_SHOW'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_VAT_SHOW'], array('vat_id' => $k)); $arVat['PATH_TO_VAT_EDIT'] = CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_VAT_EDIT'], array('vat_id' => $k)); $arVat['PATH_TO_VAT_DELETE'] = CHTTP::urlAddParams(CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_VAT_LIST'], array('vat_id' => $k)), array('action_' . $arResult['GRID_ID'] => 'delete', 'ID' => $k, 'sessid' => bitrix_sessid())); $arVat['~NAME'] = htmlspecialcharsBack($arVat['NAME']); $vats[] = $arVat; } if (is_array($sort) && count($sort) > 0) {