/** * @param Order $order * @param $formId * @return string */ public static function getScripts(Order $order, $formId) { Asset::getInstance()->addJs("/bitrix/js/sale/admin/order_edit.js"); Asset::getInstance()->addJs("/bitrix/js/sale/admin/order_ajaxer.js"); $currencyId = $order->getCurrency(); $currencies = array(); if (Loader::includeModule('currency')) { \CJSCore::Init(array('currency')); $currencyFormat = \CCurrencyLang::getFormatDescription($currencyId); $currencies = array(array('CURRENCY' => $currencyId, 'FORMAT' => array('FORMAT_STRING' => $currencyFormat['FORMAT_STRING'], 'DEC_POINT' => $currencyFormat['DEC_POINT'], 'THOUSANDS_SEP' => $currencyFormat['THOUSANDS_SEP'], 'DECIMALS' => $currencyFormat['DECIMALS'], 'THOUSANDS_VARIANT' => $currencyFormat['THOUSANDS_VARIANT'], 'HIDE_ZERO' => "N"))); } $curFormat = \CCurrencyLang::getCurrencyFormat($currencyId); $currencyLang = trim(str_replace("#", '', $curFormat["FORMAT_STRING"])); $langPhrases = array("SALE_ORDEREDIT_DISCOUNT_UNKNOWN", "SALE_ORDEREDIT_REFRESHING_DATA", "SALE_ORDEREDIT_FIX", "SALE_ORDEREDIT_UNFIX"); $result = ' <script type="text/javascript"> BX.ready(function(){ BX.Sale.Admin.OrderEditPage.orderId = "' . $order->getId() . '"; BX.Sale.Admin.OrderEditPage.siteId = "' . $order->getSiteId() . '"; BX.Sale.Admin.OrderEditPage.languageId = "' . LANGUAGE_ID . '"; BX.Sale.Admin.OrderEditPage.formId = "' . $formId . '_form"; BX.Sale.Admin.OrderEditPage.adminTabControlId = "' . $formId . '"; ' . (!empty($currencies) ? 'BX.Currency.setCurrencies(' . \CUtil::PhpToJSObject($currencies, false, true, true) . ');' : '') . 'BX.Sale.Admin.OrderEditPage.currency = "' . $currencyId . '"; BX.Sale.Admin.OrderEditPage.currencyLang = "' . \CUtil::JSEscape($currencyLang) . '";'; if ($formId == "sale_order_create") { $result .= ' BX.Sale.Admin.OrderEditPage.registerFieldsUpdaters(BX.Sale.Admin.OrderPayment.prototype.getCreateOrderFieldsUpdaters());'; } foreach ($langPhrases as $phrase) { $result .= ' BX.message({' . $phrase . ': "' . \CUtil::JSEscape(Loc::getMessage($phrase)) . '"});'; } $result .= '}); </script> '; return $result; }