// { // $srcExchRate = ($srcCurrency = CCrmCurrency::GetByID($srcCurrencyID)) ? $srcCurrency['EXCH_RATE'] : 1.0; // } $dstCurrencyID = isset($data['DST_CURRENCY_ID']) && strlen(strval($data['DST_CURRENCY_ID'])) > 0 ? strval($data['DST_CURRENCY_ID']) : CCrmCurrency::GetBaseCurrencyID(); // $dstExchRate = ($dstCurrency = CCrmCurrency::GetByID($dstCurrencyID)) ? $dstCurrency['EXCH_RATE'] : 1.0; $arProducts = isset($data['PRODUCTS']) && is_array($data['PRODUCTS']) ? $data['PRODUCTS'] : array(); if (count($arProducts) > 0) { foreach ($arProducts as &$arProduct) { $arProduct['PRICE'] = CCrmCurrency::ConvertMoney(isset($arProduct['PRICE']) ? $arProduct['PRICE'] : 1.0, $srcCurrencyID, $dstCurrencyID); if (isset($arProduct['DISCOUNT_TYPE_ID']) && isset($arProduct['DISCOUNT_VALUE']) && intval($arProduct['DISCOUNT_TYPE_ID']) === \Bitrix\Crm\Discount::MONETARY && abs(doubleval($arProduct['DISCOUNT_VALUE'])) > 0) { $arProduct['DISCOUNT_VALUE'] = CCrmCurrency::ConvertMoney(isset($arProduct['DISCOUNT_VALUE']) ? $arProduct['DISCOUNT_VALUE'] : 0.0, $srcCurrencyID, $dstCurrencyID); } } } Header('Content-Type: application/x-javascript; charset=' . LANG_CHARSET); echo CUtil::PhpToJsObject(array('CURRENCY_ID' => $dstCurrencyID, 'CURRENCY_FORMAT' => CCrmCurrency::GetCurrencyFormatString($dstCurrencyID), 'EXCH_RATE' => CCrmCurrency::GetExchangeRate($dstCurrencyID), 'PRODUCTS' => $arProducts, 'PRODUCT_POPUP_ITEMS' => CCrmProductHelper::PreparePopupItems($dstCurrencyID))); } elseif ($mode === 'CONVERT_MONEY') { if ($perms->HavePerm($ownerName, BX_CRM_PERM_NONE, 'READ')) { echo CUtil::PhpToJSObject(array('ERROR' => 'PERMISSION_DENIED')); die; } $data = isset($_POST['DATA']) && is_array($_POST['DATA']) ? $_POST['DATA'] : array(); if (count($data) == 0) { echo CUtil::PhpToJSObject(array('ERROR' => 'SOURCE_DATA_NOT_FOUND')); die; } $srcSum = isset($data['SRC_SUM']) ? doubleval($data['SRC_SUM']) : 0.0; $srcCurrencyID = isset($data['SRC_CURRENCY_ID']) && strlen(strval($data['SRC_CURRENCY_ID'])) > 0 ? strval($data['SRC_CURRENCY_ID']) : CCrmCurrency::GetBaseCurrencyID(); $dstCurrencyID = isset($data['DST_CURRENCY_ID']) && strlen(strval($data['DST_CURRENCY_ID'])) > 0 ? strval($data['DST_CURRENCY_ID']) : CCrmCurrency::GetBaseCurrencyID(); echo CUtil::PhpToJSObject(array('SUM' => CCrmCurrency::ConvertMoney($srcSum, $srcCurrencyID, $dstCurrencyID))); } elseif ($mode === 'ADD_PRODUCT') {
echo CUtil::PhpToJSObject($productEditorCfg); ?> ); var dlgID = CRM.Set( BX("<?php echo CUtil::JSEscape($choiceProductBtnID); ?> "), "<?php echo CUtil::JSEscape($choiceProductBtnID); ?> ", "", <?php echo CUtil::PhpToJsObject(CCrmProductHelper::PreparePopupItems($arResult['CURRENCY_ID'], 50, $arResult['ENABLE_RAW_CATALOG_PRICING'])); ?> , false, false, ["product"], { ok: "<?php echo htmlspecialcharsbx(GetMessageJS('CRM_FF_OK')); ?> ", cancel: "<?php echo htmlspecialcharsbx(GetMessageJS('CRM_FF_CANCEL')); ?> ", close: "<?php
?> ); crmInvoiceSpecListProductEditor = editor; var dlgID = CRM.Set( BX('<?php echo CUtil::JSEscape($productAddBtnID); ?> '), '<?php echo CUtil::JSEscape($productAddBtnID); ?> ', '', <?php echo CUtil::PhpToJsObject(CCrmProductHelper::PreparePopupItems($arResult['CURRENCY_ID'])); ?> , false, false, ['product'], { 'ok': '<?php echo htmlspecialcharsbx(CUtil::JSEscape(GetMessage('CRM_FF_OK'))); ?> ', 'cancel': '<?php echo htmlspecialcharsbx(CUtil::JSEscape(GetMessage('CRM_FF_CANCEL'))); ?> ', 'close': '<?php