Задание: Разработчик встраиваемых систем. Специализированный Калькулятор пересчета кг ↔ км для материалов, привязанный к номенклатуре в 1С (Дистанционная работа)
Необходимо создать инструмент для менеджеров по продажам, с помощью которого они смогут рассчитывать материалы по заданным параметрам:
1) Цель
Сделать калькулятор, который по выбранному материалу считает:
кг → км.пог (и показывает ещё м.пог)
км.пог → кг (и поддерживает ввод в м.пог)
Приоритет: готовая продукция (плёнка на отгрузку).
Также : полуфабрикаты (ламинат/основа), если по ним есть параметры.
2) Пользователи
Менеджеры (быстро считать при заказе/переговорах)
Сервис/логистика (при отгрузке)
3) Данные (справочник материалов)
Калькулятор считает только если по материалу в справочнике заполнены ключевые параметры.
3.1. Что хранить по каждой позиции
ID / Артикул / Наименование - Номенклатура привязана к 1С
Тип: Готовая продукция / Полуфабрикат
Ширина, мм (например 300)
Удельная масса — один из вариантов:
Вариант A (предпочтительно): граммаж, г/м²
Вариант B: толщина, мкм + плотность, кг/м³
Важно: достаточно одного варианта (A или B). Если есть A — считаем по нему.
4) Что должно уметь
4.1. Выбор материала
Поле поиска/выбора материала по названию/артикулу.
После выбора показывать пользователю параметры, которые участвуют в расчёте:
ширина
граммаж или толщина+плотность
4.2. Режимы расчёта
Калькулятор должен уметь 2 сценария:
Сценарий 1: “У меня есть вес”
Ввод: материал + вес+ширина материала
Вывод: км.пог
Сценарий 2: “У меня есть длина и ширина”
Ввод: материал + длина+ширина (км.пог, переключатель)
Вывод: кг
4.3. Копирование результата
Кнопка “Скопировать результат”
Копирует число + единицу (например: 12,347 км или 256,4 кг)
5) Интерфейс
Один экран:
Материал (При наборе должен выпадать список по артикулу или названию)
Блок “Параметры материала” (показывать то, что есть):
Может быть только два варианта
Вес+ширина
Км+ширина
Кнопка “Рассчитать”
Блок результата крупно:
если были заданы вес+ширина, то выдаем километраж
если были заданы км+ширина, то выдаем вес
Кнопка “Скопировать результат”
6) Округление и формат
км: до 0,001 км (1 метр)
м: целое число
кг: до 0,1 кг
Ввод должен принимать точку и запятую.
7) Проверки и ошибки
Если нет данных для расчёта — не считать, а показывать понятное сообщение:
“Выберите материал”
“У материала не задана ширина”
“У материала не задан граммаж или толщина+плотность”
“Введите число больше 0”
8) в итоге
Есть справочник минимум на 20 материалов (10 готовых + 10 полуфабрикатов).
Для любой позиции калькулятор корректно считает:
кг+ширина → км
км+ширина → кг
На 10 тестовых примерах результат совпадает с ручным расчётом (допуск ±0.5%).
Все ошибки из раздела 8 отрабатывают.
“Скопировать результат” копирует значение с единицами.