Модуль «Валюты» в 1С-Битрикс хранит справочник по стандарту ISO 4217, и добавлять новую валюту вручную «на глаз» не нужно. В админке есть классификатор — встроенный список кодов валют мира, из которого система сама подставит символьный код, название и разрядность. Разбираем, как это работает и где обычно спотыкаются.
Что такое классификатор валют
Классификатор — это встроенный в модуль currency справочник валют по международному стандарту ISO 4217. Каждая запись содержит трёхбуквенный символьный код (USD, EUR, CNY, RUB), числовой код и «эталонное» название. Битрикс использует именно символьный код как первичный ключ валюты во всей системе: к нему привязываются типы цен, заказы, скидки и правила округления.
Смысл создания валюты через классификатор в том, что вы не набираете код руками, а выбираете валюту из готового списка. Система сразу знает корректный ISO-код и подставляет разумные значения по умолчанию — это исключает опечатки вроде EURO вместо EUR, из-за которых потом ломаются интеграции и импорт цен.
Где найти инструмент в админке
Раздел валют живёт в административной части по пути Магазин → Настройки → Валюты (Рабочий стол → Магазин → Настройки → Валюты). В более новых редакциях с модулем Sale путь может выглядеть как Настройки → Настройки продукта → Валюты. Если пункта нет вовсе — не подключён модуль currency, установите его в Marketplace → Установленные решения → Модули.
На странице списка валют вверху есть кнопка «Добавить валюту». Именно она открывает форму, где символьный код можно выбрать из выпадающего списка классификатора, а не вписывать вручную. В части сборок список кодов подставляется по мере ввода символов в поле кода валюты.
- Список валют — все уже созданные валюты магазина.
- Форма добавления — выбор кода из классификатора и параметры вывода.
- Курсы валют — отдельная вкладка с историей курсов по датам.
Пошаговое создание валюты
Порядок действий при добавлении, например, юаня (CNY):
- Откройте Магазин → Настройки → Валюты и нажмите «Добавить валюту».
- В поле «Код валюты» выберите нужную из классификатора — начните вводить
CNYили пролистайте список. Система подставит числовой ISO-код. - Задайте название для каждого языка интерфейса (например, «Китайский юань»).
- Укажите формат вывода цены: шаблон с
#вместо суммы, символ валюты, число знаков после запятой. - Перейдите на вкладку «Курс» и внесите курс к базовой валюте магазина на актуальную дату.
- Сохраните. Валюта появится в списке и станет доступна в типах цен.
Формат вывода и знаки после запятой
Формат вывода — это шаблон, по которому Битрикс печатает цену в публичной части. Символ # заменяется на сумму. Примеры:
| Валюта | Шаблон | Результат |
|---|---|---|
| Рубль | # руб. | 1 500 руб. |
| Доллар | $# | $1,500 |
| Юань | # ¥ | 1 500 ¥ |
Отдельно задаётся число десятичных знаков. Для большинства валют это 2, но для валют без разменной единицы (например, японская иена) ставят 0 — иначе цены будут выглядеть как «1500,00 ¥». Разделители целой и дробной части, а также разрядов настраиваются здесь же и влияют только на отображение, но не на хранимое значение.
Курс и базовая валюта магазина
Классификатор не заполняет курс — его вы указываете сами. Курс всегда задаётся относительно базовой валюты магазина (той, в которой хранятся цены в каталоге). Базовая валюта имеет курс 1, остальные — коэффициент пересчёта на конкретную дату.
Курсы хранятся с привязкой к дате во вкладке «Курс», поэтому система может показывать историческую цену заказа по курсу на день покупки. Если новая валюта нужна только для витрины, а расчёты идут в рублях, всё равно внесите хотя бы один актуальный курс — иначе пересчёт цен даст ноль.
Частые ошибки и как их избежать
Что чаще всего ломает работу с валютами:
- Неверный код. Ввод
RURвместоRUBилиEUROвместоEURрвёт обмен с 1С и платёжными системами. Классификатор для того и нужен, чтобы этого не было. - Забытый курс. Валюта создана, но курс не внесён — цены в ней выводятся как 0.
- Дубли. Попытка создать валюту с кодом, который уже есть, приведёт к ошибке сохранения.
- Смена базовой валюты «задним числом». Меняет пересчёт всех цен — делайте это осознанно и с бэкапом.
- Формат без символа. Пустой шаблон вывода печатает голое число без обозначения валюты.
После добавления проверьте валюту на реальном товаре: создайте тестовый тип цены в новой валюте и посмотрите, как цена отображается в каталоге и корзине.
Итог
Создание валюты через классификатор — это правильный способ добавить валюту в 1С-Битрикс: вы берёте готовый ISO-код из справочника, задаёте название и формат вывода, вносите курс к базовой валюте и проверяете результат на тестовой цене. Такой подход исключает опечатки в коде и проблемы с последующими интеграциями.
Если магазин работает в нескольких валютах, обменивается данными с 1С или требует автоматического обновления курсов, мы в B2Bsite настроим справочник валют, форматы цен и обмен так, чтобы витрина и учётная система всегда сходились до копейки.
Частые вопросы
Чем создание через классификатор отличается от ручного ввода кода?
Классификатор подставляет корректный символьный и числовой код валюты по стандарту ISO 4217, исключая опечатки. Вручную вы рискуете ввести неверный код, из-за чего сломаются обмен с 1С и оплата.
Заполняет ли классификатор курс валюты автоматически?
Нет. Классификатор задаёт только код и базовые атрибуты. Курс к базовой валюте вы вносите сами во вкладке «Курс» с привязкой к дате.
Где в админке находится добавление валюты?
Путь Магазин → Настройки → Валюты, кнопка «Добавить валюту». В сборках с модулем Sale это может быть Настройки → Настройки продукта → Валюты.
Можно ли изменить код валюты после сохранения?
Технически поле недоступно к изменению, и делать этого не стоит: на код уже завязаны цены, заказы и скидки. Если код ошибочный, корректнее создать валюту заново.
Сколько знаков после запятой ставить?
Для большинства валют 2. Для валют без разменной единицы, например японской иены, ставят 0, иначе цены выглядят некорректно.
Что будет, если не внести курс?
Пересчёт цен в эту валюту даст ноль, и в каталоге товар отобразится с нулевой ценой. Внесите хотя бы один актуальный курс сразу после создания.
Что такое базовая валюта магазина?
Это валюта, в которой хранятся исходные цены каталога и относительно которой считаются курсы остальных валют. У неё курс равен 1.
Нужно ли задавать название для каждого языка?
Да, если у сайта несколько языковых версий интерфейса. Название валюты указывается отдельно для каждого языка, иначе в части версий поле останется пустым.
Поможем с настройкой и поддержкой 1С-Битрикс: Управление сайтом
Поможем с настройкой, доработкой и поддержкой 1С-Битрикс: Управление сайтом.