Задача
Заказ на печать до этого жил в переписке: клиент описывал, что хочет, менеджер уточнял тираж и размеры, дизайнер смотрел присланный логотип, смета собиралась вручную. Обычная товарная карточка такой процесс не выдерживает. Количество здесь раскладывается по S, M, L и XL. Цена зависит от того, печатаем мы в одну зону или в три, и сколько цветов в каждой. Часть методов нанесения недоступна для конкретного материала, а часть требует подготовки, которая оплачивается отдельно от самих изделий.
Нужно было провести заказчика по всей цепочке самостоятельно: подобрать изделие, собрать тираж по цветам и размерам, зафиксировать зоны и параметры нанесения, увидеть предварительный расчёт. Затем создать или загрузить макет, утвердить его перед печатью, оплатить и передать всё это в производство, не пересобирая требования заново. Сотрудникам при этом требовалась одна административная система на каталог, ценовые матрицы, заявки, макеты, согласования, заказы и производственные статусы.
Решение
Тираж по размерам. В карточке заказчик не вводит «50 штук», а указывает количество для каждого размера. Система суммирует значения, проверяет минимальные производственные ограничения и сохраняет раскладку как часть позиции заказа. В том же виде она потом уходит на склад и в цех.
Мгновенный расчёт по правилам. Цена собирается из стоимости базового изделия, ценового уровня по общему тиражу, различий между вариантами основы, числа зон печати и количества красок в каждой зоне. Учитываются также плата за подготовку, доплата за дополнительные зоны, персональные имена и номера, выбранный способ нанесения, налоги и доставка. Пользователь видит итог вместе с составом расчёта. Изменение цвета, количества или зоны пересчитывает ту же смету, и новая несвязанная конфигурация не появляется. Отдельно проверялись границы ценовых диапазонов: последний экземпляр одного ценового уровня и первый экземпляр следующего не должны получать случайную цену.
Разные технологии — разные правила. Шелкография, вышивка, DTF и другие трансферные методы, полноцветная цифровая печать, сублимация, персональные имена и номера для спортивной формы. Калькулятор один, но формулы у методов разные: для шелкографии считается подготовка на каждый цвет и каждое размещение, для вышивки оценивается её сложность, при сублимации дизайн рассматривается как часть всей поверхности изделия.
Конструктор, который знает изделие. Рабочая область открывается для выбранной модели: подгружаются её ракурсы и допустимые зоны, чтобы макет нельзя было разместить на стороне, которую производство не печатает. Документ дизайна хранит редактируемую сцену: типы объектов, координаты, размеры, поворот, цвета, шрифты, ссылки на исходные файлы и выбранные зоны. Дизайн сохраняется, получает ссылку для показа коллегам и возвращается в редактирование.
Исходная графика отдельно от превью. Загруженный файл, рабочие версии дизайнера и финальный производственный файл живут как разные сущности с версиями и статусами. До печати проверяются разрешение, масштаб, прозрачность, цветовая модель, качество контуров, тонкие линии и мелкий текст; при необходимости графика векторизуется, цвета приводятся к палитре, выполняется цветоделение. Поэтому превью низкого качества не может случайно уехать в печать.
Макет на утверждение как точка невозврата. Согласование собирает размещение, размеры нанесения, цвета, орфографию текста, список сторон, метод производства и версию исходной графики. Производство разрешено только для статуса Approved. Изменение товара, цвета, текста, зоны или файла после одобрения сбрасывает утверждение и требует повторной проверки.
Командные заказы. К заказу формы прикрепляется список команды: имя, номер, размер, модель и цвет для каждого игрока. Система проверяет обязательные поля, повторяющиеся номера и совпадение числа строк с размерным тиражом. Шаблон команды позволяет повторить заказ в следующем сезоне, поменяв только состав.
Одна связка идентификаторов. Магазин и конструктор работают на общих ключах: продукт, вариант, конфигурация тиража, пользователь, сохранённый дизайн, заказ. Позиция корзины несёт цвет, количества по размерам, зоны, число красок, метод, ссылку на дизайн и утверждённый макет. По этим ключам из сохранённого дизайна собирается воспроизводимое производственное задание.
Результат
Клиент проходит путь сам: находит изделие, собирает тираж, задаёт нанесение, видит цену до корзины и делает макет в браузере. Если он всё же идёт к менеджеру, тот получает не письмо без контекста, а структурированную конфигурацию с товаром, размерами, зонами, исходной графикой и сохранённым дизайном.
Те же данные без перебивки переходят в предпечатную проверку, макет на утверждение и производственное задание, где к ним добавляются рабочие инструкции, ответственные и приоритет. Расхождение между тем, что клиент видел на экране, и тем, что вышло из-под пресса, больше не зависит от внимательности менеджера.