Настройка ценовых типов 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка ценовых типов 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка ценовых типов 1С-Битрикс

Ценовые типы (типы цен) в 1С-Битрикс — механизм отображения разных цен разным группам пользователей. Розничная цена для обычного покупателя, оптовая для зарегистрированного дилера, специальная для VIP-клиента — всё это реализуется через типы цен в связке с группами пользователей.

Структура данных

Ценовые типы хранятся в b_catalog_price_type. Цены конкретных товаров — в b_catalog_price, где каждая строка содержит CATALOG_ID (ID инфоблока-каталога), PRODUCT_ID, CATALOG_PRICE_TYPE_ID, PRICE и CURRENCY.

Создание ценового типа

Магазин → Каталог → Типы цен → Добавить:

  • Название — техническое и публичное
  • Символьный код — используется в коде (BASE, WHOLESALE, DEALER)
  • Сортировка — влияет на порядок в прайс-листе
  • Валюта — валюта по умолчанию для этого типа

Привязка к группам пользователей: Магазин → Каталог → Типы цен → [тип] → Группы. Укажите, какая группа видит данный тип. Один пользователь может входить в несколько групп — применяется тип с наивысшим приоритетом.

Программное управление

// Создание типа цены
$priceType = \CCatalogPriceType::GetByID('WHOLESALE');
if (!$priceType) {
    \CCatalogPriceType::Add([
        'NAME'      => 'Оптовая',
        'CODE'      => 'WHOLESALE',
        'SORT'      => 100,
        'BASE'      => 'N',
        'CURRENCY'  => 'RUB',
    ]);
}

// Установка цены для товара
\CCatalogProduct::SetPrice($productId, $priceTypeId, 1500.00, 'RUB');

// Получение цены для текущего пользователя
$price = \CCatalogProduct::GetOptimalPrice($productId);
// Возвращает минимальную цену из доступных пользователю типов

BASE-цена

Один тип цены должен иметь флаг BASE = Y. Это базовая цена — от неё рассчитываются скидки. Если у товара нет цены нужного типа для пользователя, Битрикс возвращает BASE-цену. Не удаляйте BASE-тип и не создавайте несколько BASE = Y — поведение непредсказуемо.

Импорт цен через CSV/XML

При импорте из 1С или Excel прайс-листа цены разных типов передаются отдельными колонками. В настройках импорта каждая колонка маппируется на тип цены. Через CIBlockElement::SetPropertyValues цены не устанавливаются — только через CCatalogProduct::SetPrice или D7 API:

\Bitrix\Catalog\PriceTable::add([
    'PRODUCT_ID'            => $productId,
    'CATALOG_GROUP_ID'      => $priceTypeId,
    'PRICE'                 => 2500.00,
    'CURRENCY'              => 'RUB',
    'QUANTITY_FROM'         => null,
    'QUANTITY_TO'           => null,
]);

Сроки выполнения

Создание и настройка 2–3 типов цен с привязкой к группам — 2–4 часа. Настройка импорта прайс-листа с несколькими типами цен — 4–8 часов.