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
			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())
Exemplo n.º 4
0
 /**
  * <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);
     }
 }
Exemplo n.º 5
0
	/**
	 * <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);
		}
	}
Exemplo n.º 6
0
 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;
 }