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]; }
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); $arFields["USER_LANG"][$langID] = GetMessage("WIZ_PRICE_NAME"); } $arFields["BASE"] = "Y"; if ($wizard->GetVar("installPriceBASE") == "Y") { $db_res = CCatalogGroup::GetGroupsList(array("CATALOG_GROUP_ID"=>'1', "BUY"=>"Y")); if ($ar_res = $db_res->Fetch())
/** * <p>Метод добавляет новую ставку НДС или обновляет существующую в зависимости от передаваемых данных в массиве <i>arFields</i>. Метод динамичный.</p> <p></p> <div class="note"> <b>Примечание:</b> метод устарел, вместо него рекомендуется использоваться <a href="http://dev.1c-bitrix.ru/api_help/catalog/classes/ccatalogvat/add.php">CCatalogVat::Add</a> и <a href="http://dev.1c-bitrix.ru/api_help/catalog/classes/ccatalogvat/update.php">CCatalogVat::Update</a> соответственно.</div> * * * @param array $arFields Ассоциативный массив параметров ставки НДС. Допустимые ключи: <ul> * <li>ID - код ставки НДС (задается только для существующей ставки);</li> * <li>ACTIVE - активность ставки НДС ('Y' - активна, 'N' - неактивна);</li> <li>C_SORT * - индекс сортировки;</li> <li>NAME - название ставки НДС;</li> <li>RATE - * величина ставки НДС.</li> </ul> * * @return mixed <p>Метод возвращает <i>ID</i> созданной или измененной ставки НДС, * либо <i>false</i> в случае ошибки.</p> <br><br> * * @static * @link http://dev.1c-bitrix.ru/api_help/catalog/classes/ccatalogvat/set.php * @author Bitrix * @deprecated deprecated since catalog 12.5.6 -> CCatalogVat::Add() */ public static function Set($arFields) { if (isset($arFields['ID']) && intval($arFields['ID']) > 0) { return CCatalogVat::Update($arFields['ID'], $arFields); } else { return CCatalogVat::Add($arFields); } }
/** * <p>Метод добавляет новую ставку НДС или обновляет существующую в зависимости от передаваемых данных в массиве <i>arFields</i>.</p> <p><b>Примечание:</b> метод устарел, вместо него рекомендуется использоваться <a href="http://dev.1c-bitrix.ru/api_help/catalog/classes/ccatalogvat/add.php">CCatalogVat::Add</a> и <a href="http://dev.1c-bitrix.ru/api_help/catalog/classes/ccatalogvat/update.php">CCatalogVat::Update</a> соответственно.</p> * * * * * @param array $arFields Ассоциативный массив параметров ставки НДС. Допустимые ключи: <ul> * <li>ID - код ставки НДС (задается только для существующей ставки);</li> * <li>ACTIVE - активность ставки НДС ('Y' - активна, 'N' - неактивна);</li> <li>C_SORT * - индекс сортировки;</li> <li>NAME - название ставки НДС;</li> <li>RATE - * величина ставки НДС.</li> </ul> * * * * @return mixed <p>Метод возвращает <i>ID</i> созданной или измененной ставки НДС, * либо <i>false</i> в случае ошибки.</p><br><br> * * @static * @link http://dev.1c-bitrix.ru/api_help/catalog/classes/ccatalogvat/set.php * @author Bitrix */ public static function Set($arFields) { if (array_key_exists('ID', $arFields) && 0 < intval($arFields['ID'])) { return CCatalogVat::Update($arFields['ID'], $arFields); } else { return CCatalogVat::Add($arFields); } }
public static function add($params) { if (!CModule::IncludeModule('catalog')) { throw new RestException('The Commercial Catalog module is not installed.'); } global $DB, $USER; $CrmPerms = new CCrmPerms($USER->GetID()); if (!$CrmPerms->HavePerm('CONFIG', BX_CRM_PERM_CONFIG, 'WRITE')) { throw new RestException('Access denied.'); } $fields = CCrmInvoiceRestUtil::getParamArray($params, 'fields'); $fields = self::filterFields($fields, 'add'); if (!is_array($fields) || count($fields) === 0) { throw new RestException('Invalid parameters.'); } $DB->StartTransaction(); $ID = false; if (isset($fields['ID'])) { unset($fields['ID']); } if (count($fields) > 0) { $catalogVat = new CCatalogVat(); $ID = $catalogVat->Add($fields); } if ($ID) { $DB->Commit(); } else { $DB->Rollback(); throw new RestException('Error on creating VAT rate.'); } return $ID; }