Как определить валюту товара в Битрикс

Как узнать валюту товара битрикс

Как узнать валюту товара битрикс

В Битрикс каждая товарная позиция хранит информацию о валюте в свойствах элемента инфоблока или в настройках торгового каталога. Для стандартного модуля «Каталог» используется поле CURRENCY, где указывается трехбуквенный код валюты, например, RUB, USD или EUR.

Если подключен модуль Интернет-магазин, валюта привязывается к цене товара через объект CCatalogProduct. Методы GetList и GetByID возвращают массив с ключом CURRENCY, что позволяет программно определить, в какой валюте выставлена цена.

Для визуальной проверки валюты можно использовать административную панель: откройте карточку товара, перейдите в раздел «Цены» и убедитесь, что поле «Валюта» заполнено корректно. Если используются торговые предложения, валюта наследуется от основного товара, но может быть переопределена на уровне SKU.

При интеграции с внешними API важно учитывать, что Битрикс хранит валюту в виде кода, а не символа. Для конвертации цен необходимо использовать модуль Currency и метод CCurrencyRates::ConvertCurrency, указывая исходную и целевую валюту.

Проверка валюты через карточку товара

В Битрикс валюта товара определяется непосредственно в карточке товара. Для проверки откройте раздел Каталог → Товары и выберите интересующий элемент.

В карточке товара перейдите на вкладку Цены. Здесь отображается список всех типов цен и соответствующих валют. Валюта указывается в колонке Валюта рядом с суммой.

Если используются несколько типов цен, убедитесь, что проверяете именно активный тип, который применяется при продаже. В настройках каждой цены можно увидеть флажок Использовать по умолчанию, который определяет, какая валюта будет использоваться при оформлении заказа.

Для товаров с торговыми предложениями откройте вкладку Торговые предложения, выберите конкретное предложение и проверьте колонку Валюта в таблице цен. Валюта может отличаться от основной карточки товара.

Если валюта не указана или отображается неверно, проверьте настройки валют в Настройки → Валюты и сопоставление типов цен с валютами. Любые изменения сохраняются через кнопку Сохранить в карточке товара.

Использование этой процедуры позволяет точно определить, какая валюта применяется для конкретного товара или предложения и избежать ошибок при оформлении заказов и формировании отчетности.

Использование списка товаров для массовой проверки валют

Использование списка товаров для массовой проверки валют

Для проверки валюты нескольких товаров одновременно в Битрикс рекомендуется использовать экспорт списка товаров через модуль Каталог или Инфоблоки. Сначала сформируйте выборку с помощью фильтров: категория, активность и наличие на складе.

Экспорт производится в формате CSV или Excel. В выгрузке обязательно включите поля ID товара, Название, Цена и Валюта. Это позволит быстро определить несоответствия и автоматически обновить данные через массовое редактирование.

Для массовой проверки валют используйте инструмент «Изменить значения» в разделе Список товаров. Отметьте нужные позиции, выберите поле Валюта и задайте корректное значение. Система поддерживает фильтрацию по текущей валюте, что ускоряет проверку только тех товаров, где она отличается от основной.

Если необходимо контролировать валюту в реальном времени, создайте отчет через BI или CRM с группировкой по валюте и суммированием по категориям. Это позволит выявлять ошибки до внесения изменений в базу и формировать рекомендации для бухгалтерии или отдела закупок.

Регулярная проверка списка товаров и корректировка валют через массовые операции уменьшает риск некорректного отображения цен на сайте и обеспечивает точность отчетности по валютам.

Определение валюты через API Битрикс

Определение валюты через API Битрикс

Для получения валюты товара через API Битрикс используется метод crm.product.get или catalog.product.get в зависимости от структуры проекта. В ответе API поле PRICE содержит массив с ценами, где ключ CURRENCY указывает код валюты.

Пример запроса через REST API:

GET /rest/crm.product.get.json?ID=123

В ответе можно найти структуру:

Поле Описание
ID Идентификатор товара
NAME Название товара
PRICE Массив с ценами, включающий поля: PRICE и CURRENCY

Для получения валюты конкретной цены используется следующий пример обработки ответа на PHP:


$response = CRest::call('crm.product.get', ['ID' => 123]);
$currency = $response['result']['PRICE']['CURRENCY'];

Если товар имеет несколько цен, API возвращает массив PRICES. Для определения валюты каждой цены требуется перебрать массив и извлечь значение CURRENCY для каждой позиции.

Важно учитывать настройки каталога: если включен мультивалютный режим, валюты могут быть заданы на уровне ценовых типов, а не только товара. В этом случае рекомендуется использовать метод catalog.product.get с параметром PRICE_TYPE для точного определения валюты для конкретной цены.

Настройка отображения валюты в каталоге

Для корректного отображения валюты в каталоге Битрикс необходимо убедиться, что модуль «Валюты» установлен и активирован. Проверка производится через раздел «Настройки → Настройки продукта → Валюты».

Основные шаги настройки отображения валюты:

  1. Перейдите в «Каталог → Настройки → Настройки цен». В блоке «Типы цен» укажите, для каких типов товаров требуется отображение конкретной валюты.

  2. Для каждого типа цены выберите валюту из выпадающего списка. В Битрикс поддерживаются стандартные ISO-коды (USD, EUR, RUB, UAH и др.).

  3. Установите формат отображения: знак валюты до или после суммы, разделители тысяч и десятичных знаков. Настройка доступна в «Настройки → Настройки продукта → Валюты → Формат валюты».

  4. Включите автоматическое отображение цены с учетом валютного коэффициента, если в каталоге присутствуют товары в разных валютах. Это делается через «Настройки → Настройки продукта → Валюты → Курс валют».

  • Используйте параметр PRICE_CODE при подключении компонента bitrix:catalog.section или bitrix:catalog.element для указания типа цены.

  • В шаблоне компонента применяйте функцию CurrencyFormat для форматирования числового значения с нужным символом валюты и разделителями.

Дополнительно рекомендуется проверять отображение цен на страницах фильтров и корзины, чтобы символ валюты и формат совпадали с настройками каталога. Это обеспечит единообразие на всех страницах сайта.

После внесения изменений очистите кеш через «Настройки → Управление кешированием» или вызовом функции BXClearCache(true), чтобы корректно обновились все элементы каталога.

Использование фильтров и сортировки по валюте

Использование фильтров и сортировки по валюте

Сортировка товаров по валюте осуществляется через параметр ORDER компонента: $arSort = ["CURRENCY" => "ASC"];. Использование ASC или DESC изменяет порядок от минимальной к максимальной валюте и обратно, что удобно для анализа цен в разных валютах.

Для комбинированного применения фильтра и сортировки рекомендуется формировать единый массив: $arParams["FILTER"] = ["CURRENCY" => "EUR"]; и $arParams["SORT"] = ["CURRENCY" => "DESC"];. Это ускоряет выборку и уменьшает нагрузку на базу данных.

При работе с инфоблоками важно учитывать, что валюта может храниться как в свойстве типа «Список» или «Строка». В случае свойства «Список» используйте код значения валюты, а не текст. Для свойства «Строка» фильтрация выполняется по точному совпадению.

Для визуального представления фильтров используйте компонент bitrix:catalog.smart.filter с параметром FILTER_NAME, который ссылается на массив фильтра: $arFilter. Можно задать тип отображения «список» или «радио», чтобы пользователю было удобно выбирать валюту.

Если требуется динамическая сортировка, передавайте параметр валюты через GET-запрос, например: ?CURRENCY=USD&SORT=CURRENCY_DESC. Компонент автоматически применит фильтр и сортировку к выборке товаров без дополнительных изменений кода.

Для массового обновления валюты и корректного отображения сортировки рекомендуется использовать агент или cron-задачу, которая синхронизирует значения свойства CURRENCY с актуальными курсами, что предотвращает ошибки при фильтрации и сравнении цен.

Проверка валюты при создании торгового предложения

Проверка валюты при создании торгового предложения

В Битрикс каждая торговая единица привязана к валюте, установленной в модуле «Настройки валют». При создании торгового предложения необходимо убедиться, что поле CURRENCY заполнено корректно. Ошибки в этом поле приводят к некорректному отображению цены и сбоям при расчете скидок и налогов.

Для проверки валюты используйте метод CIBlockElement::GetByID() с последующей проверкой значения PROPERTY_CURRENCY или PRICE_CURRENCY в массиве данных. Например, если цена должна быть в рублях, значение должно строго соответствовать RUB.

При массовом создании торговых предложений через CSV или API, добавляйте проверку соответствия валюты перед сохранением. Если валюта не совпадает с валютой основного товара, скрипт должен выдавать ошибку и не сохранять предложение. Это предотвращает несоответствие цен и некорректный учет в 1С.

Для автоматической проверки можно подключить событие OnBeforeIBlockElementAdd, где производится валидация валюты. В случае несоответствия необходимо прерывать добавление и возвращать текст ошибки, указывающий допустимые валюты.

При создании предложений через интерфейс администратора убедитесь, что поле Валюта соответствует валюте основного товара. В настройках торгового каталога можно ограничить выбор валюты только активными значениями из справочника, чтобы исключить ручные ошибки.

Вопрос-ответ:

Как узнать валюту конкретного товара в Битрикс?

Чтобы определить валюту товара, откройте карточку товара в административной панели. В блоке «Цены» отображается список цен, каждая из которых сопровождается обозначением валюты. Если у товара несколько типов цен, проверьте все записи, чтобы точно узнать, в какой валюте выставлена цена для нужного типа.

Можно ли изменить валюту товара в Битрикс после его добавления?

Да, изменить валюту возможно через административную панель. Для этого откройте карточку товара, перейдите в раздел «Цены», выберите нужный тип цены и укажите другую валюту из списка доступных. После сохранения изменений цена автоматически пересчитается в соответствии с выбранной валютой, если подключена система конвертации.

Как проверить, в какой валюте отображаются цены на сайте для посетителей?

На публичной части сайта валюту можно проверить визуально в карточке товара или в каталоге. Обычно рядом с суммой указывается символ валюты (₽, $, € и т.д.). Если используется модуль мультивалютности, отображаемая валюта может зависеть от выбранного пользователем региона или настроек магазина, поэтому важно убедиться, что сайт корректно выводит текущую валюту для конкретного посетителя.

Что делать, если в Битрикс не отображается валюта у товара?

Если валюта не видна, проверьте настройки модуля «Цены» и убедитесь, что у товара есть хотя бы одна активная цена с указанной валютой. Также стоит проверить права доступа пользователя: иногда администратору видна валюта, а обычному менеджеру или посетителю — нет. Если проблема сохраняется, проверьте корректность подключения модуля валют и актуальность курса, если используется автоматический пересчет цен.

Ссылка на основную публикацию