- Модуль: iblock
- Путь к файлу: ~/bitrix/modules/iblock/classes/general/cml2.php
- Класс: CIBlockCMLImport
- Вызов: CIBlockCMLImport::CheckTax
function CheckTax($title, $rate)
{
if ($rate === null)
{
$taxName = GetMessage('IBLOCK_NO_VAT_TITLE');
}
else
{
$taxName = $title . " " . $rate . "%";
}
if (isset($this->arTaxCache[$taxName]))
{
return $this->arTaxCache[$taxName];
}
$vatParams = [
'select' => ['ID'],
];
if ($rate === null)
{
$vatParams['filter'] = [
'=EXCLUDE_VAT' => 'Y',
];
}
else
{
$vatParams['filter'] = [
'=NAME' => $taxName,
'=EXCLUDE_VAT' => 'N',
'=RATE' => $rate,
];
}
$getResult = BitrixCatalogModelVat::getList($vatParams)->fetch();
if (isset($getResult['ID']))
{
$vatId = $getResult['ID'];
$this->arTaxCache[$taxName] = $vatId;
return $vatId;
}
$addParams = [
'ACTIVE' => 'Y',
'NAME' => $taxName,
];
if ($rate === null)
{
$addParams['EXCLUDE_VAT'] = 'Y';
}
else
{
$addParams['RATE'] = $rate;
}
$this->arTaxCache[$taxName] = BitrixCatalogModelVat::add($addParams)->getId();
return $this->arTaxCache[$taxName];
}