Разработка сайта типографии на 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Разработка сайта типографии на 1С-Битрикс
Сложная
от 1 недели до 3 месяцев
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • 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С-Битрикс закрывает все три потребности — онлайн-калькулятор с нелинейной тарификацией, модуль preflight-проверки загружаемых файлов и система статусов заказа с уведомлениями. Платформа Битрикс обеспечивает интеграцию с 1С:Полиграфия для синхронизации производственного цикла.

Каталог продукции

Продукция типографии оформляется в инфоблоке «Каталог» с разделами: визитки, буклеты, листовки, каталоги, упаковка, POS-материалы, широкоформатная печать. Каждый элемент содержит:

  • Описание продукта — с примерами применения и фотографиями готовых изделий
  • Доступные форматы — множественное свойство-список (A3, A4, A5, A6, евроформат, нестандартный)
  • Типы бумаги — привязка к Highload-инфоблоку «Бумага» (мелованная, офсетная, дизайнерская, картон — с указанием плотности)
  • Постпечатная обработка — множественный список: ламинация (матовая/глянцевая), УФ-лак, тиснение, вырубка, биговка, фальцовка
  • Минимальный тираж — числовое свойство
  • Технические требования к макету — HTML-блок со спецификацией: разрешение, цветовое пространство, вылеты

Загрузка макета с preflight-проверкой

Клиент загружает макет через форму на детальной странице продукта. Принимаемые форматы: PDF, AI, EPS, TIFF. Ограничение размера — 200 МБ на файл (настраивается через upload_max_filesize и post_max_size в PHP, а также параметр поля веб-формы).

После загрузки файл проходит автоматическую preflight-проверку через PHP-обёртку над ImageMagick (identify и convert):

  • Разрешение — проверка DPI (минимум 300 для офсетной печати, 150 для широкоформатной)
  • Цветовое пространство — CMYK для печати; если RGB — предупреждение клиенту
  • Размер документа — сопоставление с выбранным форматом продукции (допуск ±3 мм на вылеты)
  • Наличие прозрачности — для PDF проверяется через pdfinfo (Poppler utils)

Результат проверки сохраняется в свойствах заказа и отображается клиенту: зелёная индикация — макет соответствует требованиям, жёлтая — есть предупреждения (RGB, низкое разрешение), красная — критические ошибки (неподдерживаемый формат, повреждённый файл).

Для PDF дополнительно генерируется превью первой страницы через convert ImageMagick → JPEG, которое выводится клиенту для визуальной верификации.

Отслеживание заказа

Заказ проходит через производственные статусы, хранящиеся в модуле sale (компонент bitrix:sale.personal.order.detail):

  • Принят — заказ оформлен, ожидает проверки макета
  • Макет проверен — preflight пройден, заказ в очереди на производство
  • В печати — заказ на печатном оборудовании
  • Постпечатная обработка — ламинация, биговка, вырубка
  • Готов к выдаче — продукция на складе готовой продукции
  • Отгружен — передан курьеру или забран клиентом

При смене статуса срабатывает обработчик события OnSaleStatusOrder, отправляющий SMS через сервис (SMS.ru или аналог) и email через почтовое событие. Клиент также видит текущий статус в личном кабинете — визуальный прогресс-бар с подсветкой текущего этапа.

Интеграция с 1С:Полиграфия

Обмен данными настраивается через модуль catalog и кастомный обработчик:

  • Из Битрикс в 1С: новые заказы выгружаются как заказы покупателей с привязкой к номенклатуре
  • Из 1С в Битрикс: статусы производства обновляются через REST-вызовы; при смене статуса в 1С скрипт обмена вызывает метод CSaleOrder::Update() на стороне Битрикса
  • Номенклатура: справочник продукции синхронизируется из 1С, включая актуальные тарифы на материалы

Периодичность обмена — cron-задача каждые 15 минут для статусов, раз в сутки для номенклатуры и тарифов.

Deep-dive: калькулятор полиграфической продукции с нелинейной тарификацией

Калькулятор типографии — самый технически сложный элемент сайта. В отличие от линейного «цена × количество», стоимость полиграфии зависит от множества параметров с нелинейными зависимостями: тираж 100 визиток может стоить 5 рублей за штуку, а тираж 1000 — уже 1.5 рубля за штуку. Добавление ламинации увеличивает стоимость не пропорционально, а ступенчато. Цена бумаги зависит от плотности и формата нелинейно.

Модель данных

Тарификация хранится в нескольких связанных Highload-инфоблоках:

HlPaper (бумага):

Поле Тип Пример
UF_NAME строка Мелованная глянцевая
UF_DENSITY число 300
UF_PRICE_PER_KG число 85
UF_SHEET_WEIGHT число (float) Вес листа формата в граммах
UF_FORMAT список SRA3, SRA2, 620×940

HlPrintRun (тарифы по тиражу):

Поле Тип Пример
UF_PRODUCT_TYPE привязка Визитки
UF_RUN_FROM число 100
UF_RUN_TO число 499
UF_COLORS список 4+0, 4+4, 1+0, 1+1
UF_SETUP_COST число Стоимость приладки
UF_PRINT_COST_PER_SHEET число (float) Стоимость печати за лист

HlPostpress (постпечатная обработка):

Поле Тип Пример
UF_TYPE список Ламинация матовая
UF_SETUP_COST число 800
UF_COST_PER_UNIT число (float) 0.45
UF_MIN_RUN число 100
UF_DISCOUNT_THRESHOLD число 1000
UF_DISCOUNT_PERCENT число 15

Формула расчёта

Итоговая стоимость складывается из компонентов:

  1. Стоимость бумаги = количество листов × вес листа × цена за кг / 1000. Количество листов рассчитывается из тиража с учётом спуска полос: сколько изделий помещается на печатный лист (зависит от формата изделия и формата бумаги). Добавляется технологический запас: 3% для тиража до 500, 2% для 500–5000, 1.5% свыше 5000.

  2. Стоимость печати = приладка + (количество печатных листов × стоимость за лист). Приладка — фиксированная сумма за настройку оборудования, не зависит от тиража. Стоимость за лист снижается ступенчато: определяется строкой из HlPrintRun по диапазону тиража.

  3. Постпечатная обработка = приладка + (количество единиц × стоимость за единицу). Если тираж превышает порог UF_DISCOUNT_THRESHOLD, применяется скидка UF_DISCOUNT_PERCENT.

  4. Итого = бумага + печать + сумма постпечатных операций.

Backend-реализация

AJAX-обработчик (/ajax/calc_print.php) принимает параметры: тип продукции, формат, тираж, цветность, тип бумаги, плотность, массив постпечатных операций. Для каждого компонента формулы выполняется запрос к соответствующему Highload через ORM DataManager. Результаты промежуточных вычислений кэшируются в $_SESSION для отображения детализации.

Ответ содержит JSON с полной детализацией: стоимость бумаги, стоимость печати (с выделением приладки), стоимость каждой постпечатной операции, итого и цена за единицу. Клиент видит прозрачную структуру цены.

Интерфейс

Калькулятор встроен в детальную страницу каждого продукта. При выборе параметров пересчёт происходит в реальном времени через AJAX с debounce (300ms задержка после последнего изменения). Визуально результат отображается в закреплённой боковой панели (sticky sidebar), которая на мобильных устройствах превращается в нижнюю шторку (bottom sheet).

Этапы реализации

Этап Работы Срок
Аналитика Сбор тарифных матриц, формулы расчёта, ТЗ на калькулятор 2 недели
Проектирование Структура Highload, прототипы, UX калькулятора 1.5 недели
Дизайн Макеты каталога, калькулятора, личного кабинета 2 недели
Backend Инфоблоки, Highload-справочники, логика калькулятора 4 недели
Preflight-модуль Интеграция ImageMagick, обработчик проверки макетов 1 неделя
Frontend Вёрстка, интерактивный калькулятор, адаптив 2 недели
Интеграция 1С Настройка обмена статусов и номенклатуры 1.5 недели
Тестирование Проверка формул, нагрузочное тестирование, UAT 1.5 недели
Запуск Деплой, наполнение каталога, мониторинг 1 неделя