Разработка калькулятора с живыми ценами в 1С-Битрикс

Как мы создаём калькулятор с живыми ценами в 1С-Битрикс Мы разрабатываем калькуляторы с динамической подгрузкой цен для 1С-Битрикс, которые берут данные из каталога в реальном времени. Изменилась цена на металл — калькулятор металлоконструкций сразу считает по новым. Без переписывания кода. Именн
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
Разработка калькулятора с живыми ценами в 1С-Битрикс
Средний
~1-2 недели

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1415
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    996
  • 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
    735
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    863
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    773
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1134

Как мы создаём калькулятор с живыми ценами в 1С-Битрикс

Мы разрабатываем калькуляторы с динамической подгрузкой цен для 1С-Битрикс, которые берут данные из каталога в реальном времени. Изменилась цена на металл — калькулятор металлоконструкций сразу считает по новым. Без переписывания кода. Именно здесь большинство реализаций ломается: либо кешируют цены слишком агрессивно (старые данные часами), либо делают AJAX-запрос к БД при каждом движении слайдера (лишняя нагрузка). Мы предлагаем сбалансированный подход, проверенный на десятках проектов.

Как избежать лишних запросов при пересчёте?

Правильная архитектура: при загрузке страницы PHP рендерит все нужные цены в JSON-объект <script>. Пользователь меняет параметры — JavaScript пересчитывает стоимость локально. Никаких сетевых запросов. Исключение — биржевые товары, где цены меняются в сессии: тогда AJAX-запрос раз в 5–10 минут, а не при каждом клике.

// Инициализация цен из PHP const calcPrices = <?= json_encode($pricesData) ?>; // Пересчёт при изменении параметров (без AJAX) function recalculate() { const materialId = document.getElementById('material').value; const quantity = parseFloat(document.getElementById('quantity').value); const pricePerUnit = calcPrices[materialId]?.price ?? 0; document.getElementById('total').textContent = formatPrice(pricePerUnit * quantity); } 

Откуда брать цены: API каталога

Цены хранятся в таблице b_catalog_price. Для каждого товара может быть несколько цен — тип определяется CATALOG_GROUP_ID. API выборки:

$prices = \Bitrix\Catalog\PriceTable::getList([ 'filter' => [ 'PRODUCT_ID' => $productIds, 'CATALOG_GROUP_ID' => 1, // розничная ], 'select' => ['PRODUCT_ID', 'PRICE', 'CURRENCY'], ])->fetchAll(); 

Для торговых предложений (SKU) цена привязана к ID предложения, а не основного товара. Официальная документация API поможет разобраться в деталях. Дополнительно применяем кэширование для снижения нагрузки.

Почему важна инвалидация кеша?

Без тегированного кеша цены кешируются глобально — при обновлении товара кеш не сбрасывается, и калькулятор показывает устаревшие данные. Наше решение: привязываем тег catalog_price_X к каждому товару. При изменении цены агентом или из 1С кеш автоматически очищается.

Метод кеширования TTL Инвалидация Когда использовать
Стандартный (без тегов) 3600 сек Только по времени Статичные каталоги
Тегированный 3600 сек По тегу товара Частые обновления цен
Без кеша Биржевые данные (TTL=60-300 с)

Сравнение подходов к загрузке данных

Подход Скорость работы Актуальность Нагрузка на сервер
Рендеринг JSON на PHP Высокая Высокая Низкая
AJAX-запросы при каждом изменении Низкая Высокая Высокая
Хранение цен в JS (статический файл) Высокая Низкая Низкая

Тегированное кеширование с рендерингом JSON обеспечивает оптимальный баланс: актуальность данных без дополнительных запросов. Наш подход с тегированным кешем обновляет цены в 10 раз быстрее по сравнению с хранением в статическом JSON-файле.

Насколько быстро обновляются цены после импорта из 1С?

После выгрузки из 1С через CommerceML агент сбрасывает тегированный кеш, и калькулятор сразу использует новые цены. Задержка составляет не более 30 минут (зависит от частоты запуска агента). Для биржевых данных можно снизить TTL до 60–300 секунд.

Кейс: калькулятор металлопроката с актуальными ценами

Из практики: наш клиент — металлоторговая компания с каталогом из 3 000 позиций, цены обновляются ежедневно через выгрузку из 1С. Исходная реализация использовала ручное обновление JSON-файла — цены запаздывали на неделю.

Мы перестроили архитектуру: цены подтягиваются из b_catalog_price при рендере, кеш тегирован и инвалидируется через 30 минут после импорта из 1С. Теперь пользователь видит актуальные цены с задержкой не более 30 минут. Дополнительно реализовали групповые цены для оптовиков. Экономия времени на обновлении — до 30% по сравнению с ручным методом.

Что входит в работу

  1. Анализ структуры каталога и типов цен
  2. Проектирование архитектуры (PHP → JSON, тегированный кеш)
  3. Реализация логики пересчёта на JavaScript
  4. Тестирование на нагрузку и актуальность данных
  5. Документация по обновлению и поддержке
  6. Гарантия корректной работы 30 дней

Типичные ошибки при реализации калькулятора

  • Игнорирование SKU: если товар имеет торговые предложения, цены привязываются к ID предложения, а не основного товара. Необходимо учитывать это при выборке.
  • Слишком большой TTL: для часто меняющихся цен (биржа, акции) TTL более 300 секунд приводит к показу неактуальных данных.
  • Отсутствие инвалидации при импорте: после обновления цен из 1С нужно принудительно сбрасывать кеш, иначе калькулятор будет использовать старые данные до истечения TTL.

Почему выбирают нас

Более 7 лет работаем с Битрикс и Битрикс24. Выполнили 50+ проектов, включая сложные калькуляторы с интеграцией 1С, СДЭК, фискализацией. Предлагаем прозрачные сроки: базовый калькулятор — 3–6 дней, с группами цен — до 8 дней, с остатками — до 11 дней.

Свяжитесь с нами для оценки вашего проекта. Мы поможем избежать типовых ошибок и сделаем калькулятор, который действительно работает с живыми ценами. Закажите расчёт стоимости разработки под ключ.

Wikipedia: REST API — дополнительный источник о подходах к передаче данных.