Skip to main content
Skip table of contents

Stückliste mit Formeln

Die Stückliste mit Formel ermöglicht Ihnen die Errechnung der Menge anhand einer Formel. Die Idee hinter dieser Funktionalität ist, dass abhängig von verschiedenen Eingabeparametern, welche je Stückliste unterschiedlich sein können, entsprechende Berechnungen für die Ermittlung der Positionsdaten wie Menge, Abmessungen (B x H x T) und Artikel durchgeführt werden können. In weiterer Folge kann anhand der errechneten Daten eine echte Stückliste erzeugt werden, mit der die Produktion dann die entsprechenden Vorgaben bekommt.

Stücklisten mit Formel werden in der Übersicht blau dargestellt.

Parameter

Identifizieren Sie die Stücklisten, bei denen Sie die Formeln hinterlegen möchten. Haken Sie bei diesen Stücklisten mit Formeln an, damit der Reiter Parameter freigeschaltet wird.

Parameter definieren

Definieren Sie im Reiter Parameter nun die Eingabeparameter, die für diese Stückliste gelten sollten. Die Kennung ist dabei die Variable, die Sie im späteren Verlauf für die Berechnung verwenden. Die Bezeichnung ist die Bezeichnung für den Anwender. Ist Pflichtfeld angehakt, so muss zwingend ein Wert eingegeben werden. Sind Min bzw. Max-Wert definiert, so darf der erfasste Wert nur zwischen diesen Grenzen liegen. Zusätzlich steht bei der Texteingabe die Möglichkeit der Combobox zur Verfügung. Die auswählbaren Werte sind jeweils durch einen senkrechten Strich | (vertical Bar, Pipe) getrennt. Ist Pflichtfeld nicht angehakt, so kann auch leer ausgewählt werden, sonst wird der erste Wert aus Bereich vorgsechlagen.

Kopieren von Parametern

Die Parameter können von übergeordneten Stücklisten aus der Baumstruktur heraus übernommen werden. Klicken Sie dazu in der Parameterauswahlliste auf fehlende Parameter nachtragen. Sie erhalten nun eine Auswahlliste, in der die über dieser Stückliste liegenden Formelstücklisten aufgelistet sind.

Sollten Sie Ihre Stückliste einmal nicht von oben nach unten aufbauen, wählen Sie “alle Formelstücklisten” in der Auswahl.

Formeln

Auflösung von Variablen

Werte aus Variablen können erst verwendet werden, wenn sie initialisiert und errechnet sind. Wichtig bei der Verwendung von Variablen ist deren Einsatz in ihrer Reihenfolge und in der korrekten Ebene.

Die Berechnung der Stücklisten erfolgt von oben nach unten. Zuerst wird die obere Stückliste berechnet, danach erst ihre Unterstücklisten. Variable einer Unterstückliste stehen in der Stückliste nicht zur Verfügung. Sie stehen immer erst eine Ebene darunter zur Verfügung.

Variable KundeId

Als Parameter steht com.lp.server.util.KundeId (Kunde) zur Verfügung. In den Parametern kann in diesem Fall ein Kunde ausgewählt werden. Der ausgewählte Kunde wird bei der Überleitung in Produktstücklisten in alle Stücklisten, die Aufgrund der Formeln neu erzeugt werden, eingetragen.

Formelbeispiele

Division

Der Parameter LH wird durch 100 dividiert und das Ergebnis ist die Stücklistenmenge.

CODE
BigDecimal lh = $P{LH};
return (lh.divide(new BigDecimal(100)));

Tausendstel

Die Stücklistenmenge ist in Tausendstel des Parameters LL multipliziert mit 4 und 5 addiert.

CODE
BigDecimal ll = $P{LL};
BigDecimal tausendstel = ll.divide(new BigDecimal(1000.0));
return tausendstel.multiply(new BigDecimal(4.0)).add(new BigDecimal(5.0));

Ganzzahlige Ergebnisse

Der Parameter LL entspricht einer Länge in mm. Die Stücklistenposition ist LL in Meter und als ganze Zahl.

CODE
BigDecimal ll = $P{LL};
int anzahl;
anzahl = ll.intValue() / 1000;
return new BigDecimal(anzahl);

Bedingung

Wenn LL größer als 1000 ist, dann ist die Stücklistenmenge 1. Andernfalls ist die Stücklistenmenge 0,5.

CODE
BigDecimal ll = $P{LL};
if(ll.compareTo(new BigDecimal(1000))>0) {
   return (new BigDecimal(1));
}
return(new BigDecimal(0.5));

Bedingung anhand von Texten

Wenn der Textparameter AF den Text ALU enthält, dann ist die Stücklistenmenge 1. Andernfalls ist die Stücklistenmenge 0.

JAVA
String af = $P{AF};
BigDecimal m;
if (af.toUpperCase().contains("ALU")) {
    m = new BigDecimal(1.00);
} else {
    m = new BigDecimal(0.00); }
return m;

Dimensionen ändern

Bei einem eindimensionalen Artikel wird die Breite gesetzt und die Menge gleich belassen.

CODE
BigDecimal ll = $P{LL};
BigDecimal mng = getMenge();
Double d1 = new Double ((ll.doubleValue() - 175) / 1000);
setDimension1( d1 );
return (mng);

Fehlermeldung

Position kann nicht über die Zwischenablage hinzugefügt werden

Sollte die Position mit Formel nicht über die Zwischenablage eingefügt werden können, fehlen Parameter. Stellen Sie sicher, dass alle Parameter der Formeln in der neuen Stückliste, in die Sie einfügen möchten, enthalten sind.

Formel nicht gefunden

Die Meldung “Methode/Formel nicht gefunden” bedeutet, dass in einer Stückliste auf einer Position eine fehlerhafte Formel gespeichert wurde. Da bei der Speicherung bereits ein Fehler gemeldet wurde, wurde das erforderliche Class-File nicht erzeugt. Um die richtige Stücklistenposition zu finden, klicken Sie einfach auf den GoTo Button bei Stücklistenposition und Sie stehen direkt auf der fehlerhaften Formel. Bessern Sie bitte die falsche Formel entsprechend aus.

image-20240105-110604.png

Formel nicht gefunden

Fehler bei der Übersetzung

Die Meldung “Fehler bei der Übersetzung” kann beim Speichern der Formel auftreten. Die Meldung bedeutet, dass eine entsprechende Methode nicht gefunden wurde.

image-20240105-110621.png

Fehler bei der Übersetzung

Klasse nicht erzeugbar wrong return type

Die Meldung “Klasse nicht erzeugbar” kann zum Beispiel bei der Gesamtkalkulation angezeigt werden. Sie bedeutet, dass eine Formel hinterlegt wurde, deren Rückgabewert nicht den geforderten Werten entspricht. Für Stücklistenpositionen muss ein BigDecimal zurückgegeben werden. Für Positionen im Arbeitsplan kann kein Rückgabewert angegeben werden, es kann nur die Stück- und Rüstzeit gesetzt werden.

image-20240105-110635.png

Klasse nicht erzeugbar

Klasse nicht erzeugbar expecting to find object/array on stack

Gegebenenfalls erhalten Sie eine Meldung beim Verwenden der Formelstückliste. Korrigieren Sie Ihre Formeln entsprechend.

image-20240105-110655.png

Klasse nicht erzeugbar

Stücklisten anlegen

Angebotskalkulation

Sie können eine Formelstückliste im Angebotsmodul kalkulieren und ein Angebot erzeugen. Wählen Sie dafür in der Angebotsposition das Icon.

Produktstückliste im Modul Stückliste

Im Modul Stückliste können Sie aus dem Menü Bearbeiten → Konfigurieren eine Produktstückliste konfigurieren und anlegen. Es wird dazu die Formelstückliste mit allen formelbehafteten Unterstücklisten kopiert und anstelle der Formeln die errechneten Werte eingetragen.

Die Artikelnummer der Stücklisten werden aus den Formelstücklisten übernommen und um eine laufende 2+4 stellige Nummer ergänzt. Die ersten zwei Stellen sind das Geschäftsjahr der Anlage gefolgt von einer vierstelligen laufenden Nummer. Diese wird auf die angelegte maximale Länge der Artikelnummer rechtsbündig durch Ergänzung um _ (Underline / Unterstrich) aufgefüllt. Um eine Durchgängigkeit zu erreichen, werden die Produktstücklistennummern zentral verwaltet und über alle Arten von Formelstücklisten hochgezählt. Unterstücklisten für die Fertigung von Ersatzteilen kollidieren dadurch nicht mit anderen Formelstücklisten.

Bei der Erzeugung der Produktstücklisten werden außerdem, bei eingeschaltetem Parameter DIMENSIONEN_BESTELLEN, diejenigen Artikel angelegt, bei denen die Dimensionen für die stückgenaue Beschaffung der für Sie gefertigten Artikel benötigt werden.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.