Учёт обрезков листового материала: площади недостаточно

Два остатка имеют одинаковую площадь 0,2 м²: первый — 1000 × 200 мм, второй — 500 × 400 мм. Для условного прямоугольника 450 × 350 мм второй проходит простую проверку габаритов, а первый не подходит даже при повороте. Поэтому наличие нужного количества квадратных метров ещё не означает наличие подходящего обрезка. Программа должна учитывать форму, размеры и свойства конкретного остатка, а не только суммировать площадь на складе.
Это учебная модель для разработки учёта. Она не задаёт технологию раскроя, припуски, требования оборудования или безопасность производства. Требуемый прямоугольник в примере уже должен включать те размеры и условия, которые специалист предприятия установил для своей задачи. Геометрическая проверка карточки не является разрешением выполнять работу и не заменяет производственную подготовку.
Разберите пример до выбора программы
В запросе нужен один прямоугольник заданного размера. Остатки считаются прямоугольными, имеют одинаковые подходящие свойства и доступны для использования. Это специально упрощённые условия. Если убрать хотя бы одно из них, одного сравнения сторон может оказаться недостаточно. Например, иной материал или неподходящая толщина должны исключить запись раньше проверки площади.
| Учебный остаток | Площадь | Сравнение с 450 × 350 мм | Результат простой проверки |
|---|---|---|---|
| 1000 × 200 мм | 0,2 м² | Одна сторона слишком мала при обеих ориентациях | Не подходит |
| 500 × 400 мм | 0,2 м² | Обе стороны не меньше требуемых | Есть геометрический кандидат |
| Те же 500 × 400 мм, другой материал | 0,2 м² | Размеры подходят, свойства нет | Не подходит запросу |
| Те же 500 × 400 мм, уже зарезервирован | 0,2 м² | Размеры подходят, свободного остатка нет | Нельзя обещать без решения о резерве |
Площади рассчитаны переводом миллиметров в метры: 1 × 0,2 и 0,5 × 0,4. Совпадение этих произведений скрывает разную пригодность прямоугольников. Именно поэтому отчёт «на складе 0,4 м²» не должен автоматически становиться ответом «материала хватает». Сначала нужно понять запрос и найти конкретный допустимый остаток, а затем решать вопрос его использования.
Что должна описывать карточка остатка
Минимальная карточка зависит от процесса, но ей нужно отличать конкретный объект от общего количества материала. Обычно для предложенной модели это идентификатор, вид материала, нужные свойства, форма, размеры, расположение и состояние доступности. Набор свойств предприятие определяет самостоятельно. Не добавляйте десятки пустых полей только потому, что они есть у чужой системы: каждое должно участвовать в поиске или проверке.
Для прямоугольного остатка согласуйте, в каких единицах записываются стороны и что они обозначают. Если один сотрудник вводит сантиметры, а другой миллиметры, правдоподобная площадь может скрыть крупную ошибку. Показывайте единицу рядом с вводом и результатом, проверяйте диапазон по согласованным правилам. Не исправляйте подозрительное значение молча: сотрудник должен подтвердить исходное измерение.
Одна фотография не заменяет размеры. Она помогает узнать предмет и его расположение, но не даёт надёжного машинного ответа о возможности использовать его под конкретный запрос. Свяжите изображение с карточкой, а не храните отдельный альбом без идентификаторов. Если предмет переместили, запись должна позволять найти его без узнавания случайного фона на старом снимке.
Не принимайте внешний прямоугольник за полезную форму
Для непрямоугольного обрезка максимальная длина и ширина могут включать отсутствующие части. Прямоугольник по внешним границам не доказывает наличие сплошной области таких размеров. Если программа поддерживает только прямоугольные остатки, честно ограничьте её модель. Не называйте сохранённые габариты полноценной геометрией произвольного контура.
Предприятие может согласовать запись подтверждённого пригодного прямоугольника внутри остатка. Тогда важно хранить именно смысл измерения: это не обязательно размер всего предмета. Для сложной формы может потребоваться отдельное представление и специальный подбор. Такое расширение нужно оценивать как собственную задачу, а не обещать его наличие после добавления двух числовых полей.
Проверка состояния тоже остаётся самостоятельной. Геометрически подходящий участок может не пройти производственные условия. Не заставляйте складскую программу автоматически объявлять пригодность только по положительному результату сравнения сторон. Ответ «найден кандидат» точнее ответа «можно изготовить», если остальные ограничения ещё не проверены ответственным специалистом.
Как задать поворот и направление
В учебном примере можно проверить две ориентации прямоугольника. Но это разрешено не для любого материала и заказа. Сначала выясните, влияет ли ориентация на требования и какие данные нужны для решения. Если поворот запрещён, система не должна предлагать его как очевидное исправление нехватки одной стороны. Отсутствующее значение правила не равно разрешению.
Храните необходимые признаки в запросе и карточке так, чтобы они сравнивались однозначно. Текстовое примечание «учесть направление» плохо подходит для автоматического отбора, если никто не определил его смысл. Можно оставить такой случай для ручного подтверждения, но интерфейс должен сообщать об этой границе. Не превращайте приблизительный поиск в автоматически подтверждённое производственное решение.
Резервируйте найденный остаток, а не его площадь
Два сотрудника могут одновременно подобрать один и тот же предмет для разных заказов. Положительная проверка на экране ещё не означает, что оба заказа обеспечены. Резерв должен ссылаться на конкретный остаток и иметь понятное состояние. При подтверждении нужно учитывать уже изменившуюся доступность, иначе сумма зарезервированных обещаний превысит физически доступные объекты.
Для отменённого заказа предусмотрите освобождение резерва по принятому процессу. Не делайте один общий переключатель «свободно», который стирает связь с причиной блокировки. Остаток может быть недоступен не только из-за заказа, но и из-за проверки состояния или перемещения. Разные основания требуют разных действий, даже если в поиске предмет пока одинаково не предлагается.
Если используется предварительный подбор без резерва, назовите его именно так. Менеджер должен понимать, что получил список кандидатов на момент проверки. Перед обещанием клиенту или передачей в производство нужна предусмотренная процедура подтверждения. Красивый список размеров не даёт этой гарантии сам по себе.

После использования появляется новая запись о факте
Запланированный расход и фактический результат могут различаться. Система должна отражать то, что действительно выполнено и принято в учёт, а не автоматически создавать теоретический остаток по одной разности площадей. Из вычтенной площади нельзя восстановить форму оставшегося предмета. Для новой записи нужны предусмотренные измерения и связь с исходным событием.
Если после работы остался пригодный объект, создайте его карточку или обновите состояние согласно согласованной модели. Сохраните происхождение: из какого остатка и по какой операции он получен. При списании по иной причине также нужно отдельное основание. Иначе один и тот же предмет может продолжать числиться в поиске, хотя его исходная геометрия уже не существует.
Не требуйте от сотрудника заполнять сложный чертёж, если производство не готово поддерживать такую детализацию. Начните с тех видов остатков, для которых команда способна надёжно вести данные. Более простая, но проверяемая модель полезнее подробного каталога с устаревшими размерами. Ограничения должны быть видны пользователю, особенно при автоматическом подборе.
Приёмка на небольшом учебном наборе
Подготовьте оба прямоугольника из начала статьи, вариант с неподходящим свойством и уже зарезервированный объект. Добавьте запрет поворота и запись сложной формы, которую простая модель не умеет проверять. Ожидаемый результат задайте заранее: найден кандидат, исключён по свойству, недоступен либо требует ручной проверки. Один общий ответ «не найдено» не объясняет различие причин.
Затем проверьте одновременное подтверждение двумя сотрудниками, отмену резерва и фактическое использование с новым остатком. Поиск не должен предлагать прежнюю геометрию после изменения объекта. Отчёт по площади должен оставаться отчётом по площади, а список подходящих предметов — результатом отдельного отбора. Такое разделение помогает разработать инструмент, который отвечает на реальный производственный вопрос, а не только складывает квадратные метры.
Если нужна реализация
Состав работ зависит от текущего проекта и подтверждённой причины. Можно обсудить диагностику или разработку подходящего решения.
Вопросы и ответы
Почему одинаковая площадь не означает одинаковую пригодность?
У прямоугольников могут отличаться стороны. В учебном примере 1000 × 200 и 500 × 400 мм имеют по 0,2 м², но только второй проходит простую проверку для 450 × 350 мм при заданных условиях.
Достаточно хранить фотографию обрезка?
Фото помогает узнать объект, но не заменяет подтверждённые размеры и свойства для автоматического подбора. Для сложной формы нужна явно выбранная модель или ручная проверка.
Можно всегда повернуть требуемую деталь?
Это определяется условиями материала и запроса. Система должна учитывать разрешение на поворот, а не считать отсутствие запрета автоматически разрешённым действием.
Получится вычислить новый обрезок вычитанием площади?
Разность площадей не описывает форму. После фактического использования нужно зарегистрировать результат и необходимые измерения по принятому процессу, сохранив связь с исходным объектом.