Automatisch generiertes Positionsmaterial wird bei Änderungen ggf. auch wieder entfernt

Im Rahmen einer Anfrage wurde gewünscht, dass bei der Änderung von Baugruppen oder Artikeln im Hintergrund automatisch generiertes Positionsmaterial korrekt angepasst wird. Konkret sollte sichergestellt werden, dass Materialpositionen, die durch Berechnungen erzeugt wurden und nach einer Änderung nicht mehr benötigt werden, zuverlässig entfernt werden, um eine saubere Datenhaltung zu gewährleisten.

Daher wurde die Logik zur Bestimmung, wann ein Material als leer gilt, verfeinert. Es wird nun unterschieden zwischen allgemeinen leeren Materialien und solchen, die spezifisch aus einer Positionszeile stammen. Nur wenn ein Material sowohl leer ist als auch keine direkte Zuordnung zu einer aktiven Position mehr hat, wird es gelöscht. Zusätzlich wurde der Berechnungsprozess so erweitert, dass bei Änderungen an einer Position nicht nur die Mengen neu berechnet, sondern auch die Kosten aktualisiert werden. Wenn eine Position ihre Eigenschaft verliert, als berechnetes Material relevant zu sein, wird das zugehörige Material nun aktiv auf null gesetzt und anschließend entfernt, falls es dadurch leer wird. Diese Anpassung stellt sicher, dass veraltete Einträge im Positionsmaterial nicht hängen bleiben, wenn sich die zugrunde liegenden Artikel oder Baugruppen ändern.

SU-20878