Lade...
 

Einheitentabelle

Einheitentabelle

Beschreibung

Einheitentabellen definieren die Konvertierung zwischen verschiedenen Einheiten. In diesem Modul werden Einheitenumrechnungen für Teile angegeben, also. z.B. "1 Stange" entspricht "6000 mm". Auch spezifische Gewichte/Wichte werden in diesen Einheitentabellen angegeben ("1000 mm" entsprechen "3,25 kg").

Die hier für ein Teil definierten Einheiten können dann im gesamten System an beliebigen Stellen für dieses Teil angegeben werden. Eine Besonderheit ist das Variantenteil mit seinen Unterteilen, wenn das Unterteil keine eigene Einheitentabelle hat wird die des Variantenteil genommen. Eventuell für Berechnungen notwendige Umrechnungen werden vom System anhand dieser Einheitentabelle automatisch durchgeführt. Solche Berechnungen ergeben sich auch immer dann, wenn im Logistikkonto eines Teils verschiedene Mengeneinheiten für die Bereitstellung (handling unit), die Disposition (purchasing/production unit) und die Lagerführung (stock unit) angegeben werden müssen.

Auch können hiervon unterschiedliche Einheiten für Verkaufs- und Bestellpreise (€ pro "beliebiger" Einheit) angegeben worden sein, die ebenfalls einer Umrechnung bedürfen.

Um die gesamte Komplexität solcher Einheitenumrechnungen abzudecken, können Einheitenumrechnungen als festes Wertepaar, als Formel oder als bedingte Tabelle angegeben werden.

Für die Umrechnung gelten folgende Regeln:

Direktes Konvertieren

Beim direkten Konvertieren wird genau ein Umrechnungskurs benutzt, um eine Einheit in eine andere zu konvertieren. Dabei wird die Liste der Umrechnungskurse der Reihe nach durchlaufen und der erste Umrechnungskurs, mit dem ein Umrechnen möglich ist, benutzt. Wenn eine Konvertierung mit mehreren Umrechnungskursen, d.h. "über andere Einheiten hinweg", möglich sein soll, ist das Indirekte Konvertieren zu benutzen.

Indirektes Konvertieren

Beim indirekten Konvertieren kann, im Gegensatz zum direkten Konvertieren, "über mehrere Einheiten hinweg" konvertiert werden. Sollen beispielsweise "15 Dosen" in "Paletten" umgerechnet werden, so muss nicht unbedingt ein Umrechnungskurs zwischen diesen beiden Einheiten definiert sein. Falls jeweils ein Umrechnungskurs zwischen "Dosen" und "Kisten" und zwischen "Kisten" und "Paletten" vorhanden ist, so können "Dosen" mit dem "Umweg" über "Kisten" in "Paletten" konvertiert werden. Die Länge des Konvertierungsweges spielt dabei keine Rolle.

Reste beim Konvertieren

Im Unterschied zur Konvertierung von Währungen existiert noch ein fundamentaler Unterschied, da die Ausgangseinheit nicht immer genau in die Zieleinheit umgerechnet werden kann. Bestehen z.B. die folgenden beiden Umrechnungskurse:

  • 5 Dosen = 1 Kiste
  • 3 Kisten = 1 Palette

so stellen diese ganzzahlige Verhältnisse dar, d.h. die Umrechnung von "6 Dosen" in "Kisten" ergibt nicht "1,2 Kisten", sondern "1 Kiste und 1 Dose". Wird indirekt konvertiert, so kann es zudem mehrere Reste geben, so dass z.B. "22 Dosen" in "Paletten" konvertiert "1 Palette" mit dem Rest "1 Kiste und 2 Dosen" ergibt. Classix stellt zur Verwaltung solcher Reste Funktionalität zur Verfügung, um den Rest auch wieder als Ausgangseinheit darstellen zu können, in diesem Beispiel also als "7 Dosen".

Umrechnungskurse

Bei der Definition eines Umrechnungskurses sind vier Arten zu unterscheiden. Diese sind

1. ganzzahliger Umrechnungskurs
Hierbei handelt es sich um Umrechnungskurse, die in beide Richtungen eine ganzzahlige Umrechnung bewirken. Ein Beispiel hierfür ist z.B. "5 Dosen = 1 Kiste".
2. links-genauer Umrechnungskurs
Bei diesem Umrechnungskurs wird in die eine Richtung ("nach links") genau umgerechnet, während in die andere Richtung ganzzahlig konvertiert wird. Ein Beispiel hierfür ist "2,4m = 1 Stange". D.h. Bei der Umrechnung von "Stangen" in "m" entsteht immer ein genauer Wert ohne Rest, hingegen ergibt die Konversion von "2,5m" in "Stangen" "1 Stange" mit dem Rest "0,1m".
3. rechts-genauer Umrechnungskurs
Dieser Umrechnungskurs stellt das Pendant zum "links-genauen" Umrechnungskurs dar, wobei die Einheiten als vertauscht zu betrachten sind.
4. genauer Umrechnungskurs
Bei diesem Umrechnungskurs können keine Reste entstehen, d.h. er entspricht einem Wechselkurs zwischen zwei Währungen. Ein Beispiel hierfür ist eine Definition wie z.B. "1,2m = 5,76 kg".

 

 

Funktionalität

Eingabefenster

Dieses Fenster dient der Pflege von Einheitentabellen von Teilen.

Menü
Menüpunkt Beschreibung
Bearbeiten -
: Einheiten -
: : Einfügen Einheitenumrechnung in die Einheitentabelle einfügen
: : Löschen Markierte Zeile der Einheitenumrechnung aus der Einheitentabelle löschen
: Einheitentabelle löschen Die angezeigte Einheitentabelle wird gelöscht.
: Schließen Fenster schließen
Felder
Feld Beschreibung
Teil Ausgabe des Teils, für welches eine spezifische Einheiten Umrechnungstabelle angegeben wird
Liste der Einheitenumrechnungen  
: Beschreibung Nur für Formeln und Tabellen: Freitextbeschreibung, welche Einheiten konvertiert werden, z.B. könnte hier "Konvertierung von Fläche in Gewicht (kg<>dm²)" stehen. Diese Beschreibung wird in der Liste mit angezeigt und steigert die Übersicht erheblich
: Name (Neuer) Name der Einheit (siehe Beispiele)
: Einheit1 Alter Name der Einheit (wird überschrieben), darf keine Standardeinheit (Monat, km, ...) sein
: Einheit2 Die im Feld 'Name/Einheit1' definierte Einheit entspricht dieser Einheit, unter Angabe der jeweiligen Umrechnung
: Status Ausgabe der Warnungs-/Fehlermeldung "Keine echte Konvertierung", falls es sich um eine Überdefinition von voneinander abgeleiteten Einheiten handelt
Knöpfe
Knopf Beschreibung
Einheitentabelle anmelden/abmelden Je nach angezeigtem Text wird die Einheitenumrechnungstabelle des Teils an- oder abgemeldet.
Diese Funktion ist nur zum Testen der Einheitenumrechnungstabelle relevant.

Im Zustand einer angemeldeten Einheitenumrechnungstabelle zeigt sich nebenstehend der Knopf zum Aufruf des Einheiten-Taschenrechners.
calculat.png Knopf zum Aufruf  des Einheiten-Taschenrechners. Hier kann die Konvertierung der Einheiten getestet werden
Einfügen Einheitenumrechnung in die Einheitentabelle einfügen
Löschen Markierte Zeile der Einheitenumrechnung aus der Einheitentabelle löschen
Übernehmen Änderungen an der Einheitentabelle werden übernommen
Schließen Das Fenster wird geschlossen.

 

Beispiele

Überschreiben Einheitenbezeichnung

Im System sei eine Einheit Paket definiert. Nun kann es vorkommen, dass man in bestimmten Fällen die Einheit genauer spezifizieren möchte (z.B. "Datenpaket" oder "Weihnachtspaket"). Um dazu nicht eine komplett neue Einheit anlegen zu müssen, Daten- und Weihnachtspakete sind schließlich beides Pakete, kann man in konkreten Fällen mittels einer Einheitentabelle eine neue Bezeichnung anmelden. Zusätzlich zur Bezeichnung kann man auch noch eine Quantität angeben (Feld "Einheit2"). Das heißt ein "Weihnachtspaket" muss nicht zwingend ein Synonym für "Paket" sein, sondern kann auch "1 kg" entsprechen.

Für eine "echte" Einheit kann nur eine überdefinierte Einheit existieren. Definiert man in einer Einheitentabelle beispielsweise erst "Datenpaket", dann "Weihnachtspaket" und meldet diese Tabelle an, ist nur "Weihnachtspaket" (als später definierte Einheit) eine gültige Einheit.

Diese Funktionalität des überdefinieren von Einheiten ist nicht vollständig implementiert. Beispielsweise wird in einer ListBox nur beim ersten Anzeigen der überdefinierte Name angezeigt. Außerdem sind die so definierten Einheitennamen einsprachig, da dieses Fenster den Einheitennamen im Feld "uniqueID" des neuerstellten CX_UNIT-RATE Objekts speichert.

Siehe auch ChangeUnitNames.

Bedingte Einheitenumrechnung

Die bedingte Tabelle ist dann für Variantenteile sinnvoll, wenn es eine Umrechnung geben muss, die von einem Sachmerkmal abhängig ist. Zum Beispiel bei Blechen.

Bleche werden in der Bestellung pro Kilogramm berechnet und pro Stück bestellt. Bei diesen Variantenteilen können die Flächenmaße und Materialstärken auf der Bestellung frei eingestellt werden. Anhand der verschiedenen Materialstärken ergeben sich nun unterschiedliche Umrechnungen von dm² in Kg. Diese Umrechnungen können in der bedingten Einheitenumrechnung eingegeben werden.

Beispiel:

Bedingung Ergebnis
STAERKE_BLECH>=10mm 1dm²=4Kg
STAERKE_BLECH>=7mm 1dm²=3Kg
STAERKE_BLECH>=5mm 1dm²=2Kg
STAERKE_BLECH<5mm 1dm²=1Kg

Beispiel 2

Um von einem Stück auf das Gewicht des Materials zu kommen (abhängig von Maßen und Material), kann die Einheitenumrechnung auch noch dynamischer erfolgen:
 

Umrechnung 1: Fläche in Stück

Typ: Formel

Wert: ValuePer(LAENGE_ROHTEIL*BREITE_ROHTEIL, 1 Stück)

Ergebnis: dm²/Stück

Umrechnung 2: Materialstärke in Gewicht

Typ: Formel
Wert:
7.85 [kg/l]*STAERKE_ROHTEIL
Ergebnis: kg/dm²

Sind im Auftrag an einer Position mit einem Stück dieses Blechs nun die Attribute LAENGE_ROHTEIL, BREITE_ROHTEIL und STAERKE_ROHTEIL gesetzt, so kann das Gewicht pro Stück bestimmt werden.

Um die Berechnung auch noch vom Materialtyp (unterschiedliche Dichte) abhängig machen, ist bei der Umrechnung 2 der Typ "Tabelle" zu bevorzugen:

Typ: Tabelle

Inhalt:

MATERIAL_ROHTEIL Ergebnis
"1.0038 / S235JRG2"
7.85 [kg/l]*STAERKE_ROHTEIL
"1.0330 / DC01"
7.8 [kg/l]*STAERKE_ROHTEIL
"1.0425 / P265GH"
7.85 [kg/l]*STAERKE_ROHTEIL
"1.0566 / P355NL1"
7.85 [kg/l]*STAERKE_ROHTEIL
"1.4301 / X5CrNi18-10"
7.9 [kg/l]*STAERKE_ROHTEIL
"1.4541 / X6CrNiTi18-10"
7.9 [kg/l]*STAERKE_ROHTEIL
"1.4571 / X6CrNiMoTi17-12-2"
8 [kg/l]*STAERKE_ROHTEIL
"1.4828 / X15CrNiSi20-12"
7.9 [kg/l]*STAERKE_ROHTEIL
"1.4835 / X9CrNiSiNCe21-11-2"
7.8 [kg/l]*STAERKE_ROHTEIL
"1.4841 / X15CrNiSi25-21"
7.9 [kg/l]*STAERKE_ROHTEIL
"1.4878 / X8CrNiTi18-10"
7.9 [kg/l]*STAERKE_ROHTEIL
"1.5415 / 16Mo3"
7.85 [kg/l]*STAERKE_ROHTEIL

Ergebnis: kg/dm²

Zu beachten ist, dass das l in der Formel kg/l ein kleines L ist und für Liter steht, also dm*dm*dm oder auch dm³ ersetzt. Dies ist in der Formel einfach übersichtlicher und hat den Vorteil, dass das System nicht nach einer weiteren Umrechnung von Kilogramm in dm sucht und eventuell in einer Endlosschleife endet.


Verwandte Themen

 


Technische Dokumentation

Mengen- und Preiseinheiten Editiermodul

Modulname

unittabl.mod

Klassen

CX_UNIT_RATE

Security

Neben der Beschränkung der Zugriffsrechte über die Klasse und deren Datenfelder kann das Modul über einige der empfangenen Messages in seiner Nutzung beschränkt werden.

Empfangene Messages
Message Parameter Funktion Security
CREATE_UNIT_TABLE      
DELETE_UNIT_TABLE Einheitentabellen-Objekt Einheitentabellen-Objekt löschen  
EDIT_UNIT_TABLE NULL oder Einheitentabellen-Objekt Eingabefenster für Einheitentabelle aufrufen  
UNIT_TABLE_CREATED Einheitentabellen-Objekt Einheitentabelle wurde erzeugt  

 

Gesendete Messages
Message Parameter Funktion Empfangs-Modul
ASK_YES_NO Zeichenkette Ja/Nein-Dialogfenster aufrufen Dialog-Modul
CREATE_UNIT_TABLE      
DELETE_UNIT_TABLE Einheitentabellen-Objekt Einheitentabelle löschen Mengen- und Preiseinheiten Editiermodul
DELETE_VALIDITY      
UNIT_SELECTED      
UNIT_TABLE_CHANGED Einheitentabellen-Objekt Einheitentabelle wurde verändert  
UNIT_TABLE_CREATED Einheitentabellen-Objekt Einheitentabelle wurde erzeugt  
UNIT_TABLE_DELETED Einheitentabellen-Objekt Einheitentabelle wurde gelöscht  

 

Operativer Betrieb