Exemplo n.º 1
0
 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, '');
         }
     }
 }
Exemplo n.º 2
0
 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];
 }
Exemplo n.º 3
0
	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;
		}
	}
Exemplo n.º 4
0
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;
    }
}
Exemplo n.º 5
0
 /**
  * <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" =&gt;
  * "направление_сортировки1", "название_поля2" =&gt;
  * "направление_сортировки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" =&gt; "значение1",
  * "[оператор2]название_поля2" =&gt; "значение2", . . . )</pre> Удовлетворяющие
  * фильтру записи возвращаются в результате, а записи, которые не
  * удовлетворяют условиям фильтра, отбрасываются. <br><br> Допустимыми
  * являются следующие операторы: <ul> <li> <b>&gt;=</b> - значение поля больше
  * или равно передаваемой в фильтр величины;</li> <li> <b>&gt;</b> - значение
  * поля строго больше передаваемой в фильтр величины;</li> <li> <b>&lt;=</b> -
  * значение поля меньше или равно передаваемой в фильтр величины;</li>
  * <li> <b>&lt;</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);
 }
Exemplo n.º 6
0
			$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);
Exemplo n.º 7
0
	/**
	 * <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" =&gt;
	 * "направление_сортировки1", "название_поля2" =&gt;
	 * "направление_сортировки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" =&gt; "значение1",
	 * "[оператор2]название_поля2" =&gt; "значение2", . . . )</pre> Удовлетворяющие
	 * фильтру записи возвращаются в результате, а записи, которые не
	 * удовлетворяют условиям фильтра, отбрасываются. <br><br> Допустимыми
	 * являются следующие операторы: <ul> <li> <b>&gt;=</b> - значение поля больше
	 * или равно передаваемой в фильтр величины;</li> <li> <b>&gt;</b> - значение
	 * поля строго больше передаваемой в фильтр величины;</li> <li> <b>&lt;=</b> -
	 * значение поля меньше или равно передаваемой в фильтр величины;</li>
	 * <li> <b>&lt;</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);
	}
Exemplo n.º 8
0
 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;
 }
Exemplo n.º 9
0
                    } 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));
Exemplo n.º 10
0
}
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();
Exemplo n.º 11
0
 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);
 }