} $result = false; $presentFields = CCrmCurrency::GetByID($currencyID); if (is_array($presentFields)) { $arResult['CURRENCY'] = $currency = array_merge($presentFields, $fields); $result = CCrmCurrency::Update($currencyID, $fields); if (!$result) { $err = CCrmCurrency::GetLastError(); $arResult['ERROR'] = $err !== '' ? $err : GetMessage('CRM_CURRENCY_UPDATE_UNKNOWN_ERROR'); } } else { $arResult['CURRENCY'] = $currency = $fields; $fields['CURRENCY'] = $currencyID; $fields['AMOUNT_CNT'] = 1; //Default $currencyID = CCrmCurrency::Add($fields); $result = is_string($currencyID) && $currencyID !== ''; if (!$result) { $err = CCrmCurrency::GetLastError(); $arResult['ERROR'] = $err !== '' ? $err : GetMessage('CRM_CURRENCY_ADD_UNKNOWN_ERROR'); $currencyID = $fields['CURRENCY']; } } if (isset($_POST['ACCOUNTING'])) { $currency['IS_ACCOUNTING_CURRENCY'] = $_POST['ACCOUNTING'] === 'Y'; } if (isset($_POST['INVOICES_DEF'])) { $currency['IS_INVOICE_CURRENCY'] = $_POST['INVOICES_DEF'] === 'Y'; } foreach ($langs as $k => $v) { $lid = strtoupper($k);
protected function innerAdd(&$fields, &$errors, array $params = null) { if (!CCrmCurrency::CheckCreatePermission()) { $errors[] = 'Access denied.'; return false; } $result = CCrmCurrency::Add($fields); if ($result === false) { $errors[] = CCrmCurrency::GetLastError(); } return $result; }