Для начала надо в терминах определиться. Когда я говорил отходы, я имел ввиду материал, из которого мы ничего не можем делать, а можем только продать по цене металлолома.
Ограничимся листами.
Я предполагаю что отстатки от листов ведутся под теми же ОЗМ, что и исходные листы, только в других партиях с соответствующей классификацией. В качестве признаков класса партии например может быть наибольшая длинна, ширина и максимальный диаметр вписанной в непрерывный лист окружности.
Одна из единиц измерения листов - квадратные метры.
В спецификации на все детали исходный лист указывается в позиции с размерами заготовки (тип позиции R). В качестве размеров можно указать например диамерт описывающего деталь круга, или длинну и ширину описывающего прямоугольника. Формула в этой позиции рассчитывает требуемую площать заготовки.
При прогоне ППМ по деталям возникнет потребность в определенном количестве квадратных метров исходных листов (не важно каких - свежих или уже надкусанных). Она наверняка будет несколько завышенной, т.к. человек всегда разложит детали на листе более оптимально чем любая раскладочная программа, так что нехватки материала на мелкие детали после такого прогона ППМ быть не должно. Если же есть опасение - страховой запас можно планировать.
Чтобы эта схема работала, надо разработать процедуру проверки доступности материа с учетом размеров, указанных в спецификациях на них и признаков класса партии этого материала, а также процедуру выбора партии при создании резервирования для заказа.
Exit'ы вроде соовтетсвтующие имеются... Но верный алгоритм на все случаи жизни придумать я думаю нельзя, скорее получится такой, какой если скажет есть материал - значит есть, а если скажет нет - то это может быть и нет, а может и есть если человек раскладывать будет
Если у вас сначала делают раскладку на лист, а потом запускают заказ - то все еще проще, партия исходного материала известна до создания PP-заказа.