3namespace Sale\Handlers\Delivery\Additional\ExtraServices;
5use Bitrix\Sale\Shipment;
6use Bitrix\Main\Localization\Loc;
7use Bitrix\Sale\Delivery\ExtraServices\Base;
9Loc::loadMessages(__FILE__);
11class Lift
extends Base
15 $structure[
"PARAMS"][
"ONCHANGE"] = $this->createJSOnchange($id);
16 parent::__construct($id, $structure,
$currency, $value);
17 $this->params[
"TYPE"] =
"STRING";
20 public static function getClassTitle()
22 return Loc::getMessage(
'SALE_DLVRS_ADD_ESL_TITLE');
25 public function setValue($value)
27 $this->value = intval($value) >= 0 ? intval($value) : 0;
30 public function getCostShipment(Shipment $shipment =
null)
35 if(!isset($this->params[
'PRICES']) || !is_array($this->params[
'PRICES']))
38 $weight = $shipment->getWeight()/1000;
40 foreach($this->params[
'PRICES'] as
$k => $v)
42 if(empty($v[
'W1']) && empty($v[
'W2']) && empty($v[
'P']))
45 if($weight >= floatval($v[
'W1']) && (floatval($v[
'W2']) <= 0 || $weight <= floatval($v[
'W2'])))
46 return floatval($v[
'P'])*floatval($this->value);
52 public static function getAdminParamsName()
54 return Loc::getMessage(
'SALE_DLVRS_ADD_ESL_PARAMS_NAME');
61 if(isset(
$params[
"PARAMS"][
"PRICES"]) && is_array(
$params[
"PARAMS"][
"PRICES"]))
68 $w1 = isset(
$params[
"PARAMS"][
"PRICES"][
$i][
"W1"]) ?
$params[
"PARAMS"][
"PRICES"][
$i][
"W1"] :
'';
69 $w2 = isset(
$params[
"PARAMS"][
"PRICES"][
$i][
"W2"]) ?
$params[
"PARAMS"][
"PRICES"][
$i][
"W2"] :
'';
72 $result .= Loc::getMessage(
'SALE_DLVRS_ADD_ESL_WEIGHT_FROM').
73 ' <input type="text" size="5" name="'.$name.
'[PARAMS][PRICES]['.
$i.
'][W1]" value="'.$w1.
'"> - '.
74 '<input type="text" size="5" name="'.$name.
'[PARAMS][PRICES]['.
$i.
'][W2]" value="'.$w2.
'"> '.
75 Loc::getMessage(
'SALE_DLVRS_ADD_ESL_KG').
77 '<input type="text" size="5" name="'.$name.
'[PARAMS][PRICES]['.
$i.
'][P]" value="'.$price.
'">'.
84 protected function createJSOnchange($id)
86 return "BX.onCustomEvent('onDeliveryExtraServiceValueChange', [{'id' : '".$id.
"', 'value': this.value, 'price': '0'}]);";
89 public static function prepareParamsToSave(
array $params)
91 if(!isset(
$params[
"PARAMS"][
"PRICES"]) || !is_array(
$params[
"PARAMS"][
"PRICES"]))
94 foreach(
$params[
"PARAMS"][
"PRICES"] as
$k => $v)
95 if(empty($v[
'W1']) && empty($v[
'W2']) && empty($v[
'P']))
101 public static function isEmbeddedOnly()
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']
const SALE_VALUE_PRECISION