public static function createVatZero() { \Bitrix\Main\Config\Option::set('crm', 'check_vat_zero', '0', ''); if (!Loader::includeModule('catalog')) { return; } $siteID = ''; $languageID = ''; $dbSites = \CSite::GetList($by = 'sort', $order = 'desc', array('DEFAULT' => 'Y', 'ACTIVE' => 'Y')); $defaultSite = is_object($dbSites) ? $dbSites->Fetch() : null; if (is_array($defaultSite)) { $siteID = $defaultSite['LID']; $languageID = $defaultSite['LANGUAGE_ID']; } if ($siteID === '') { $siteID = 's1'; } if ($languageID === '') { $languageID = 'ru'; } \Bitrix\Main\Config\Option::set('crm', 'check_vat_zero', '-1', ''); if ($languageID == 'ru') { \Bitrix\Main\Config\Option::set('crm', 'check_vat_zero', '-2', ''); $resVats = \CCatalogVat::GetListEx(array(), array('RATE' => 0), false, false, array('ID')); if (!($vatInfo = $resVats->Fetch())) { \Bitrix\Main\Config\Option::set('crm', 'check_vat_zero', '-3', ''); $fields = array('ACTIVE' => 'Y', 'SORT' => '100', 'NAME' => Loc::getMessage('CRM_VAT_ZERO', null, $languageID), 'RATE' => '0.0'); $vatID = \CCatalogVat::Add($fields); if ($vatID) { $vatID = (int) $vatID; } else { $vatID = -4; } \Bitrix\Main\Config\Option::set('crm', 'check_vat_zero', $vatID, ''); } } }
function CheckTax($title, $rate) { $tax_name = $title . " " . $rate . "%"; if (!array_key_exists($tax_name, $this->arTaxCache)) { $rsVat = CCatalogVat::GetListEx(array(), array("=NAME" => $tax_name, "RATE" => $rate), false, false, array("ID")); if ($arVat = $rsVat->Fetch()) { $this->arTaxCache[$tax_name] = $arVat["ID"]; } else { $this->arTaxCache[$tax_name] = CCatalogVat::Add(array("ACTIVE" => "Y", "NAME" => $tax_name, "RATE" => $rate)); } } return $this->arTaxCache[$tax_name]; }
public static function GetControls($strControlID = false) { $arVatList = array(); $arFilter = array(); $rsVats = CCatalogVat::GetListEx(array(), $arFilter, false, false, array('ID', 'NAME')); while ($arVat = $rsVats->Fetch()) { $arVatList[$arVat['ID']] = $arVat['NAME']; } unset($arVat, $rsVats); $arControlList = array( 'CondIBElement' => array( 'ID' => 'CondIBElement', 'PARENT' => true, 'FIELD' => 'ID', 'FIELD_TYPE' => 'int', 'MULTIPLE' => 'N', 'GROUP' => 'N', 'LABEL' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_ELEMENT_ID_LABEL'), 'PREFIX' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_ELEMENT_ID_PREFIX'), 'LOGIC' => static::GetLogic(array(BT_COND_LOGIC_EQ, BT_COND_LOGIC_NOT_EQ)), 'JS_VALUE' => array( 'type' => 'popup', 'popup_url' => '/bitrix/admin/iblock_element_search.php', 'popup_params' => array( 'lang' => LANGUAGE_ID, 'discount' => 'Y' ), 'param_id' => 'n', 'show_value' => 'Y' ), 'PHP_VALUE' => array( 'VALIDATE' => 'element' ) ), 'CondIBIBlock' => array( 'ID' => 'CondIBIBlock', 'PARENT' => true, 'FIELD' => 'IBLOCK_ID', 'FIELD_TYPE' => 'int', 'MULTIPLE' => 'N', 'GROUP' => 'N', 'LABEL' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_IBLOCK_ID_LABEL'), 'PREFIX' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_IBLOCK_ID_PREFIX'), 'LOGIC' => static::GetLogic(array(BT_COND_LOGIC_EQ, BT_COND_LOGIC_NOT_EQ)), 'JS_VALUE' => array( 'type' => 'popup', 'popup_url' => '/bitrix/admin/cat_iblock_search.php', 'popup_params' => array( 'lang' => LANGUAGE_ID, 'discount' => 'Y' ), 'param_id' => 'n', 'show_value' => 'Y' ), 'PHP_VALUE' => array( 'VALIDATE' => 'iblock' ) ), 'CondIBSection' => array( 'ID' => 'CondIBSection', 'PARENT' => false, 'FIELD' => 'SECTION_ID', 'FIELD_TYPE' => 'int', 'MULTIPLE' => 'Y', 'GROUP' => 'N', 'LABEL' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_SECTION_ID_LABEL'), 'PREFIX' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_SECTION_ID_PREFIX'), 'LOGIC' => static::GetLogic(array(BT_COND_LOGIC_EQ, BT_COND_LOGIC_NOT_EQ)), 'JS_VALUE' => array( 'type' => 'popup', 'popup_url' => '/bitrix/admin/cat_section_search.php', 'popup_params' => array( 'lang' => LANGUAGE_ID, 'discount' => 'Y' ), 'param_id' => 'n', 'show_value' => 'Y' ), 'PHP_VALUE' => array( 'VALIDATE' => 'section' ) ), 'CondIBCode' => array( 'ID' => 'CondIBCode', 'PARENT' => true, 'FIELD' => 'CODE', 'FIELD_TYPE' => 'string', 'FIELD_LENGTH' => 255, 'MULTIPLE' => 'N', 'GROUP' => 'N', 'LABEL' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_CODE_LABEL'), 'PREFIX' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_CODE_PREFIX'), 'LOGIC' => static::GetLogic(array(BT_COND_LOGIC_EQ, BT_COND_LOGIC_NOT_EQ, BT_COND_LOGIC_CONT, BT_COND_LOGIC_NOT_CONT)), 'JS_VALUE' => array( 'type' => 'input' ), 'PHP_VALUE' => '' ), 'CondIBXmlID' => array( 'ID' => 'CondIBXmlID', 'PARENT' => true, 'FIELD' => 'XML_ID', 'FIELD_TYPE' => 'string', 'FIELD_LENGTH' => 255, 'MULTIPLE' => 'N', 'GROUP' => 'N', 'LABEL' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_XML_ID_LABEL'), 'PREFIX' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_XML_ID_PREFIX'), 'LOGIC' => static::GetLogic(array(BT_COND_LOGIC_EQ, BT_COND_LOGIC_NOT_EQ, BT_COND_LOGIC_CONT, BT_COND_LOGIC_NOT_CONT)), 'JS_VALUE' => array( 'type' => 'input' ), 'PHP_VALUE' => '' ), 'CondIBName' => array( 'ID' => 'CondIBName', 'PARENT' => true, 'FIELD' => 'NAME', 'FIELD_TYPE' => 'string', 'FIELD_LENGTH' => 255, 'MULTIPLE' => 'N', 'GROUP' => 'N', 'LABEL' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_NAME_LABEL'), 'PREFIX' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_NAME_PREFIX'), 'LOGIC' => static::GetLogic(array(BT_COND_LOGIC_EQ, BT_COND_LOGIC_NOT_EQ, BT_COND_LOGIC_CONT, BT_COND_LOGIC_NOT_CONT)), 'JS_VALUE' => array( 'type' => 'input' ), 'PHP_VALUE' => '' ), 'CondIBActive' => array( 'ID' => 'CondIBActive', 'PARENT' => true, 'FIELD' => 'ACTIVE', 'FIELD_TYPE' => 'char', 'MULTIPLE' => 'N', 'GROUP' => 'N', 'LABEL' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_ACTIVE_LABEL'), 'PREFIX' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_ACTIVE_PREFIX'), 'LOGIC' => static::GetLogic(array(BT_COND_LOGIC_EQ, BT_COND_LOGIC_NOT_EQ)), 'JS_VALUE' => array( 'type' => 'select', 'values' => array( 'Y' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_ACTIVE_VALUE_YES'), 'N' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_ACTIVE_VALUE_NO') ) ), 'PHP_VALUE' => array( 'VALIDATE' => 'list' ) ), 'CondIBDateActiveFrom' => array( 'ID' => 'CondIBDateActiveFrom', 'PARENT' => true, 'FIELD' => 'DATE_ACTIVE_FROM', 'FIELD_TYPE' => 'datetime', 'MULTIPLE' => 'N', 'GROUP' => 'N', 'LABEL' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_DATE_ACTIVE_FROM_LABEL'), 'PREFIX' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_DATE_ACTIVE_FROM_PREFIX'), 'LOGIC' => static::GetLogic(array(BT_COND_LOGIC_EQ, BT_COND_LOGIC_NOT_EQ, BT_COND_LOGIC_GR, BT_COND_LOGIC_LS, BT_COND_LOGIC_EGR, BT_COND_LOGIC_ELS)), 'JS_VALUE' => array( 'type' => 'datetime', 'format' => 'datetime' ), 'PHP_VALUE' => '' ), 'CondIBDateActiveTo' => array( 'ID' => 'CondIBDateActiveTo', 'PARENT' => true, 'FIELD' => 'DATE_ACTIVE_TO', 'FIELD_TYPE' => 'datetime', 'MULTIPLE' => 'N', 'GROUP' => 'N', 'LABEL' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_DATE_ACTIVE_TO_LABEL'), 'PREFIX' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_DATE_ACTIVE_TO_PREFIX'), 'LOGIC' => static::GetLogic(array(BT_COND_LOGIC_EQ, BT_COND_LOGIC_NOT_EQ, BT_COND_LOGIC_GR, BT_COND_LOGIC_LS, BT_COND_LOGIC_EGR, BT_COND_LOGIC_ELS)), 'JS_VALUE' => array( 'type' => 'datetime', 'format' => 'datetime' ), 'PHP_VALUE' => '' ), 'CondIBSort' => array( 'ID' => 'CondIBSort', 'PARENT' => true, 'FIELD' => 'SORT', 'FIELD_TYPE' => 'int', 'MULTIPLE' => 'N', 'GROUP' => 'N', 'LABEL' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_SORT_LABEL'), 'PREFIX' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_SORT_PREFIX'), 'LOGIC' => static::GetLogic(array(BT_COND_LOGIC_EQ, BT_COND_LOGIC_NOT_EQ, BT_COND_LOGIC_GR, BT_COND_LOGIC_LS, BT_COND_LOGIC_EGR, BT_COND_LOGIC_ELS)), 'JS_VALUE' => array( 'type' => 'input' ), 'PHP_VALUE' => '' ), 'CondIBPreviewText' => array( 'ID' => 'CondIBPreviewText', 'PARENT' => true, 'FIELD' => 'PREVIEW_TEXT', 'FIELD_TYPE' => 'text', 'MULTIPLE' => 'N', 'GROUP' => 'N', 'LABEL' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_PREVIEW_TEXT_LABEL'), 'PREFIX' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_PREVIEW_TEXT_PREFIX'), 'LOGIC' => static::GetLogic(array(BT_COND_LOGIC_EQ, BT_COND_LOGIC_NOT_EQ, BT_COND_LOGIC_CONT, BT_COND_LOGIC_NOT_CONT)), 'JS_VALUE' => array( 'type' => 'input' ), 'PHP_VALUE' => '' ), 'CondIBDetailText' => array( 'ID' => 'CondIBDetailText', 'PARENT' => true, 'FIELD' => 'DETAIL_TEXT', 'FIELD_TYPE' => 'text', 'MULTIPLE' => 'N', 'GROUP' => 'N', 'LABEL' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_DETAIL_TEXT_LABEL'), 'PREFIX' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_DETAIL_TEXT_PREFIX'), 'LOGIC' => static::GetLogic(array(BT_COND_LOGIC_EQ, BT_COND_LOGIC_NOT_EQ, BT_COND_LOGIC_CONT, BT_COND_LOGIC_NOT_CONT)), 'JS_VALUE' => array( 'type' => 'input' ), 'PHP_VALUE' => '' ), 'CondIBDateCreate' => array( 'ID' => 'CondIBDateCreate', 'PARENT' => true, 'FIELD' => 'DATE_CREATE', 'FIELD_TYPE' => 'datetime', 'MULTIPLE' => 'N', 'GROUP' => 'N', 'LABEL' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_DATE_CREATE_LABEL'), 'PREFIX' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_DATE_CREATE_PREFIX'), 'LOGIC' => static::GetLogic(array(BT_COND_LOGIC_EQ, BT_COND_LOGIC_NOT_EQ, BT_COND_LOGIC_GR, BT_COND_LOGIC_LS, BT_COND_LOGIC_EGR, BT_COND_LOGIC_ELS)), 'JS_VALUE' => array( 'type' => 'datetime', 'format' => 'datetime' ), 'PHP_VALUE' => '' ), 'CondIBCreatedBy' => array( 'ID' => 'CondIBCreatedBy', 'PARENT' => true, 'FIELD' => 'CREATED_BY', 'FIELD_TYPE' => 'int', 'MULTIPLE' => 'N', 'GROUP' => 'N', 'LABEL' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_CREATED_BY_LABEL'), 'PREFIX' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_CREATED_BY_PREFIX'), 'LOGIC' => static::GetLogic(array(BT_COND_LOGIC_EQ, BT_COND_LOGIC_NOT_EQ)), 'JS_VALUE' => array( 'type' => 'input' ), 'PHP_VALUE' => array( 'VALIDATE' => 'user' ) ), 'CondIBTimestampX' => array( 'ID' => 'CondIBTimestampX', 'PARENT' => true, 'FIELD' => 'TIMESTAMP_X', 'FIELD_TYPE' => 'datetime', 'MULTIPLE' => 'N', 'GROUP' => 'N', 'LABEL' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_TIMESTAMP_X_LABEL'), 'PREFIX' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_TIMESTAMP_X_PREFIX'), 'LOGIC' => static::GetLogic(array(BT_COND_LOGIC_EQ, BT_COND_LOGIC_NOT_EQ, BT_COND_LOGIC_GR, BT_COND_LOGIC_LS, BT_COND_LOGIC_EGR, BT_COND_LOGIC_ELS)), 'JS_VALUE' => array( 'type' => 'datetime', 'format' => 'datetime' ), 'PHP_VALUE' => '' ), 'CondIBModifiedBy' => array( 'ID' => 'CondIBModifiedBy', 'PARENT' => true, 'FIELD' => 'MODIFIED_BY', 'FIELD_TYPE' => 'int', 'MULTIPLE' => 'N', 'GROUP' => 'N', 'LABEL' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_MODIFIED_BY_LABEL'), 'PREFIX' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_MODIFIED_BY_PREFIX'), 'LOGIC' => static::GetLogic(array(BT_COND_LOGIC_EQ, BT_COND_LOGIC_NOT_EQ)), 'JS_VALUE' => array( 'type' => 'input' ), 'PHP_VALUE' => array( 'VALIDATE' => 'user' ) ), 'CondIBTags' => array( 'ID' => 'CondIBTags', 'PARENT' => true, 'FIELD' => 'TAGS', 'FIELD_TYPE' => 'string', 'FIELD_LENGTH' => 255, 'MULTIPLE' => 'N', 'GROUP' => 'N', 'LABEL' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_TAGS_LABEL'), 'PREFIX' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_IBLOCK_TAGS_PREFIX'), 'LOGIC' => static::GetLogic(array(BT_COND_LOGIC_EQ, BT_COND_LOGIC_NOT_EQ, BT_COND_LOGIC_CONT, BT_COND_LOGIC_NOT_CONT)), 'JS_VALUE' => array( 'type' => 'input' ), 'PHP_VALUE' => '' ), 'CondCatQuantity' => array( 'ID' => 'CondCatQuantity', 'PARENT' => false, 'FIELD' => 'CATALOG_QUANTITY', 'FIELD_TYPE' => 'double', 'MULTIPLE' => 'N', 'GROUP' => 'N', 'LABEL' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_CATALOG_QUANTITY_LABEL'), 'PREFIX' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_CATALOG_QUANTITY_PREFIX'), 'LOGIC' => static::GetLogic(array(BT_COND_LOGIC_EQ, BT_COND_LOGIC_NOT_EQ, BT_COND_LOGIC_GR, BT_COND_LOGIC_LS, BT_COND_LOGIC_EGR, BT_COND_LOGIC_ELS)), 'JS_VALUE' => array( 'type' => 'input' ) ), 'CondCatWeight' => array( 'ID' => 'CondCatWeight', 'PARENT' => false, 'FIELD' => 'CATALOG_WEIGHT', 'FIELD_TYPE' => 'double', 'MULTIPLE' => 'N', 'GROUP' => 'N', 'LABEL' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_CATALOG_WEIGHT_LABEL'), 'PREFIX' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_CATALOG_WEIGHT_PREFIX'), 'LOGIC' => static::GetLogic(array(BT_COND_LOGIC_EQ, BT_COND_LOGIC_NOT_EQ, BT_COND_LOGIC_GR, BT_COND_LOGIC_LS, BT_COND_LOGIC_EGR, BT_COND_LOGIC_ELS)), 'JS_VALUE' => array( 'type' => 'input' ), 'PHP_VALUE' => '' ), 'CondCatVatID' => array( 'ID' => 'CondCatVatID', 'PARENT' => false, 'FIELD' => 'CATALOG_VAT_ID', 'FIELD_TYPE' => 'int', 'MULTIPLE' => 'N', 'GROUP' => 'N', 'LABEL' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_CATALOG_VAT_ID_LABEL'), 'PREFIX' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_CATALOG_VAT_ID_PREFIX'), 'LOGIC' => static::GetLogic(array(BT_COND_LOGIC_EQ, BT_COND_LOGIC_NOT_EQ)), 'JS_VALUE' => array( 'type' => 'select', 'values' => $arVatList ), 'PHP_VALUE' => array( 'VALIDATE' => 'list' ) ), 'CondCatVatIncluded' => array( 'ID' => 'CondCatVatIncluded', 'PARENT' => false, 'FIELD' => 'CATALOG_VAT_INCLUDED', 'FIELD_TYPE' => 'char', 'MULTIPLE' => 'N', 'GROUP' => 'N', 'LABEL' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_CATALOG_VAT_INCLUDED_LABEL'), 'PREFIX' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_CATALOG_VAT_INCLUDED_PREFIX'), 'LOGIC' => static::GetLogic(array(BT_COND_LOGIC_EQ, BT_COND_LOGIC_NOT_EQ)), 'JS_VALUE' => array( 'type' => 'select', 'values' => array( 'Y' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_CATALOG_VAT_INCLUDED_VALUE_YES'), 'N' => Loc::getMessage('BT_MOD_CATALOG_COND_CMP_CATALOG_VAT_INCLUDED_VALUE_NO') ) ), 'PHP_VALUE' => array( 'VALIDATE' => 'list' ) ) ); if ($strControlID === false) { return $arControlList; } elseif (isset($arControlList[$strControlID])) { return $arControlList[$strControlID]; } else { return false; } }
function CatalogGetVATArray($arFilter = array(), $bInsertEmptyLine = false) { $bInsertEmptyLine = $bInsertEmptyLine === true; if (!is_array($arFilter)) { $arFilter = array(); } $arFilter['ACTIVE'] = 'Y'; $dbResult = CCatalogVat::GetListEx(array(), $arFilter, false, false, array('ID', 'NAME')); $arReference = array(); if ($bInsertEmptyLine) { $arList = array('REFERENCE' => array(0 => Loc::getMessage('CAT_VAT_REF_NOT_SELECTED')), 'REFERENCE_ID' => array(0 => '')); } else { $arList = array('REFERENCE' => array(), 'REFERENCE_ID' => array()); } $bEmpty = true; while ($arRes = $dbResult->Fetch()) { $bEmpty = false; $arList['REFERENCE'][] = $arRes['NAME']; $arList['REFERENCE_ID'][] = $arRes['ID']; } if ($bEmpty && !$bInsertEmptyLine) { return false; } else { return $arList; } }
/** * <p>Метод возвращает результат выборки записей из таблицы ставок НДС в соответствии со своими параметрами. Метод динамичный.</p> <p></p> <div class="note"> <b>Примечание:</b> начиная с версии модуля <b>12.5.6</b>, метод считается устаревшим. Вместо него рекомендуется использовать <a href="http://dev.1c-bitrix.ru/api_help/catalog/classes/ccatalogvat/getlistex.php">CCatalogVat::GetListEx</a>.</div> * * * @param array $arrayarOrder = array('CSORT' => 'ASC') Массив, в соответствии с которым сортируются результирующие * записи. Массив имеет вид: <pre class="syntax">array( "название_поля1" => * "направление_сортировки1", "название_поля2" => * "направление_сортировки2", . . . )</pre> В качестве "название_поля<i>N</i>" * может стоять любое поле, кроме <i>TIMESTAMP_X</i>. В качестве * "направление_сортировки<i>X</i>" могут быть значения "<i>ASC</i>" (по * возрастанию) и "<i>DESC</i>" (по убыванию). <br><br> Если массив сортировки * имеет несколько элементов, то результирующий набор сортируется * последовательно по каждому элементу (т.е. сначала сортируется по * первому элементу, потом результат сортируется по второму и т.д.). * * @param array $arrayarFilter = array() Массив, в соответствии с которым фильтруются записи. Массив имеет * вид: <pre class="syntax">array( "[оператор1]название_поля1" => "значение1", * "[оператор2]название_поля2" => "значение2", . . . )</pre> Удовлетворяющие * фильтру записи возвращаются в результате, а записи, которые не * удовлетворяют условиям фильтра, отбрасываются. <br><br> Допустимыми * являются следующие операторы: <ul> <li> <b>>=</b> - значение поля больше * или равно передаваемой в фильтр величины;</li> <li> <b>></b> - значение * поля строго больше передаваемой в фильтр величины;</li> <li> <b><=</b> - * значение поля меньше или равно передаваемой в фильтр величины;</li> * <li> <b><</b> - значение поля строго меньше передаваемой в фильтр * величины;</li> <li> <b>@</b> - оператор может использоваться для * целочисленных и вещественных данных при передаче набора * значений (массива). В этом случае при генерации sql-запроса будет * использован sql-оператор <b>IN</b>, дающий компактную форму записи;</li> * <li> <b>~</b> - значение поля проверяется на соответствие * передаваемому в фильтр шаблону;</li> <li> <b>%</b> - значение поля * проверяется на соответствие передаваемой в фильтр строке в * соответствии с языком запросов.</li> </ul> В качестве "название_поляX" * может стоять любое из следующих полей: <i>ID</i>, <i>ACTIVE</i>, <i>NAME</i> или * <i>RATE</i>. <br><br> Значение по умолчанию - пустой массив array() - означает, * что результат отфильтрован не будет. * * @param array $arrayarFields = array() Массив полей записей, которые будут возвращены методом.<br><br> * Возможные поля выборки: <i>ID</i>, <i>TIMESTAMP_X</i>, <i>ACTIVE</i>, <i>C_SORT</i>, <i>NAME</i> и * <i>RATE</i>. * * @return CDBResult <p>Возвращает объект класса <a * href="http://dev.1c-bitrix.ru/api_help/main/reference/cdbresult/index.php">CDBResult</a>, содержащий * коллекцию ассоциативных массивов с ключами.</p> <br><br> * * @static * @link http://dev.1c-bitrix.ru/api_help/catalog/classes/ccatalogvat/getlist.php * @author Bitrix */ public static function GetList($arOrder = array('SORT' => 'ASC'), $arFilter = array(), $arFields = array()) { if (is_array($arFilter)) { if (array_key_exists('NAME', $arFilter) && array_key_exists('NAME_EXACT_MATCH', $arFilter)) { if ('Y' == $arFilter['NAME_EXACT_MATCH']) { $arFilter['=NAME'] = $arFilter['NAME']; unset($arFilter['NAME']); } unset($arFilter['NAME_EXACT_MATCH']); } } return CCatalogVat::GetListEx($arOrder, $arFilter, false, false, $arFields); }
$dbVat = CCatalogVat::GetListEx( array(), array('RATE' => 0), false, false, array('ID', 'RATE') ); if(!($dbVat->Fetch())) { $arF = array("ACTIVE" => "Y", "SORT" => "100", "NAME" => GetMessage("WIZ_VAT_1"), "RATE" => 0); CCatalogVat::Add($arF); } $dbVat = CCatalogVat::GetListEx( array(), array('RATE' => GetMessage("WIZ_VAT_2_VALUE")), false, false, array('ID', 'RATE') ); if(!($dbVat->Fetch())) { $arF = array("ACTIVE" => "Y", "SORT" => "200", "NAME" => GetMessage("WIZ_VAT_2"), "RATE" => GetMessage("WIZ_VAT_2_VALUE")); CCatalogVat::Add($arF); } $dbResultList = CCatalogGroup::GetList(array(), array("CODE" => "BASE")); if($arRes = $dbResultList->Fetch()) { $arFields = Array(); foreach($arLanguages as $langID) { WizardServices::IncludeServiceLang("step1.php", $langID);
/** * <p>Метод возвращает результат выборки записей из таблицы ставок НДС в соответствии со своими параметрами.</p> <p><b>Примечание:</b> начиная с версии модуля <b>12.5.6</b>, метод считается устаревшим. Вместо него рекомендуется использовать <a href="http://dev.1c-bitrix.ru/api_help/catalog/classes/ccatalogvat/getlistex.php">CCatalogVat::GetListEx</a>.</p> * * * * * @param array $arrayarOrder = array('CSORT' => 'ASC') Массив, в соответствии с которым сортируются результирующие * записи. Массив имеет вид: <pre class="syntax">array( "название_поля1" => * "направление_сортировки1", "название_поля2" => * "направление_сортировки2", . . . )</pre> В качестве "название_поля<i>N</i>" * может стоять любое поле, кроме <i>TIMESTAMP_X</i>. В качестве * "направление_сортировки<i>X</i>" могут быть значения "<i>ASC</i>" (по * возрастанию) и "<i>DESC</i>" (по убыванию). <br><br> Если массив сортировки * имеет несколько элементов, то результирующий набор сортируется * последовательно по каждому элементу (т.е. сначала сортируется по * первому элементу, потом результат сортируется по второму и т.д.). * * * * @param array $arrayarFilter = array() Массив, в соответствии с которым фильтруются записи. Массив имеет * вид: <pre class="syntax">array( "[оператор1]название_поля1" => "значение1", * "[оператор2]название_поля2" => "значение2", . . . )</pre> Удовлетворяющие * фильтру записи возвращаются в результате, а записи, которые не * удовлетворяют условиям фильтра, отбрасываются. <br><br> Допустимыми * являются следующие операторы: <ul> <li> <b>>=</b> - значение поля больше * или равно передаваемой в фильтр величины;</li> <li> <b>></b> - значение * поля строго больше передаваемой в фильтр величины;</li> <li> <b><=</b> - * значение поля меньше или равно передаваемой в фильтр величины;</li> * <li> <b><</b> - значение поля строго меньше передаваемой в фильтр * величины;</li> <li> <b>@</b> - оператор может использоваться для * целочисленных и вещественных данных при передаче набора * значений (массива). В этом случае при генерации sql-запроса будет * использован sql-оператор <b>IN</b>, дающий компактную форму записи;</li> * <li> <b>~</b> - значение поля проверяется на соответствие * передаваемому в фильтр шаблону;</li> <li> <b>%</b> - значение поля * проверяется на соответствие передаваемой в фильтр строке в * соответствии с языком запросов.</li> </ul> В качестве "название_поляX" * может стоять любое из следующих полей: <i>ID</i>, <i>ACTIVE</i>, <i>NAME</i> или * <i>RATE</i>. <br><br> Значение по умолчанию - пустой массив array() - означает, * что результат отфильтрован не будет. * * * * @param array $arrayarFields = array() Массив полей записей, которые будут возвращены функцией.<br><br> * Возможные поля выборки: <i>ID</i>, <i>TIMESTAMP_X</i>, <i>ACTIVE</i>, <i>C_SORT</i>, <i>NAME</i> и * <i>RATE</i>. * * * * @return CDBResult <p>Возвращает объект класса <a * href="http://dev.1c-bitrix.ru/api_help/main/reference/cdbresult/index.php">CDBResult</a>, содержащий * коллекцию ассоциативных массивов с ключами.</p><br><br> * * @static * @link http://dev.1c-bitrix.ru/api_help/catalog/classes/ccatalogvat/getlist.php * @author Bitrix */ public static function GetList($arOrder = array('CSORT' => 'ASC'), $arFilter = array(), $arFields = array()) { return CCatalogVat::GetListEx($arOrder, $arFilter, false, false, $arFields); }
public static function GetVatRateInfos() { if (self::$VAT_RATES !== null) { return self::$VAT_RATES; } if (!CModule::IncludeModule('catalog')) { return array(); } self::$VAT_RATES = array(); $dbResult = CCatalogVat::GetListEx(array('C_SORT' => 'ASC'), array('ACTIVE' => 'Y'), false, false, array('ID', 'NAME', 'RATE')); if (is_object($dbResult)) { while ($fields = $dbResult->Fetch()) { $ID = intval($fields['ID']); self::$VAT_RATES[] = array('ID' => $ID, 'NAME' => isset($fields['NAME']) ? $fields['NAME'] : "[{$ID}]", 'VALUE' => isset($fields['RATE']) ? round(doubleval($fields['RATE']), 2) : 0.0); } } return self::$VAT_RATES; }
} else { $lAdmin->AddGroupError(str_replace("#ID#", $ID, GetMessage("ERROR_UPDATE_VAT")), $ID); } } break; } } } $lAdmin->AddHeaders(array(array("id" => "ID", "content" => "ID", "sort" => "ID", "default" => true), array("id" => "C_SORT", "content" => GetMessage("CVAT_SORT"), "sort" => "C_SORT", "default" => true), array("id" => "ACTIVE", "content" => GetMessage("CVAT_ACTIVE"), "sort" => "ACTIVE", "default" => true), array("id" => "NAME", "content" => GetMessage("CVAT_NAME"), "sort" => "NAME", "default" => true), array("id" => "RATE", "content" => GetMessage("CVAT_RATE"), "sort" => "RATE", "default" => true))); $arSelectFields = $lAdmin->GetVisibleHeaderColumns(); if (!in_array('ID', $arSelectFields)) { $arSelectFields[] = 'ID'; } $arSelectFields = array_values($arSelectFields); $arNavParams = isset($_REQUEST["mode"]) && 'excel' == $_REQUEST["mode"] ? false : array("nPageSize" => CAdminResult::GetNavSize($sTableID)); $dbResultList = CCatalogVat::GetListEx(array($by => $order), $arFilter, false, $arNavParams, $arSelectFields); $dbResultList = new CAdminResult($dbResultList, $sTableID); $dbResultList->NavStart(); $lAdmin->NavText($dbResultList->GetNavPrint(GetMessage("CVAT_NAV"))); while ($arVAT = $dbResultList->Fetch()) { $arVAT['ID'] = (int) $arVAT['ID']; $row =& $lAdmin->AddRow($arVAT['ID'], $arVAT); $row->AddField("ID", $arVAT['ID']); if ($bReadOnly) { $row->AddCheckField("ACTIVE", false); $row->AddInputField("NAME", false); $row->AddViewField("C_SORT", false); } else { $row->AddCheckField("ACTIVE"); $row->AddInputField("NAME", array("size" => 30)); $row->AddInputField("C_SORT", array("size" => 5));
} if ($shopLocalization == "ru") { $dbVat = CCatalogVat::GetListEx(array(), array('RATE' => 0), false, false, array('ID')); if (!$dbVat->Fetch()) { $arF = array("ACTIVE" => "Y", "SORT" => "100", "NAME" => Loc::getMessage("CRM_VAT_1"), "RATE" => '0'); CCatalogVat::Add($arF); } $dbVat = CCatalogVat::GetListEx(array(), array('RATE' => 18), false, false, array('ID')); if (!$dbVat->Fetch()) { $arF = array("ACTIVE" => "Y", "SORT" => "200", "NAME" => Loc::getMessage("CRM_VAT_2"), "RATE" => '18'); CCatalogVat::Add($arF); } } // get default vat $defCatVatId = 0; $dbVat = CCatalogVat::GetListEx(array('SORT' => 'ASC'), array(), false, array('nPageTop' => 1)); if ($arVat = $dbVat->Fetch()) { $defCatVatId = $arVat['ID']; } unset($arVat, $dbVat); $defCatVatId = (int) $defCatVatId; // create base price $basePriceId = 0; $basePrice = array(); $dbRes = CCatalogGroup::GetListEx(array(), array("BASE" => "Y"), false, false, array('ID')); if (!($basePrice = $dbRes->Fetch())) { $catalogGroupLangFiles = array(); foreach ($arActiveLangs as &$language) { $catalogGroupLangFiles[$language] = Loc::loadLanguageFile(__FILE__, $language); } $arFields = array();
public static function getList($params, $nav = 0) { if (!CModule::IncludeModule('catalog')) { throw new RestException('The Commercial Catalog module is not installed.'); } global $USER; $CrmPerms = new CCrmPerms($USER->GetID()); if (!$CrmPerms->HavePerm('CONFIG', BX_CRM_PERM_CONFIG, 'READ')) { throw new RestException('Access denied.'); } $order = CCrmInvoiceRestUtil::getParamArray($params, 'order', array('SORT' => 'ASC')); $filter = CCrmInvoiceRestUtil::getParamArray($params, 'filter', array()); $select = CCrmInvoiceRestUtil::getParamArray($params, 'select', array()); $result = array(); $catalogVat = new CCatalogVat(); $filter = self::prepareFilter($filter); $select = self::prepareSelect($select); $order = self::prepareOrder($order); if (!is_array($select) || count($select) === 0) { throw new RestException('Inadmissible fields for selection'); } $dbResult = $catalogVat->GetListEx($order, $filter, false, self::getNavData($nav), $select); while ($arRow = $dbResult->NavNext(false)) { $result[] = self::filterFields($arRow, 'list'); } return self::setNavData($result, $dbResult); }