/** * <p>Метод добавляет новую ставку налога с параметрами из массива arFields. Метод динамичный.</p> * * * @param array $arFields Ассоциативный массив параметров новой ставки налога. Ключами * являются названия параметров ставки, а значениями - * соответствующие значения.<br> Допустимые ключи: <ul> <li> <b>TAX_ID</b> - код * налога;</li> <li> <b>PERSON_TYPE_ID</b> - тип плательщика;</li> <li> <b>VALUE</b> - величина * налога (в процентах);</li> <li> <b>CURRENCY</b> - валюта;</li> <li> <b>IS_PERCENT</b> - * всегда значение "Y";</li> <li> <b>IS_IN_PRICE</b> - налог уже включен в цену * товара;</li> <li> <b>APPLY_ORDER</b> - порядок применения;</li> <li> <b>ACTIVE</b> - флаг * (Y/N) активности налога;</li> <li> <b>TAX_LOCATION</b> - массив для указания * местоположений и групп местоположений, для которых действует эта * ставка. Каждый элемент массива представляет собой ассоциативный * массив с ключами: <ul> <li> <b>LOCATION_ID</b> - код местоположения или группы * местоположений;</li> <li> <b>LOCATION_TYPE</b> - "L" для местоположения и "G" для * группы местоположений.</li> </ul> </li> </ul> * * @return int <p>Возвращается код добавленной ставки налога или <i>false</i> в случае * ошибки.</p> <br><br> * * @static * @link http://dev.1c-bitrix.ru/api_help/sale/classes/csaletaxrate/csaletaxrate__add.40a40d86.php * @author Bitrix */ public static function Add($arFields, $arOptions = array()) { global $DB; if (!CSaleTaxRate::CheckFields("ADD", $arFields)) { return false; } $arInsert = $DB->PrepareInsert("b_sale_tax_rate", $arFields); $strSql = "INSERT INTO b_sale_tax_rate(" . $arInsert[0] . ", TIMESTAMP_X) " . "VALUES(" . $arInsert[1] . ", " . $DB->GetNowFunction() . ")"; $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__); $ID = IntVal($DB->LastID()); if (is_set($arFields, "TAX_LOCATION")) { CSaleTaxRate::SetTaxRateLocation($ID, $arFields["TAX_LOCATION"], $arOptions); } return $ID; }
function Update($ID, $arFields) { global $DB; $ID = IntVal($ID); if (!CSaleTaxRate::CheckFields("UPDATE", $arFields)) { return false; } $strUpdate = $DB->PrepareUpdate("b_sale_tax_rate", $arFields); $strSql = "UPDATE b_sale_tax_rate SET " . "\tTIMESTAMP_X = " . $DB->GetNowFunction() . ", " . "\t" . $strUpdate . " " . "WHERE ID = " . $ID . " "; $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__); if (is_set($arFields, "TAX_LOCATION")) { CSaleTaxRate::SetTaxRateLocation($ID, $arFields["TAX_LOCATION"]); } return $ID; }
/** * <p>Метод изменяет параметры ставки налога с кодом ID. Метод динамичный.</p> * * * @param int $ID Код ставки налога. </ht * * @param array $arFields Ассоциативный массив новых параметров ставки налога. Ключами * являются названия параметров ставки, а значениями - * соответствующие значения.<br><br> Допустимые ключи: <ul> <li> <b>TAX_ID</b> - * код налога;</li> <li> <b>PERSON_TYPE_ID</b> - тип плательщика;</li> <li> <b>VALUE</b> - * величина налога (в процентах);</li> <li> <b>CURRENCY</b> - валюта;</li> <li> * <b>IS_PERCENT</b> - всегда значение "Y";</li> <li> <b>IS_IN_PRICE</b> - налог уже включен * в цену товара;</li> <li> <b>APPLY_ORDER</b> - порядок применения;</li> <li> <b>ACTIVE</b> - * флаг (Y/N) активности налога;</li> <li> <b>TAX_LOCATION</b> - массив для указания * местоположений и групп местоположений, для которых действует эта * ставка. Каждый элемент массива представляет собой ассоциативный * массив с ключами: <ul> <li> <b>LOCATION_ID</b> - код местоположения или группы * местоположений;</li> <li> <b>LOCATION_TYPE</b> - "L" для местоположения и "G" для * группы местоположений.</li> </ul> </li> </ul> * * @return int <p>Возвращается код измененной ставки налога или <i>false</i> в случае * ошибки.</p> <br><br> * * @static * @link http://dev.1c-bitrix.ru/api_help/sale/classes/csaletaxrate/csaletaxrate__update.bd202837.php * @author Bitrix */ public static function Update($ID, $arFields, $arOptions = array()) { global $DB; $ID = intval($ID); if (0 >= $ID) { return false; } if (!CSaleTaxRate::CheckFields("UPDATE", $arFields)) { return false; } $strUpdate = $DB->PrepareUpdate("b_sale_tax_rate", $arFields); $strSql = "UPDATE b_sale_tax_rate SET TIMESTAMP_X = " . $DB->GetNowFunction() . ", " . $strUpdate . " WHERE ID = " . $ID; $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__); if (array_key_exists("TAX_LOCATION", $arFields)) { CSaleTaxRate::SetTaxRateLocation($ID, $arFields["TAX_LOCATION"], $arOptions); } return $ID; }