From aa043d08a1da64ba20734370d73b34f52b1027bd Mon Sep 17 00:00:00 2001 From: "s.steuer" Date: Thu, 25 Jan 2024 09:54:06 +0100 Subject: [PATCH 1/3] Aktuellen Arbeitsstand eingecheckt --- doc/spezifikation.md | 1848 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 1520 insertions(+), 328 deletions(-) diff --git a/doc/spezifikation.md b/doc/spezifikation.md index 8bf4b59..b894af4 100644 --- a/doc/spezifikation.md +++ b/doc/spezifikation.md @@ -1,249 +1,369 @@ # Spezifikationsdokument Migrationstool +## Treeview +Beim Doppelklick auf eine bereits migrierte Teilenummer dürfen die Formularfelder nicht befüllt werden. + ## Formularfelder **Allgemeine Hinweise:** -1. Für jedes der nachfolgend aufgelisteten Feldnamen (z.B. "Teilenummer") soll ein Label-Widget in der 1. Spalte "Feld" der GUI erstellt werden. Labeltext ist jeweils der Feldname (nachfolgende Unter-Überschriften). Ausnahme ist das Feld "Baugruppennummer", bei dem das Label und ein Entry-Feld oberhalb des Treeviews liegen. +1. Für jedes der nachfolgend aufgelisteten Feldnamen (z.B. "Teilenummer") soll ein Label-Widget in der 1. Spalte "Feld" der GUI erstellt werden. Labeltext ist jeweils der Feldname. Ausnahme ist das Feld "Baugruppennummer", bei dem das Label und ein Entry-Feld oberhalb des Treeviews liegen. 2. Die eingetragenen Feldwerte sollen in einer json-Datei gespeichert werden. Wird eine Teilenummer geöffnet/bearbeitet, für die bereits eine json-Datei exisitert, müssen die Felder mit den Werten aus dieser json-Datei befüllt werden. Nur beim erstmaligen Öffnen/Bearbeiten einer Teilenummer dürfen Felder geleert oder auf den Defaultwert umgestellt werden. Art und Umfang dieser initialen Feldanpassungen wird in den nachfolgenden Feldspezifikationen näher beschrieben. -4. Defaultwert bedeutet, dass beim Bearbeiten einer **neuen** Teilenummer, die noch keine json-Datei besitzt, ein bestimmter, voreingestellter Wert eingetragen / vorausgewählt ist -3. Read only bedeutet nachfolgend, dass ein User keine Feldänderungen durchführen kann, d.h: - - In Entry-Feldern können keine Zeichen eingetragen werden - - In ComboBoxen können keine Werte aus der Dropdownliste ausgewählt werden - - In RadioButtons kann der jeweils andere Button nicht aktiviert werden - - Bei CheckButtons kann kein Haken gesetzt / entfernt werden - - Beim Klick auf einen Button erfolgt keine Aktion -4. In ComboBoxen dürfen in keinen Fällen eigene Eintragungen vorgenommen werden +3. Defaultwert bedeutet, dass beim Bearbeiten einer **neuen** Teilenummer, die noch keine json-Datei besitzt, ein bestimmter, voreingestellter Wert eingetragen / vorausgewählt ist +4. "state" beschreibt in den nachfolgenden Feldspezifikationen den Parameter "state" des tk-Widgets. Dieser Parameter definiert, in welchem Umfang ein User mit dem Widget interagieren kann +5. "from_siv.csv" beschreibt nachfolgend die CSV-Datei, welche die Teilestamminformationen zu einer Teilenummer enthält. Die CSV wird durch den Sivas-internen Prozess "ExcelUeb" von Hr. Jakob erzeugt (siehe auch [get_sivas_teilestamm.py](../lib/get_sivas_teilestamm.py)) + +--- ### Baugruppennummer ->**Widget-Typ:** Entry +>**Widgets:** Entry +>**Typ 1:** Entry >**Zulässiger Datentyp:** Integer ->**Read only:** Nein ->**Position:** Oberhalb des Treeviews und unterhalb des zugehörigen Labels +>**state:** keiner +>**Position:** Oberhalb des Treeviews und unterhalb des zugehörigen Labels +>**Typ 2:** Button +>**Icon/Bild:** Lupe -Im Feld "Baugruppennummer" wird die SIVAS-Teilenummer der Baugruppe / des bearbeiteten Halbzeugs eingetragen, das zusammen mit den Stücklistenpositionen migriert werden soll. +Im Feld "Baugruppennummer" wird die SIVAS-Teilenummer (die zusammen mit den Stücklistenpositionen) migriert werden soll. **Funktionsweise** -Nach der Eingabe der Baugruppennummer und anschließendes Drücken der Enter-Taste soll die Stückliste der Teilenummer über das Sivas2json-Programm generiert und daraus die Stücklistenstruktur als Treeview zur Baugruppennummer erstellt werden. +Nach der Eingabe der Baugruppennummer und anschließendem Klick auf den Button mit Lupe soll die Stückliste der Teilenummer über das Sivas2json-Programm generiert und die aktuelle Version der RD_Teilenummer.csv in das [data-Verzeichnis](../data/) kopiert werden. Die Stücklistenstruktur der Teilenummer soll dann als Treeview abgebildet werden. -Wird im Entry-Feld eine Teilenummer eingetragen, die über keine Stückliste verfügt, ist im Treeview nur diese Nummer enthalten / auswählbar. +Besitzt die eingetragenen Teilenummer keine Stückliste, soll im Treeview nur diese Nummer dargestellt werden / auswählbar sein. Zur Erstellung des Treeviews kann in diesem Fall keine json-Datei des sivas2json-Programms verwendet werden, da dieses bei Teilenummern ohne Stückliste keine Dateien generieren kann und stattdessen eine Fehlermeldung ausgibt. + +--- #### **Migration** ->**Spaltenname Impfdatei:** Feld wird nicht in Impfdatei berücksichtigt - +>**Spaltenname Impfdatei:** Wird nicht in Impfdatei berücksichtigt +--- +--- ### Teilenummer +>**Pflichtfeld:** Ja, immer +--- #### **Spalte 2: SIVAS-Werte** >**Widget-Typ:** Entry ->**Zulässiger Datentyp:** Integer ->**Zeichenbegrenzung:** 9 ->**Read only:** Ja +>**state:** readonly ->**Daten:** ->**Spaltenname in "from_siv.csv":** Teilenummer +>**Wert:** Aus Spalte "Teilenummer" in "from_siv.csv" -**Aufgaben beim Einlesen des Feldes aus "from_siv.csv":** -1. Teilenummerprüfung -Erfüllt eine Teilenummer nicht die Anforderungen hinsichtlich Datentyp und Zeichbegrenzung soll eine ERROR-Messagebox erscheinen -- *Soll die Fehlermeldung bereits beim Laden des Treeviews erscheinen?* -- *Soll die Teilenummer im Treeview speziell eingefärbt werden und die Fehlermeldung beim Versuch, die Teilenummer über den Treeview zu öffnen, erscheinen?* +Teilenummern, die nicht vom Datentyp Integer sind und nicht aus 9 Zahlen bestehen, sollen im Treeview orange eingefärbt werden. Beim Doppelklick auf diese Teilenummern im Treeview darf nichts passieren -Wenn die Teilenummerprüfung keinen Fehler generiert, soll Wert "Teilenummer" aus "from_siv.csv" in Entry-Feld eingetragen werden +--- #### **Migration** >**Spaltenname Impfdatei:** Teilenummer - +--- +--- ### Datenbank +>**Pflichtfeld:** Ja, immer +--- #### **Spalte 3: Überschriebene Werte** >**Widget:** ->**Typ:** RadioButton ->**Werte:** Schulung, Produktiv +>**Typ:** RadioButton +>**Werte:** Produktiv, Schulung >**Defaultwert:** Produktiv ->**Buttonpositionen:** übereinander (Produktiv oben, Schulung unten) ->**Read only:** Nein -Die Optionswerte legen das Zielverzeichnis (Spalte "New Path" in Impfdatei) fest, aus dem RuleDesigner die CAD-Modelle zur Datensatzerstellung einliest. +Die Werte steuern das Zielverzeichnis (Spalte "New Path" in Impfdatei), aus dem RuleDesigner die CAD-Modelle zur Datensatzerstellung einliest. #### **Migration** ->**Spaltenname Impfdatei:** Wird zur Definierung des Wertes der Spalte "New Path" benötigt, besitzt aber keine eigene Spalte +>**Spaltenname Impfdatei:** keine eigene Spalte -Die Pfadfestlegung in der Spalte ist unter [Tätigkeiten Impfdateierstellung](#tätigkeiten-im-rahmen-der-impfdateierstellung) beschrieben. +Wird zur Definierung des Wertes in der Spalte "New Path" benötigt, siehe [Tätigkeiten Impfdateierstellung - New Path](#new-path) +--- +--- ### PDM-Kategorie - +>**Pflichtfeld:** Ja, immer +--- #### **Spalte 3: Überschriebene Werte** >**Widget-Typ:** ComboBox ->**Read only:** Ja ->**Defaultwert:** Leer, da Kategoriefestlegung nicht automatisch erfolgen kann +>**Werte:** Sektion "Kategorien" in [Allgemein.cfg](../cfg/Allgemein.cfg) +>**Defaultwert:** Leer -> Kategoriefestlegung kann nicht automatisch erfolgen +>**state:** readonly -Im Dropdownfeld "PDM-Kategorie" sollen die Werte der Sektion "Kategorien" aus der Datei [Allgemein.cfg](../cfg/Allgemein.cfg) auswählbar sein. +Aus ComboBox wählt User die RuleDesigner-Kategorie aus, der die Teilenummer zugeordnet werden soll. - -*Aus [Allgemein.cfg](../cfg/Allgemein.cfg) muss noch Wert "Normteil" und "NichtSivas" entfernt werden* +--- #### **Migration** >**Spaltenname Impfdatei:** KategorieNE - +--- +--- ### Neuaufbau ->**Widget-Typ:** CheckButton ->**Defaultwert:** False (Haken nicht gesetzt) +>**Pflichtfeld:** Nein +--- +>**Widget:** +>**Typ:** CheckButton +>**Defaultwert:** Haken nicht gesetzt -Button wird immer dann aktiviert, wenn Teil in Solid Edge neu aufgebaut werden soll. - -**Read only und Wert (Haken gesetzt / nicht gesetzt):** +**Logik, die steuert, welcher state im CheckButton gilt und welcher Wert bei state = disabled gilt:** IF PDM-Kategorie != "Einzelteil" OR "Kaufteil": - Read only = True - Haken gesetzt = False + state = disabled + Wert = False (Haken nicht gesetzt) ELSE: - Read only = False + state = keiner + +--- #### **Migration** ->**Spaltenname Impfdatei:** Wird für Definierung des des Wertes der Spalte "Path" benötigt, besitzt aber keine eigene Spalte +>**Spaltenname Impfdatei:** Keine eigene Spalte +Haken in CheckButton definiert je nach Situation den Pfad zum 3D-Modell. Dies ist im Feld [3D-Modell](#3d-modell) beschrieben. -Die Pfadfestlegung in der Spalte ist unter [Tätigkeiten Impfdateierstellung](#tätigkeiten-im-rahmen-der-impfdateierstellung) beschrieben. +--- +--- +### Aus Halbzeug +>**Pflichtfeld:** Nein +--- +>**Widget:** +>**Typ:** CheckButton +>**Defaultwert:** False (Haken nicht gesetzt) +**Logik, die state in CheckButton steuert und definiert, welcher Wert bei state = disabled gilt:** -### Halbzeugbearbeitung ->**Widget-Typ:** CheckButton ->**Defaultwert:** False (Haken nicht gesetzt) - -Button wird immer dann aktiviert, wenn ein Einzelteil aus einem Halbzeug gefertigt wird. - -**Read only und Wert (Haken gesetzt / nicht gesetzt):** - - IF PDM-Kategorie != "Einzelteil": - Read only = True - Haken gesetzt = False + IF PDM-Kategorie == "Einzelteil": + state = keiner ELSE: - Read only = False - -Ja, machen wir, wenn mit vernünftigem Aufwand realisierbar -Man könnte sich überlegen evtl. doch zusätzlich ein Entry-Feld für die Halbzeugnummer einzubauen -> Wenn Haken bei "Aus Halbzeug" gesetzt ist, wird geschaut, ob das Halbzeug in RD vorhanden ist -> wenn ja, wird die Artikelnummer in das Entryfeld eingetragen. Indem das Feld nicht schreibgeschützt wird, könnte man dem User dabei weiterhin die Möglichkeit geben, den Text ggf. zu entfernen und später händisch in RD ein passendes Halbzeug hinzuzufügen, z.B. wenn bearbeitetes Halbzeug vor Halbzeug selbst migriert wird. Falls diese Variante gewählt wird, muss die Impfdatei um weitere Spalten ergänzt werden und das Mapping der CheckButton-Werte beachtet werden. + state = disabled + Wert = False (Haken nicht gesetzt) +--- #### **Migration** ->**Spaltenname Impfdatei:** HalbzeugInternAngabe + Wird für Definierung des Spaltewertes "Path" benötigt, besitzt aber keine eigene Spalte +>**Spaltenname Impfdatei:** HalbzeugInternAngabe -HalbzeugBearbeitung muss auf "Ja" gesetzt werden +- Der Feldwert (Haken gesetzt / Haken nicht gesetzt) muss vor dem Schreiben in die Spalte "HalbzeugInternAngabe" der Impfdatei gemappt werden, siehe [Tätigkeiten Impfdateierstellung - Aus Halbzeug](#aus-halbzeug-1) +- Haken in CheckButton definiert je nach Situation den Pfad zum 3D-Modell. Dies ist im Feld [3D-Modell](#3d-modell) beschrieben. -Die Pfadfestlegung in der Spalte ist unter [Tätigkeiten Impfdateierstellung](#tätigkeiten-im-rahmen-der-impfdateierstellung) beschrieben. +--- +--- +### Halbzeugnummer +>**Pflichtfeld:** Nein +--- +>**Widget:** +>**Typ:** Entry +>**Defaultwert:** "" (leer) + +**Logik, die Text in Entry steuert:** + + IF Aus Halbzeug == True (Haken gesetzt) AND Kind der aktuellen Teilenummer in RD_Teilenummern.csv: + Text = Teilenummer des Kindes + ELSE: + Text = "" + +**Logik, die state im Entry steuert:** + + IF Aus Halbzeug == Haken gesetzt: + state = keiner + ELSE: + state = disabled + +--- + +#### **Migration** +>**Spaltenname Impfdatei:** HalbzeugIntern + +--- +--- + +### Halbzeuglänge +>**Pflichtfeld:** Nein +--- +>**Widget:** +>**Typ:** Entry +>**Defaultwert:** "" (leer) + +**Logik, die Text in Entry steuert:** + + IF Aus Halbzeug == Haken gesetzt AND Kind der aktuellen Teilenummer in RD_Teilenummern.csv: + Text = Wert aus json-Key "Länge" des Kindes + ELSE: + Text = "" + +**Logik, die state im Entry steuert:** + + IF Aus Halbzeug == Haken gesetzt: + state = keiner + ELSE: + state = disabled + +--- + +#### **Migration** +>**Spaltenname Impfdatei:** Kopiertes_Teil_1_y_Skalierung + +--- +--- + +### Halbzeugoberfläche +>**Pflichtfeld:** Nein +--- +>**Widget:** +>**Typ:** ComboBox +>**Werte:** Sektion "Oberflaechenbehandlungen" aus [Oberflächenbehandlung.cfg](../cfg/Oberflächenbehandlung.cfg) +>**Defaultwert:** "" (leer) + +**Logik, die steuert, welchen state die ComboBox aufweist und welcher Wert bei state = disabled in Textfeld der ComboBox gilt:** + + IF Aus Halbzeug == True (Haken gesetzt): + state = readonly + ELSE: + state = disabled + Wert = "" + +--- + +#### **Migration** +>**Spaltenname Impfdatei:** Oberflaechenbehandlung + +--- +--- + +### Halbzeugfarbe +**Logik, die steuert, wann es sich um ein Pflichtfeld handelt:** + + IF Halbzeugoberfläche == "eloxieren" OR "lackieren" OR "pulverbeschichten": + Pflichtfeld = True + + ELSE: + Pflichtfeld = False + +>**Widget:** +>**Typ:** ComboBox +>**Defaultwert:** Keiner + +**Logik, die steuert, welchen state die ComboBox aufweist und welcher Wert bei state = disabled in Textfeld der ComboBox gilt:** + + IF Aus Halbzeug == True (Haken gesetzt): + + IF Halbzeugoberfläche == "eloxieren" OR "lackieren" OR "pulverbeschichten": + state = readonly + + ELSE: + state = disabled + Wert = "" + + ELSE: + state = disabled + Wert = "" + +**Logik, die steuert, welche Dropdownwerte in ComboBox auswählbar sind:** + + IF Halbzeugoberfläche == "eloxieren": + Werte = Sektion "FarbeEloxieren" in Farben.cfg + + ELSE IF Halbzeugoberfläche == "lackieren" OR "pulverbeschichten": + Werte = Sektion "Farbauswahl" in Farben.cfg + + ELSE: + Werte = keine Dropdownwerte in ComboBox + +--- + +#### **Migration** +>**Spaltenname Impfdatei:** Farbe + +--- +--- ### Lebenszyklusstatus -### Spalte +>**Pflichtfeld:** Ja, immer +--- >**Widget:** >**Typ:** RadioButton >**Werte:** Prototyp, Serie >**Defaultwert:** Keiner ->**Buttonpositionen:** übereinander (oben "Prototyp", unten "Serie") ->**Read only:** Nein + +--- #### **Migration** >**Spaltenname Impfdatei:** Serien-Status - - -### Zusätzliche Informationen ->**Widget:** ->**Typ:** Entry ->**Einschränkungen:** max. 400 Zeichen ->**Read only:** Nein - -**Fallabhängiger Defaultwert:** - -- Falls mehrere der nachfolgenden Fälle gleichzeitig zutreffen, sollen die jeweiligen Texte miteinander verkettet werden. Was soll passieren, wenn zusammengesetzter Text > 400 Zeichen hat (Evtl. Kombo-Textblöcke festlegen)? Config ergänzen für Textblöcke - - IF Version == Kleinbuchstabe: - Text = ACHTUNG Index in Sivas mit Kleinbuchstaben. Nach Freigabe der Teilenummer den großen Index in SIVAS löschen und auf kleinen verlinken. Sobald die Revision höher als '{"Version"}' ist kann Information gelöscht werden. - - ELSE IF Trümmer == True OR "Rüstcode" == None: - Text = ACHTUNG Trümmerbaugruppe. Nach einer Revision oder Bagatelländerung muss der Rüstcode in der Stücklisten bei allen Stücklistenpositionen manuell in "TR - Trümmerteile" geändert werden. - - ELSE IF Teilenummer in Blacklist: - Text = ACHTUNG BG mit Beistellungen. Es wird keine Stückliste übergeben. Diese muss bei einer Änderung händisch angelegt und archiviert werden. Hierfür die Verantwortlichen für den Teilestamm informieren. - - ELSE IF Werkstoffdiskrepanz == True: - Text = ACHTUNG Materialdiskrepanz. SIVAS-Material und/oder Zeichnungsmaterial / geliefertes Material unterschiedlich. Muss abgeklärt werden. Näheres siehe JIRA. - - ELSE: - Text = "" - - -#### **Migration** ->**Spaltenname Impfdatei:** ZusaetzlicheInformationen - -Textblöcke erst bei Erstellung der Migrationsliste in ZusaetzlicheInformationen einfügen. In Entry-Feld wird nur eingetragen, was zusätzlich zu Textblöcken definiert wird. - -Muss auf unzulässige Zeichen geprüft werden - +--- +--- ### 3D-Modell -#### **Spalte 2: SIVAS-Werte** +>**Pflichtfeld:** Ja, immer +--- >**Widgets:** ->**Typ:** ComboBox ->**Read only:** Ja +>**Typen:** ComboBox, Button -**Werte:** -In der ComboBox sollen alle Dateien angezeigt werden, die im Dateinamen die aktuelle Teilenummer aufweisen und in bestimmten, vordefinierten Verzeichnissen abgelegt sind. - -**Vordefinierte Verzeichnisse:** - - \\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\01_Rohdatenpool - -Per Config soll der User zudem eigene Verzeichnisse definieren können, die bei der Suche mitberücksichtigt werden. - -Wenn Vorlagendatei gilt, soll in ComboBox Pfad eingetragen werden - -Schreibschutz, wenn Schweissbaugruppe oder Baugruppe oder wenn Einzelteilvorlagen gezogen werden - -#### **Spalte 3: Überschriebene Werte** ->**Widgets:** ->**Typ:** Button ->**Text:** Durchsuchen... ->**Position** Rechts neben Combobox - -Sofern die gewünschte Datei nicht unter den Dateien der ComboBox enthalten ist, soll der User auf den Button "Durchsuchen" klicken können, um über ein Popup-Fenster (tkinter.filedialog.askopenfile()) die gewünschte Solid Edge-Datei auswählen zu können. Der Dateipfad soll dann in die ComboBox eingetragen und später ausgelesen werden. - -**Fallabhängiger Schreibschutz** - - IF PDM-Kategorie == "Einzelteil" OR "Kaufteil": - IF Aus Halbzeug == True OR "Neuaufbau" == True: - Read only = True - ELSE: - Read only = False - ELSE: - Read only = False - -Beispiel, wie es aussehen könnte: +**Beispiel:** ![Modellsuche](../doc/Pictures/Open_3D_Model.jpg) +**Auswählbare Dateitypen bei Klick auf Button "Durchsuchen":** +Es sollen ausschließlich .par oder .asm-Dateien auswählbar sein: +![choosable_file_extensions](../doc/Pictures/3D-model_choosable_file_extensions.jpg) + +In tk wie folgt erzielbar: +`filedialog.askopenfilename(filetypes=[("Part-Dokumente", ".par"), ("Assembly-Dokumente", ".asm")])` + +**Nachfolgende Logik definiert:** +- state der ComboBox je nach Situation (readonly / disabled) +- Defaultwert (Wert, der im Textfeld der ComboBox angezeigt werden soll, bevor ein Dropdownwert ausgewählt wurde) +- Dropdownwerte (Quelle, wo die Dropdownwerte zu finden sind, bzw. direkt die Werte) + + IF PDM-Kategorie == "Baugruppe" OR "Schweissbaugruppe": + Defaultwert = \\ssg.local\freigaben\Abteilungen\Entwicklung\CAD\Standards\SolidEdge\Template\DIN Metric\baugruppe.asm + Dropdownwerte = keine + state_ComboBox = disabled + state_Button = disabled + + ELSE IF PDM-Kategorie == "Kaufteil": + + Defaultwert = \\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\06_3D_Vorlagen\ET_mit_Volumen.par + Dropdownwerte = keine + state_ComboBox = disabled + state_Button = disabled + + ELSE IF PDM-Kategorie == "Einzelteil": + + IF Aus Halbzeug == True (Haken gesetzt) OR Neuaufbau == True (Haken gesetzt): + Defaultwert = \\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\06_3D_Vorlagen\ET_mit_Volumen.par + Dropdownwerte = keine + state_ComboBox = disabled + state_Button = disabled + + ELSE: + Defaultwert = "" + Dropdownwerte = Dateipfade von allen .par-Dateien, die die aktuelle Teilenummer im Dateinamen aufweisen und sich gleichzeitig in einem der rekursiv durchsuchten Pfade aus der Sektion "3D-Modelle" in "Zielpfade.cfg" befinden. + state_ComboBox = readonly + state_Button = keiner + + IF Button "Durchsuchen" geklickt und benutzerdefinierte Solid Edge-Datei gewählt: + Defaultwert = Dateipfad der gewählten Solid Edge-Datei + +--- + #### **Migration** -**Spaltennamen Impfdatei:** -Das Feld "3D-Modell" besitzt keine direkte Spalte in der Impfdatei, wird jedoch fallabhängig für die Spalten "Path" und "Filename" benötigt (siehe [Tätigkeiten Impfdateierstellung](#tätigkeiten-im-rahmen-der-impfdateierstellung)) +**Spaltennamen Impfdatei:** keine eigene Spalte +- Definiert Wert in Spalte "Path" der Impfdatei, siehe [Tätigkeiten Impfdateierstellung - Path](#path) +- Definiert Wert in Spalte "Filename" der Impfdatei, siehe [Tätigkeiten Impfdateierstellung - Filename](#filename) +--- +--- ### Bezeichnung 1 - +>**Pflichtfeld:** Ja, immer +--- #### **Spalte 2: SIVAS-Werte** - >**Widget:** >**Typ:** Entry ->**Read only:** Ja - ->**Daten:** ->**Spaltenname in "from_siv.csv":** Bezeichnung1 +>**state:** readonly +>**Wert:** Aus Spalte "Bezeichnung1" in "from_siv.csv" **Aufgaben beim Einlesen des Feldes aus "from_siv.csv":** - Das Kürzel "kpl" (klein- oder großgeschrieben) in einer der nachfolgenden Varianten (oder bestehend aus der Kombination dieser Varianten) soll aus der Bezeichnung entfernt werden: @@ -254,79 +374,485 @@ Das Feld "3D-Modell" besitzt keine direkte Spalte in der Impfdatei, wird jedoch Befindest sich das Kürzel nicht am Bezeichnungsende, muss es durch ein Leerzeichen ersetzt werden, z.B. *WEICHE S 22,5° -R- KPL. MIT SEILZUGSCHALTUNG* ---wird zu---> *WEICHE S 22,5° -R- MIT SEILZUGSCHALTUNG* -- Prüfung, ob Bezeichnungslänge > 50 Zeichen - -Nach Abarbeitung der obigen Aufgaben soll der Wert in das Entry-Feld eingetragen werden +--- #### **Spalte 3: Überschriebene Werte** ->**Widget** +>**Widget** >**Typ:** Entry ->**Einschränkungen:** max. 50 Zeichen ->**Read only:** Nein +>**Defaultwert:** "" (leer) -**Aufgaben vor/während der Befüllung des Feldes:** -1. Längenprüfung - - Wenn die Bezeichnung in der Spalte "SIVAS-Werte" > 50 Zeichen aufweist (siehe "Aufgaben beim Einlesen des Feldes aus "from_siv.csv" oben), soll im Entry ein roter Platzhalter-Text erscheinen, bis User in das Entryfeld klickt und Text eingibt: +**Logik, die bestimmt, wie viele Zeichen in Entry eingetragen werden dürfen:** - ![test](./Pictures/Laengenpruefung.gif) + IF PDM-Kategorie == "Baugruppe" OR "Schweissbaugruppe": + Längenbeschränkung = 45 Zeichen + ELSE: + Längenbeschränkung = 50 Zeichen - **Hinweis:** - GIF dient nur zur kurzen Veranschaulichung und wurde (mit abgewandeltem Text) durch Code aus folgender [Antwort](https://stackoverflow.com/a/47928390) erstellt -> muss ggf. angepasst werden, da in Antwort kein ttk verwendet! +Wenn die Bezeichnungslänge in der Spalte "SIVAS-Werte" größer als die oben beschriebene Längenbeschränkung des Entry-Feldes ist, soll im Entry-Feld der Spalte "Überschriebene Werte" ein roter Platzhalter-Text erscheinen, solange sich kein Text vom User in das Entry-Feld eingetragen wurde. + +![test](./Pictures/Laengenpruefung.gif) + +**Hinweis:** +GIF dient nur zur kurzen Veranschaulichung, wie der Platzhaltertext aussehen könnte und wurde (mit abgewandeltem Text) durch Code aus folgender [Stackoverflow-Antwort](https://stackoverflow.com/a/47928390) erstellt -> muss ggf. angepasst werden, da in der Antwort kein ttk verwendet wurde! + +--- #### **Migration** ->**Spaltenname Impfdatei:** Bezeichnung2 +>**Spaltenname in Impfdatei:** Bezeichnung2 -Wurde trotz zu langer Bezeichnung keine kürzere Bezeichnung eingegeben muss beim Klick auf Button "Migrieren" eine Fehlermeldung erscheinen, die die Migration verhindert (siehe auch [Tätigkeiten vor Erstellung der Impfdatei](#tätigkeiten-vor-erstellung-der-impfdatei)) +- Es muss vor der Erstellung der Impfdatei eine Längenprüfung durchgeführt werden(siehe auch [Längenprüfung Bezeichnung](#bezeichnung-1-1)) -Bei (Schweiss-)Baugruppen muss die Spalte "Bezeichnung4" in der Impfdatei mit "- BG" befüllt werden (siehe [Tätigkeiten Impfdateierstellung](#tätigkeiten-im-rahmen-der-impfdateierstellung)) +- Bei PDM-Kategorie = "Baugruppe" und "Schweissbaugruppe" muss die Spalte "Bezeichnung4" in der Impfdatei mit "- BG" befüllt werden (siehe [Tätigkeiten Impfdateierstellung - Bezeichnung4](#bezeichnung4)) +- Die Bezeichnung muss in die Spalte "Title" der Impfdatei eingetragen werden (siehe [Tätigkeiten Impfdateierstellung - Title](#title)) + +--- +--- ### Bezeichnung 2 +>**Pflichtfeld:** Nein +--- #### **Spalte 2: SIVAS-Werte** >**Widget:** >**Typ:** Entry ->**Read only:** Ja +>**state:** readonly ->**Daten:** ->**Spaltenname in "from_siv.csv":** Bezeichnung2 +>**Wert:** Aus Spalte "Bezeichnung2" in "from_siv.csv" -In diesem Feld soll informativ der Spaltenwert "Bezeichnung2" aus "from_siv.csv" eingetragen werden. Das Feld erfüllt ansonsten keine weiteren Funktionen und wir nicht in der Impfdatei berücksichtigt. +Feld dient lediglich zur informativen Darstellung des Wertes aus dem Sivas-Feld "Bezeichnung2". + +--- #### **Migration** ->**Spaltenname Impfdatei:** Nicht in Impfdatei enthalten +>**Spaltenname Impfdatei:** Wird nicht in Impfdatei berücksichtigt + +--- +--- + +### Halbzeug ohne Sägeliste +>**Pflichtfeld:** Ja, immer +--- +#### **Spalte 2: SIVAS-Werte** +>**Widget:** +>**Typ:** Entry +>**state:** disabled + +>**Wert:** Aus Spalte "HzOhneSaegeliste" in "from_siv.csv" + +**Aufgaben beim Einlesen des Wertes aus "from_siv.csv":** + +Der Wert aus der Spalte "HzOhneSaegeliste" in "from_siv.csv" muss in gemappter / umgewandelter Form in das Entry-Feld der Spalte "SIVAS-Werte" eingetragen werden: + +|Wert in from_siv.csv" |Neuer Wert in Spalte "SIVAS-Werte"| +|:--------------------------------|:---------------------------------| +|J |Sägeliste nicht benötigt | +|N |Sägeliste benötigt | + +--- + +#### **Spalte 3: Überschriebene Werte** +>**Widget-Typ:** ComboBox +>**Defaultwert:** "" (leer) + +**Nachfolgende Logik definiert:** +- state der ComboBox je nach Situation (readonly / disabled) +- Dropdownwerte (Quelle, wo die Dropdownwerte zu finden sind, bzw. direkt die Werte) + + IF PDM-Kategorie == "Baugruppe": + + Dropdownwerte = None (keine Werte) + state = disabled + + ELSE: + IF Rüstcode == HZS Halbzeuge Sägeteile: + Dropdownwerte = Sektion "HalbzeugOhneSaegeliste" aus Allgemein.cfg + state = readonly + + ELSE: + Dropdownwerte = None (keine Werte) + state = disabled + +--- + +#### **Migration** +>**Spaltenname Impfdatei:** HalbzeugOhneSaegeliste + +Wenn das Feld "Rüstcode" den Wert "SRC Standard Rüstcode" und das Feld HalbzeugOhneSaegeliste den Wert "Sägeliste nicht benötigt" aufweist, muss eine Fehlermeldung ausgegeben werden (siehe auch [Tätigkeiten vor Erstellung der Impfdatei](#halbzeug-ohne-sc3a4geliste-1)) + +--- +--- + +### Rüstcode +>**Pflichtfeld:** Ja, immer +--- +#### **Spalte 2: SIVAS-Werte** +>**Widget:** +>**Typ:** Entry +>**state:** disabled + +>**Wert:** Aus Spalte "Ruestcode" in "from_siv.csv" + +--- + +#### **Spalte 3: Überschriebene Werte** +>**Widget-Typ:** ComboBox +>**state:** readonly + +**Nachfolgende Logik definiert:** +- Dropdownwerte (Quelle, wo die Dropdownwerte zu finden sind, bzw. direkt die Werte) + + IF PDM-Kategorie == "Baugruppe": + Dropdownwerte = Sektion "RuestcodeBaugruppe" in Allgemein.cfg + + ELSE: + Dropdownwerte = Sektion "RuestcodeStandard" in Allgemein.cfg + +**Nachfolgende Logik definiert:** +- Defaultwert (Wert, der im Textfeld der ComboBox angezeigt wird, bevor ein Dropdownwert ausgewählt wurde) + + IF Wert aus Spalte "Ruestcode" in "from_siv.csv" == "" OR Wert aus Spalte "Truemmer" in from_siv.csv == "J": + IF PDM-Kategorie == "Baugruppe": + Defaultwert = "Trümmerbaugruppe" + + ELSE: + Defaultwert = "" (leer) + INFO-messagebox, siehe nachfolgendes Bild: + + ![info_ruestcode](../doc/Pictures/info_ruestcode.jpg) -### Beschaffungsart + ELSE: + Defaultwert = "" (leer) + +--- + +#### **Migration** +>**Spaltenname Impfdatei:** RuestcodeAusw + +Es muss geprüft werden, ob ein zulässiger Rüstcode eingetragen ist, siehe [Tätigkeiten vor Impfdateierstellung](#ruestcode) + +--- +--- + +### Fertigungsart +**Logik, die steuert, wann es sich um ein Pflichtfeld handelt:** + + IF PDM-Kategorie == "Einzelteil" OR "Schweissbaugruppe": + Pflichtfeld = True + + ELSE: + Pflichtfeld = False + +--- + +#### **Spalte 2: SIVAS-Werte** +>**Widget:** +>**Typ:** Entry +>**state:** disabled + +>**Wert:** Aus Spalte "Fertigungsart" in "from_siv.csv" + +--- + +#### **Spalte 3: Überschriebene Werte** +>**Widget-Typ:** ComboBox + +**Nachfolgende Logik definiert:** +- Dropdownwerte (Quelle, wo die Dropdownwerte zu finden sind, bzw. direkt die Werte) + + IF PDM-Kategorie == "Baugruppe": + Dropdownwerte = Sektion "FertigungsartenBaugruppe" in Fertigungsarten.cfg + + ELSE IF PDM-Kategorie == "Einzelteil": + Dropdownwerte = Schlüssel aus Sektion "Fertigungsarten" in Fertigungsarten.cfg + + ELSE: + Dropdownwerte = None (keine Werte) + +**Nachfolgende Logik definiert:** +- Defaultwert (Wert, der im Textfeld der ComboBox angezeigt werden soll, bevor ein Dropdownwert ausgewählt wurde) + + IF PDM-Kategorie == "Schweissbaugruppe": + + IF Wert aus Spalte "Fertigungsart" in "from_siv.csv" == "" OR != "schweißen": + Defaultwert = "schweißen" + + ELSE: + Defaultwert = "" (leer) + + ELSE: + Defaultwert == "" (leer) + +**Nachfolgende Logik definiert:** +- state der ComboBox je nach Situation (readonly / disabled) + + IF PDM-Kategorie == "Kaufteil" OR "Schweissbaugruppe": + state = disabled + + ELSE: + state = readonly +--- + +#### **Migration** +>**Spaltenname Impfdatei:** Fertigungsart + +- Der Feldwert muss vor Erstellung der Impfdatei geprüft werden, siehe [Feldprüfung Fertigungsart](#fertigungsart-1) +- Der Wert muss vor dem Eintragen in die Impfdatei gemappt / umgewandelt werden, siehe [Tätigkeiten Impfdateierstellung - Fertigungsart](#fertigungsart-2) + +--- +--- + +### Allgemeintoleranz +**Logik, die steuert, wann es sich um ein Pflichtfeld handelt:** + + IF PDM-Kategorie == "Einzelteil" OR "Schweissbaugruppe": + Pflichtfeld = True + + ELSE: + Pflichtfeld = False + +--- + +#### **Spalte 3: Überschriebene Werte** +>**Widget-Typ:** ComboBox + +**Nachfolgende Logik definiert:** +- Dropdownwerte (Quelle, wo die Dropdownwerte zu finden sind, bzw. direkt die Werte) + + IF PDM-Kategorie == "Baugruppe": + Dropdownwerte = Sektion "AllgemeintoleranzBaugruppe" in Fertigungsarten.cfg + + ELSE IF PDM-Kategorie == "Kaufteil" OR "Schweissbaugruppe": + Dropdownwerte = None (keine Werte) + + ELSE IF PDM-Kategorie == "Einzelteil": + Dropdownwerte = siehe nachfolgende Tabelle + + **Hinweis:** + Bei [PDM-Kategorie](#pdm-kategorie) "Einzelteil" hängt die Allgemeintoleranz von der [Fertigungsart](#fertigungsart) ab. In der nachfolgenden Tabelle ist aufgelistet, in welcher Sektion der Datei [Fertigungsarten.cfg](../cfg/Fertigungsarten.cfg) die Allgemeintoleranzwerte definiert sind, die bei den jeweiligen Fertigungsarten in der ComboBox auswählbar sein sollen: + + |Wert im Feld [Fertigungsart](#fertigungsart) |Sektion in [Fertigungsarten.cfg](../cfg/Fertigungsarten.cfg) | + |---------------------------------------------|-------------------------------------------------------------| + |3D - 3D drucken |Allgemeintoleranz3DDruck | + |BI - biegen |AllgemeintoleranzSpanen | + |DR - drehen |AllgemeintoleranzSpanen | + |EX - extrudieren |AllgemeintoleranzExtrudieren | + |FR - fräsen |AllgemeintoleranzSpanen | + |GI - gießen |AllgemeintoleranzGiessen | + |LW - laser- und wasserstrahlschneiden |AllgemeintoleranzSpanen | + |PR - verpressen |AllgemeintoleranzVerpressen | + |SA - sägen |AllgemeintoleranzSpanen | + |SN - strangpressen |AllgemeintoleranzStrangpressen | + |SP - spritzgießen |AllgemeintoleranzSpritzgiessen | + |ST - stanzen |AllgemeintoleranzStanzen | + +**Nachfolgende Logik definiert:** +- Defaultwert (Wert, der im Textfeld der ComboBox angezeigt werden soll, bevor ein Dropdownwert ausgewählt wurde) + + IF PDM-Kategorie == "Baugruppe" OR "Kaufteil": + Defaultwert = "" (leer) + + ELSE IF PDM-Kategorie == "Schweissbaugruppe": + Defaultwert = "EN ISO 13920-BF" + + ELSE IF PDM-Kategorie == "Einzelteil": + Defaultwert = siehe nachfolgende Tabelle + + **Hinweis:** + Bei der [PDM-Kategorie](#pdm-kategorie) "Einzelteil" soll abhängig von der gewählten [Fertigungsart](#fertigungsart) automatisch eine vordefinierte Allgemeintoleranzklasse eingetragen werden. Die entsprechenden Defaultwerte sind der rechten Tabellenspalte zu entnehmen: + + |Wert im Feld [Fertigungsart](#fertigungsart) |Defaultwert | + |---------------------------------------------|---------------------| + |3D - 3D drucken |ISO 2768:1991-mK | + |BI - biegen |ISO 2768:1991-mK | + |DR - drehen |ISO 2768:1991-mK | + |EX - extrudieren |DIN 16941 - 3A | + |FR - fräsen |ISO 2768:1991-mK | + |GI - gießen |ISO 8062-3 - DCTG 10 | + |LW - laser- und wasserstrahlschneiden |ISO 2768:1991-mK | + |PR - verpressen |ISO 2768:1991-mK | + |SA - sägen |ISO 2768:1991-mK | + |SN - strangpressen |EN 12020-2 | + |SP - spritzgießen |ISO 20457 - TG5 | + |ST - stanzen |DIN 6930-2 - m | + +**Nachfolgende Logik definiert:** +- state der ComboBox je nach Situation (readonly / disabled) + + IF PDM-Kategorie == "Kaufteil" OR "Schweissbaugruppe": + state = disabled + + ELSE: + state = readonly + +--- + +#### **Migration** +>**Spaltenname Impfdatei:** Allgemeintoleranz + +--- +--- + +### FOS-Gruppe +>**Pflichtfeld:** Ja, immer +--- +#### **Spalte 2: SIVAS-Werte** >**Widget:** ->**Typ:** RadioButton ->**Werte:** Eigenbau, Kaufteil ->**Buttonpositionen:** Nebeneinander (1x in Spalte "SIVAS-Werte", 1x in Spalte "Überschriebene Werte) ->**Read only:** Nein +>**Typ:** Entry +>**state:** disabled ->**Daten:** ->**Spaltenname in "from_siv.csv":** Beschaffungsart +>**Wert:** Aus Spalte "FosGruppe" in "from_siv.csv" -**Fallabhängiger Defaultwert:** -Als Text des Buttons in der Spalte "SIVAS-Werte", wird der Spaltenwert "Beschaffungsart" aus "from_siv.csv" eingetragen. Der Text des Buttons in der Spalte "Überschriebene Werte" weist dann folglich den anderen Wert auf. +--- -**Beispiel:** -- Beschaffungsart laut Sivas = Eigenbau: +#### **Spalte 3: Überschriebene Werte** +>**Widget-Typ:** ComboBox - ![Beschaffungsart1](../doc/Pictures/Beschaffungsart_1.jpg) +**Nachfolgende Logik definiert:** +- Dropdownwerte (Quelle, wo die Dropdownwerte zu finden sind, bzw. direkt die Werte) +- state der ComboBox je nach Situation (readonly / disabled) -- Beschaffungsart laut Sivas = Kaufteil: + IF PDM-Kategorie == "Kaufteil": + Dropdownwerte = Sektion "FOS_Gruppe" in Allgemein.cfg + state = readonly + + ELSE: + Dropdownwerte = None (Keine) + state = disabled - ![Beschaffungsart2](../doc/Pictures/Beschaffungsart_2.jpg) +**Nachfolgende Logik definiert:** +- Defaultwert = Wert, der im Textfeld der ComboBox angezeigt werden soll, bevor ein Dropdownwert ausgewählt wurde + + IF PDM-Kategorie == "Baugruppe": + + IF Wert aus Spalte "FosGruppe" in "from_siv.csv" == "" (leer) OR "0 - Einzelteil": + Defaultwert = "1 - Baugruppe" + + ELSE: + Defaultwert = "" + ELSE: + + IF Wert aus Spalte "FosGruppe" in "from_siv.csv" == "" (leer) OR "1 - Baugruppe": + Defaultwert = "0 - Einzelteil" + + ELSE: + Defaultwert = "" + +--- #### **Migration** ->**Spaltenname Impfdatei:** Beschaffungsart +>**Spaltenname Impfdatei:** FOS-GruppeNE + +- Der Feldwert muss vor Erstellung der Impfdatei geprüft werden, siehe [Feldprüfung FOS-Gruppe](#fos-gruppe-1) +- Der Feldwert muss in gemappter / umgewandelter Form in die Impfdatei eingetragen werden, siehe [Tätigkeiten Impfdateierstellung - FOS-Gruppe](#fos-gruppe-2) + +--- +--- + +### Kalkulationsart +>**Pflichtfeld:** Ja, immer +--- +#### **Spalte 2: SIVAS-Werte** +>**Widget:** +>**Typ:** Entry +>**state:** disabled + +>**Wert:** Aus Spalte "Kalkulationsart" in "from_siv.csv" + +--- + +#### **Spalte 3: Überschriebene Werte** +>**Widget-Typ:** ComboBox + +**Nachfolgende Logik definiert:** +- Dropdownwerte (Quelle, wo die Dropdownwerte zu finden sind, bzw. direkt die Werte) +- state der ComboBox je nach Situation (readonly / disabled) + + IF PDM-Kategorie == "Baugruppe": + Dropdownwerte = Sektion "Kalkulationsart" in Allgemein.cfg + state = readonly + + ELSE: + Dropdownwerte = None (keine Werte) + state = disabled + +**Nachfolgende Logik definiert:** +- Defaultwert (Wert, der im Textfeld der ComboBox angezeigt werden soll, bevor ein Dropdownwert ausgewählt wurde) + + IF PDM-Kategorie == "Kaufteil": + + IF Wert aus Spalte "Kalkulationsart" in "from_siv.csv" == "" (leer) OR "Eigenbau": + Defaultwert = "Kaufteil" + + ELSE: + Defaultwert = "" + + ELSE: + + IF Wert aus Spalte "Kalkulationsart" in "from_siv.csv" == "" (leer) OR "Kaufteil": + Defaultwert = "Eigenbau" + + ELSE: + Defaultwert = "" + +--- + +#### **Migration** +>**Spaltenname Impfdatei:** KalkulationsartNE + +- Der Feldwert muss vor Erstellung der Impfdatei geprüft werden, siehe [Feldprüfung Kalkulationsart](#kalkulationsart-1) +- Es [Tätigkeiten vor Erstellung der Impfdatei](#tätigkeiten-vor-erstellung-der-impfdatei) + +--- +--- + +### Beschaffungsart +>**Pflichtfeld:** Ja, immer +--- +#### **Spalte 2: SIVAS-Werte** +>**Widget:** +>**Typ:** Entry + +>**Wert:** Aus Spalte "Beschaffungsart" in "from_siv.csv" + +**Aufgaben beim Einlesen des Wertes aus "from_siv.csv":** +Der Wert aus der Spalte "Beschaffungsart" in "from_siv.csv" muss in gemappter / umgewandelter Form in das Entry-Feld der Spalte "SIVAS-Werte" eingetragen werden: + +|Wert in from_siv.csv" |Neuer Wert in Spalte "SIVAS-Werte"| +|:--------------------------------|:---------------------------------| +|Eigenbaugruppe |Eigenbau | + +--- + +#### **Spalte 3: Überschriebene Werte** +>**Widget-Typ:** ComboBox + +**Logik, die steuert, welche Werte in der ComboBox angezeigt werden:** + + IF PDM-Kategorie == "Baugruppe": + Wert = "Eigenbau" + + ELSE IF PDM-Kategorie == "Einzelteil": + Werte = Sektion "Beschaffungsart" in Allgemein.cfg + + ELSE IF PDM-Kategorie == "Kaufteil": + Wert = "Kaufteil + + ELSE IF PDM-Kategorie == "Schweissbaugruppe": + Wert = "Eigenbau" + +--- + +#### **Migration** +>**Spaltenname Impfdatei:** BeschaffungsartNE Beim Klick auf den Button "Migrieren" muss die festgelegte Beschaffungsart geprüft werden, siehe [Tätigkeiten vor Erstellung der Impfdatei](#tätigkeiten-vor-erstellung-der-impfdatei) - +--- +--- ### Mengeneinheit +>**Pflichtfeld:** Ja, immer +--- #### **Spalte 2: SIVAS-Werte** >**Widget:** >**Typ:** Entry @@ -341,6 +867,8 @@ Beim Klick auf den Button "Migrieren" muss die festgelegte Beschaffungsart gepr 2. Nach Entfernung muss das Kürzel in das Entry-Feld eingetragen werden +--- + #### **Spalte 3: Überschriebene Werte** >**Widget-Typ:** ComboBox >**Read only:** Ja @@ -356,14 +884,18 @@ Beim Klick auf den Button "Migrieren" muss die festgelegte Beschaffungsart gepr ELSE IF PDM-Kategorie == "Schweissbaugruppe": Dropdownwerte = "m" +--- + #### **Migration** >**Spaltenname Impfdatei:** Mengeneinheit Beim Klick auf den Button "Migrieren" muss die festgelegte Mengeneinheit geprüft werden, siehe [Tätigkeiten vor Erstellung der Impfdatei](#tätigkeiten-vor-erstellung-der-impfdatei) - +--- +--- ### Halbzeug +--- #### **Spalte 2: SIVAS-Werte** >**Widget:** >**Typ:** CheckButton @@ -375,6 +907,7 @@ Beim Klick auf den Button "Migrieren" muss die festgelegte Mengeneinheit geprüf **Aufgaben beim Einlesen des Wertes aus "from_siv.csv":** - Der Wert "WAHR" muss in "True" (Haken gesetzt), bzw. der Wert "FALSCH" in "False" (Haken nicht gesetzt) umgewandelt werden +--- #### **Spalte 3: Überschriebene Werte** >**Widget:** @@ -388,14 +921,18 @@ Beim Klick auf den Button "Migrieren" muss die festgelegte Mengeneinheit geprüf ELSE: Read only = False +--- + #### **Migration** >**Spaltenname Impfdatei:** Halbzeug Beim Erstellen der Impfdatei müssen die CheckButton-Werte gemappt werden (siehe [Tätigkeiten Impfdateierstellung](#tätigkeiten-im-rahmen-der-impfdateierstellung)) - +--- +--- ### TOS-Gruppe +--- #### **Spalte 2: SIVAS-Werte** >**Widget:** >**Typ:** Entry @@ -406,6 +943,8 @@ Beim Erstellen der Impfdatei müssen die CheckButton-Werte gemappt werden (siehe Im Entry-Feld muss der Spaltenwert "TOS_Gruppe" aus "from_siv.csv" eingetragen werden +--- + #### **Spalte 3: Überschriebene Werte** >**Widget-Typ:** Entry >**Read only:** Nein @@ -417,13 +956,17 @@ Im Entry-Feld muss der Spaltenwert "TOS_Gruppe" aus "from_siv.csv" eingetragen w ELSE: Defaultwert == "" +--- + #### **Migration** **Spaltennamen Impfdatei:** Die zu befüllenden Spalten in der Impfdatei ergeben sich aus der angegebenen TOS-Gruppennummer. Beim Erstellen der Impfdatei müssen daher alle Felder, die Bestandteil der TOS-Gruppennummer sind, extrahiert und mit Werten befüllt werden (siehe [Tätigkeiten Impfdateierstellung](#tätigkeiten-im-rahmen-der-impfdateierstellung)) - +--- +--- ### Dispogruppe +--- #### **Spalte 2: SIVAS-Werte** >**Widget:** >**Typ:** Entry @@ -437,6 +980,8 @@ Im Entry-Feld muss der Spaltenwert "Dispogruppe" aus "from_siv.csv" eingetragen *Aktuell ist es so vorgesehen, dass das Mapping erst bei Erstellung der Impfdatei erfolgt, während im Programm die tatsächlichen Dropdownwerte aus SIVAS angezeigt werden (z.B. 20 - Förderer ). Oder soll das Mapping bereits beim Einlesen der Werte aus "Dispogruppe erfolgen"? Gleiches gilt dann auch für das Feld "Dispolaufgruppe"* +--- + #### **Spalte 3: Überschriebene Werte** >**Widget-Typ:** ComboBox >**Read only:** Ja @@ -447,16 +992,18 @@ Im Entry-Feld muss der Spaltenwert "Dispogruppe" aus "from_siv.csv" eingetragen Wenn kein Wert im Entry-Feld der Spalte "SIVAS-Werte" eingetragen ist, soll der Hintergrund der ComboBox solange rot eingefärbt sein, bis ein Wert ausgewählt wurde. +--- + #### **Migration** >**Spaltenname Impfdatei:** Dispogruppe -Vor der Erstellung der Impfdatei muss geprüft werden, ob eine Dispogruppe vorliegt (siehe [Tätigkeiten vor Impfdateierstellung](#tätigkeiten-vor-erstellung-der-impfdatei)) - Bei der Erstellung der Impfdatei muss ein Mapping der Dispogruppen durchgeführt werden (siehe [Tätigkeiten Impfdateierstellung](#tätigkeiten-im-rahmen-der-impfdateierstellung)) - +--- +--- ### Dispolaufgruppe +--- #### **Spalte 2: SIVAS-Werte** >**Widget:** >**Typ:** Entry @@ -466,6 +1013,8 @@ Im Entry-Feld muss der Spaltenwert "Dispolaufgruppe" aus "from_siv.csv" eingetra *Siehe Kommentar bei Feld "Dispogruppe"* +--- + #### **Spalte 3: Überschriebene Werte** >**Widget-Typ:** ComboBox >**Read only:** Ja @@ -476,6 +1025,8 @@ Im Entry-Feld muss der Spaltenwert "Dispolaufgruppe" aus "from_siv.csv" eingetra Wenn kein Wert im Entry-Feld der Spalte "SIVAS-Werte" eingetragen ist, soll der Hintergrund der ComboBox solange rot eingefärbt sein, bis ein Wert ausgewählt wurde. +--- + #### **Migration** >**Spaltenname Impfdatei:** Dispolaufgruppe @@ -483,9 +1034,11 @@ Vor der Erstellung der Impfdatei muss geprüft werden, ob eine Dispolaufgruppe v Bei der Erstellung der Impfdatei muss ein Mapping der Dispolaufgruppen durchgeführt werden (siehe [Tätigkeiten Impfdateierstellung](#tätigkeiten-im-rahmen-der-impfdateierstellung)) - +--- +--- ### Ersatz für +--- #### **Spalte 2: SIVAS-Werte** >**Widget:** >**Typ:** Entry @@ -498,14 +1051,18 @@ In diesem Feld soll informativ der Spaltenwert "ErsatzFuer" aus "from_siv.csv" e *Soll das Feld eingefärbt werden oder ein automatischer Text im Feld "Zusätzliche Informationen" erscheinen, wenn "Ersatz für" einen Wert aufweist? Wird in der Spalte "Überschriebene Werte" überhaupt ein Feld benötigt?* +--- + #### **Migration** >**Spaltenname Impfdatei:** Nicht in Impfdatei enthalten Vor der Erstellung der Impfdatei soll zu Informationszwecken geprüft werden, ob die ersetzte Teilenummer bereits in RuleDesigner vorliegt (siehe [Tätigkeiten vor Impfdateierstellung](#tätigkeiten-vor-erstellung-der-impfdatei)) - +--- +--- ### Ersetzt durch +--- #### **Spalte 2: SIVAS-Werte** >**Widget:** >**Typ:** Entry @@ -518,13 +1075,18 @@ In diesem Feld soll informativ der Spaltenwert "ErsetztDurch" aus "from_siv.csv" *Soll das Feld eingefärbt werden, oder ein automatischer Text im Feld "Zusätzliche Informationen" erscheinen, wenn "Ersetzt durch" einen Wert aufweist? Wird in der Spalte "Überschriebene Werte" überhaupt ein Feld benötigt?* +--- + #### **Migration** >**Spaltenname Impfdatei:** Nicht in Impfdatei enthalten Vor der Erstellung der Impfdatei soll zu Informationszwecken geprüft werden, ob die Ersatz-Teilenummer bereits in RuleDesigner vorliegt (siehe [Tätigkeiten vor Impfdateierstellung](#tätigkeiten-vor-erstellung-der-impfdatei)) +--- +--- ### Hersteller +--- #### **Spalte 2: SIVAS-Werte** >**Widget:** >**Typ:** Entry @@ -535,6 +1097,8 @@ Vor der Erstellung der Impfdatei soll zu Informationszwecken geprüft werden, ob In diesem Feld soll der Spaltenwert "Hersteller" aus "from_siv.csv" eingetragen werden. +--- + #### **Spalte 3: Überschriebene Werte** >**Widget-Typ:** ComboBox >**Werte:** Werte aus Sektion "Hersteller" in [Hersteller.cfg](/cfg/Hersteller.cfg) @@ -547,14 +1111,18 @@ In diesem Feld soll der Spaltenwert "Hersteller" aus "from_siv.csv" eingetragen ELSE: Read only = True +--- + #### **Migration** >**Spaltenname Impfdatei:** HerstellerTeilenummer Vor der Erstellung der Impfdatei muss geprüft werden, ob der Hersteller in RuleDesigner angelegt wurde (siehe [Tätigkeiten vor Impfdateierstellung](#tätigkeiten-vor-erstellung-der-impfdatei)) - +--- +--- ### Hersteller Teilenummer +--- #### **Spalte 2: SIVAS-Werte** >**Widget:** >**Typ:** Entry @@ -565,6 +1133,8 @@ Vor der Erstellung der Impfdatei muss geprüft werden, ob der Hersteller in Rule In diesem Feld soll der Spaltenwert "HerstellerTeilenummer" aus "from_siv.csv" eingetragen werden. +--- + #### **Spalte 3: Überschriebene Werte** >**Widget-Typ:** ComboBox >**Werte:** Werte aus Sektion "Hersteller" in [Hersteller.cfg](/cfg/Hersteller.cfg) @@ -577,78 +1147,626 @@ In diesem Feld soll der Spaltenwert "HerstellerTeilenummer" aus "from_siv.csv" e ELSE: Read only = True +--- + #### **Migration** >**Spaltenname Impfdatei:** HerstellerTeilenummer Vor der Erstellung der Impfdatei muss geprüft werden, ob der Hersteller in RuleDesigner angelegt wurde (siehe [Tätigkeiten vor Impfdateierstellung](#tätigkeiten-vor-erstellung-der-impfdatei)) - +--- +--- ### Werkstoffdiskrepanz +>**Pflichtfeld:** Nein +#### **Spalte 3: Überschriebene Werte** >**Widget-Typ:** CheckButton >**Defaultwert:** False (Haken nicht gesetzt) -### Werkstofftyp -### Material -### Alternativwerkstoff -### Oberfläche -### Farbe -### Alternativfarbe -### Halbzeug ohne Sägeliste -**Allgemeiner Hinweis:** -Beachte Mapping der CheckButton-Werte bei Erstellung der Impfdatei (siehe [Tätigkeiten-Impfdateierstellung](#tätigkeiten-im-rahmen-der-impfdateierstellung)) -#### **Spalte 2: SIVAS-Werte** -Wertfestlegung, siehe CheckButton-Mapping in [Initialisierung SIVAS-Teilestammwerte](#initialisierung-sivas-teilestammwerte) -### Rüstcode -### Fertigungsart -### FOS-Gruppe -### Kalkulationsart +**Feld in folgenden Fällen disabled:** + + IF Aus Halbzeug == Haken gesetzt: + disabled = True + ELSE: + disabled = False + +--- + +#### **Migration** +>**Spaltenname Impfdatei:** Wird nicht im Impfdatei berücksichtigt + +--- +--- + +### Werkstofftyp +**Logik, die steuert, wann es sich um ein Pflichtfeld handelt und wann ComboBox disabled ist:** + + IF PDM-Kategorie == "Einzelteil": + + IF Aus Halbzeug == True: + Pflichtfeld = False + + ELSE: + Pflichtfeld = True + + ELSE: + Pflichtfeld = False + +--- + +#### **Spalte 3: Überschriebene Werte** +>**Widget-Typ:** ComboBox + +**Logik, die steuert, wann ComboBox disabled ist:** + + IF PDM-Kategorie == "Einzelteil": + + IF Aus Halbzeug == True: + disabled = True + + ELSE: + disabled = False + + ELSE: + disabled = True + +**Logik, die steuert, welcher Defaultwert gilt:** +- In den nachfolgenden Fällen darf **kein** Defaultwert eingetragen werden (selbst wenn in from_siv.csv ein Wert in der Spalte "Werkstoff" eingetragen sein sollte): + - PDM-Kategorie == "Kaufteil" + - PDM-Kategorie == "Baugruppe" + - PDM-Kategorie == "Schweissbaugruppe" + - PDM-Kategorie == "Einzelteil" und Aus Halbzeug == True (Haken gesetzt) + +- Ist der Haken nicht gesetzt, dann wird der Defaultwert wie folgt bestimmt: + + Als erstes muss geprüft werden, ob der Werkstoff in "from_siv.csv" (Spalte "Werkstoff") als Objekt in [Materialübersetzung.json](../cfg/Materialübersetzung.json) existiert. Wenn nicht, soll eine Info-Messagebox erscheinen (vor Klick auf "Migrieren"): + + ![Material_fehlend](../doc/Pictures/info_Material_missing.jpg) + + Wenn ja, muss geprüft werden, ob das Objekt einen Key "Werkstofftyp" aufweist. Wenn ja, soll dessen Wert in das Feld "Werkstofftyp" der Spalte "Überschriebene Werte" eingetragen werden: + + ![Default_Werkstofftyp](../doc/Pictures/default_werkstofftyp.jpg) + + Wenn nein, soll stattdessen der Wert des Objekt-Keys "Message" als Platzhalter in rot eingetragen werden: + + ![Individual_material_selection](../doc/Pictures/Material_message_placeholder.jpg) + +**Auswählbare Werte in Dropdown:** Sektion "Werkstofftyp" in [Werkstoff.cfg](../cfg/Werkstoff.cfg) + +--- + +#### **Migration** +>**Spaltenname Impfdatei:** WerkstofftypNE + +Vor der Erstellung der Impfdatei muss geprüft werden, ob ein gültiger Werkstofftyp vorliegt (siehe [Tätigkeiten vor Impfdateierstellung](#tätigkeiten-vor-erstellung-der-impfdatei)) + +--- +--- + +### Material +**Logik, die steuert, wann es sich um ein Pflichtfeld handelt:** + +Wie bei Feld [Werkstofftyp](#werkstofftyp) + +--- + +#### **Spalte 2: SIVAS-Werte** +>**Widget:** +>**Typ:** Entry + +>**Wert:** Aus Spalte "Werkstoff" in "from_siv.csv" + +--- + +#### **Spalte 3: Überschriebene Werte** +>**Widget-Typ:** ComboBox + +**Logik, die steuert, wann ComboBox disabled ist:** + +Wie bei Feld [Werkstofftyp](#werkstofftyp) + +**Logik, die steuert, welcher Defaultwert gilt:** +- In den nachfolgenden Fällen darf **kein** Defaultwert eingetragen werden (selbst wenn in from_siv.csv ein Wert in der Spalte "Werkstoff" eingetragen sein sollte): + - PDM-Kategorie == "Baugruppe" + - PDM-Kategorie == "Schweissbaugruppe" + - PDM-Kategorie == "Einzelteil" und Aus Halbzeug == True (Haken gesetzt) + +- Gilt PDM-Kategorie == "Kaufteil" soll der Defaultwert "siehe Hersteller" eingetragen werden +- Gilt PDM-Kategorie == "Einzelteil" und Aus Halbzeug == False (kein Haken), dann wird der Defaultwert wie folgt bestimmt: + +Als erstes muss geprüft werden, ob der Werkstoff in "from_siv.csv" (Spalte "Werkstoff") als Objekt in [Materialübersetzung.json](../cfg/Materialübersetzung.json) existiert. Wenn nicht, soll nichts passieren (Info-Messagebox wird bereits im Feld [Werkstofftyp](#Werkstofftyp) erzeugt). Existiert das Objekt, muss geprüft werden, ob das Objekt einen Key "Werkstoff" aufweist. Wenn ja, soll dessen Wert in das Feld "Material" der Spalte "Überschriebene Werte" eingetragen werden: + +![Default_Werkstoff](../doc/Pictures/default_werkstoff.jpg) + + Wenn nicht, soll wie bei der ComboBox des Feldes "Werkstofftyp" der Wert des Objekt-Keys "Message" als Platzhalter in rot eingetragen werden: + +![Individual_material_selection](../doc/Pictures/Material_message_placeholder.jpg) + +**Logik, die steuert, welche Werte in der ComboBox auswählbar sind:** + +Je nachdem, welcher [Werkstofftyp](#Werkstofftyp) ausgewählt ist, müssen die Werte aus einer der nachfolgend aufgelisteten Sektionen in der cfg-Datei [Werkstoff.cfg](../cfg/Werkstoff.cfg) auswählbar sein: + +|Wert in ComboBox "Werkstofftyp" |Werte aus Sektion in Werkstoff.cfg | +|--------------------------------------|-----------------------------------| +|Stahl |Stahl | +|Aluminium |Aluminium | +|Kunst-/ Verbundstoff |Kunst-/ Verbundstoff | +|Schwermetall |Schwermetall | +|Festigkeitsklasse |Festigkeitsklasse | + +**Hinweis:** +Wenn der Werkstofftyp geändert wird, muss der Wert in der ComboBox des Feldes "Material" entfernt werden. Wenn in TK einstellbar soll zudem der Hintergrund der ComboBox solange rot eingefärbt werden, bis ein neues Material ausgewählt wurde. + +--- + +#### **Migration** +>**Spaltenname Impfdatei:** WerkstoffNE + +Vor der Erstellung der Impfdatei müssen die Werkstoffeingaben geprüft werden (siehe [Tätigkeiten vor Impfdateierstellung](#tätigkeiten-vor-erstellung-der-impfdatei)) + +--- +--- + +### Oberfläche +**Logik, die steuert, wann es sich um ein Pflichtfeld handelt:** + +Wie bei Feld [Werkstofftyp](#werkstofftyp) + +--- + +#### **Spalte 3: Überschriebene Werte** +>**Widget-Typ:** ComboBox + +**Logik, die steuert, wann ComboBox disabled ist:** + +Wie bei Feld [Werkstofftyp](#werkstofftyp) + +**Logik, die steuert, welcher Defaultwert gilt:** +- In den nachfolgenden Fällen darf **kein** Defaultwert eingetragen werden (selbst wenn in from_siv.csv ein Wert in der Spalte "Werkstoff" eingetragen sein sollte): + - PDM-Kategorie == "Baugruppe" + - PDM-Kategorie == "Kaufteil" + - PDM-Kategorie == "Einzelteil" und Aus Halbzeug == True (Haken gesetzt) + +- Gilt PDM-Kategorie == "Einzelteil" und Aus Halbzeug == False (kein Haken), dann wird der Defaultwert wie folgt bestimmt: + +Als erstes muss geprüft werden, ob der Werkstoff in "from_siv.csv" (Spalte "Werkstoff") als Objekt in [Materialübersetzung.json](../cfg/Materialübersetzung.json) existiert. Wenn nicht, soll nichts passieren (Info-Messagebox wird bereits im Feld [Werkstofftyp](#Werkstofftyp) erzeugt). Existiert das Objekt, muss geprüft werden, ob das Objekt einen Key "Oberfläche" aufweist. Wenn ja, soll dessen Wert in die ComboBox eingetragen werden: + +![Default_Oberflaeche](../doc/Pictures/default_oberflaeche.jpg) + +Wenn nicht, soll im Gegensatz zu den ComboBoxen der Felder "Werkstofftyp" und "Material" **nicht** der Wert des Objekt-Keys "Message" eingetragen werden. + +**Logik, die steuert, welche Werte in der ComboBox auswählbar sind:** + +Je nachdem, welcher [Werkstofftyp](#Werkstofftyp) ausgewählt ist, müssen die Werte aus einer der nachfolgend aufgelisteten Sektionen in der cfg-Datei [Oberflächenbehandlung.cfg](../cfg/Oberflächenbehandlung.cfg) auswählbar sein: + +|Wert in ComboBox "Werkstofftyp" |Werte aus Sektion in Oberflächenbehandlung.cfg | +|--------------------------------------|-----------------------------------------------| +|Stahl |OberflächenbehandlungStahl | +|Aluminium |OberflächenbehandlungAluminium | +|Kunst-/ Verbundstoff |OberflächenbehandlungKunsVerbund | +|Schwermetall |OberflächenbehandlungSchwermetall | +|Festigkeitsklasse |OberflaechenbehandlungNormteil | + +**Veränderung Werkstofftyp:** +Erfolgt eine Wertänderung in der ComboBox des Feldes "Werkstofftyp" muss der Wert in der ComboBox des Feldes "Material" durch einen leeren Wert ersetzt werden. + +--- + +#### **Migration** +>**Spaltenname Impfdatei:** Oberflaechenbehandlung + +--- +--- + +### Farbe +**Logik, die steuert, wann es sich um ein Pflichtfeld handelt:** + + IF Oberflaechenbehandlung == "eloxieren" OR "lackieren" OR "Masterbatch (Grundfarbe)" OR "pulverbeschichten": + Pflichtfeld = True + + ELSE: + Pflichtfeld = False + +--- + +#### **Spalte 3: Überschriebene Werte** +>**Widget-Typ:** ComboBox + +**Logik, die steuert, wann ComboBox disabled ist:** + + IF Oberflaechenbehandlung == "eloxieren" OR "lackieren" OR "Masterbatch (Grundfarbe)" OR "pulverbeschichten": + disabled = False + + ELSE: + disabled = True + +**Logik, die steuert, welcher Defaultwert gilt:** +- In den nachfolgenden Fällen darf **kein** Defaultwert eingetragen werden (selbst wenn in from_siv.csv ein Wert in der Spalte "Werkstoff" eingetragen sein sollte): + - PDM-Kategorie == "Baugruppe" + - PDM-Kategorie == "Kaufteil" + - PDM-Kategorie == "Einzelteil" und Aus Halbzeug == True (Haken gesetzt) + +- Gilt PDM-Kategorie == "Einzelteil" und Aus Halbzeug == False (kein Haken), dann wird der Defaultwert wie folgt bestimmt: + +Als erstes muss geprüft werden, ob der Werkstoff in "from_siv.csv" (Spalte "Werkstoff") als Objekt in [Materialübersetzung.json](../cfg/Materialübersetzung.json) existiert. Wenn nicht, soll nichts passieren (Info-Messagebox wird bereits im Feld [Werkstofftyp](#Werkstofftyp) erzeugt). Existiert das Objekt, muss geprüft werden, ob das Objekt einen Key "Farbe" aufweist. Wenn ja, soll dessen Wert in die ComboBox eingetragen werden: + +![Default_Farbe](../doc/Pictures/default_farbe.jpg) + + Wenn nicht, soll im Gegensatz zu den ComboBoxen der Felder "Werkstofftyp" und "Material" **nicht** der Wert des Objekt-Keys "Message" eingetragen werden. + +**Logik, die steuert, welche Werte in der ComboBox auswählbar sind:** + +Je nachdem, welche [Oberfläche](#oberfläche) ausgewählt ist, müssen die Werte aus einer der nachfolgend aufgelisteten Sektionen in der cfg-Datei [Farben.cfg](../cfg/Farben.cfg) auswählbar sein: + +|Wert in ComboBox "Oberfläche" |Werte aus Sektion in Farben.cfg | +|--------------------------------------|--------------------------------| +|eloxieren |FarbeEloxieren | +|lackieren |Farbauswahl | +|Masterbatch (Grunfarbe) |Farbauswahl | +|pulverbeschichten |Farbauswahl | + +**Veränderung Oberfläche:** + +Erfolgt eine Wertänderung in der ComboBox des Feldes "Oberfläche" muss der Wert in der ComboBox des Feldes "Farbe" durch einen leeren Wert ersetzt werden. Wenn in TK einstellbar soll zudem der Hintergrund der ComboBox solange rot eingefärbt werden, bis eine neue Oberfläche ausgewählt wurde. + +--- + +#### **Migration** +>**Spaltenname Impfdatei:** Farbe + +--- +--- + ### Version +>**Pflichtfeld:** Nein +--- +#### **Spalte 2: SIVAS-Werte** +>**Widget:** +>**Typ:** Entry + +>**Wert:** Aus Spalte "Version" in "from_siv.csv" + +--- + +#### **Spalte 3: Überschriebene Werte** +>**Widget-Typ:** Entry + + +#### **Migration** +>**Spaltenname Impfdatei:** Wird nicht im Impfdatei berücksichtigt -> Wird für Bestimmung des Freigabevermerks benötigt. + + +--- +--- + ### Änderungsindex +>**Pflichtfeld:** Nein +--- +#### **Spalte 2: SIVAS-Werte** +>**Widget:** +>**Typ:** Entry + +>**Wert:** Aus Spalte "AktuellerIndex" in "from_siv.csv" + +--- + +#### **Spalte 3: Überschriebene Werte** +>**Widget-Typ:** Entry + + +#### **Migration** +>**Spaltenname Impfdatei:** StartRevision + +Liegt kein Änderungsindex vor, muss "A" in die Impfdatei eingetragen werden (siehe [Tätigkeiten Impfdateierstellung](#tätigkeiten-im-rahmen-der-impfdateierstellung)) + +--- +--- + ### Änderungstext +>**Pflichtfeld:** Ja, immer +--- +#### **Spalte 2: SIVAS-Werte** +>**Widget:** +>**Typ:** Text (mehrzeilig) + +>**Wert:** Aus Spalte "Aenderungstext" in "from_siv.csv" + +**Aufgaben beim Einlesen des Feldes aus "from_siv.csv":** +- Semikolon (einschließlich vor- und nachgesetztem Leerzeichen) sollen durch ein Slash mit vor- und nachgesetztem Leerzeichen (" / ") ersetzt werden. Beispiel: + - Änderungstext in "from_siv.csv": "Gewindebohrung auf M5 vergrößert (war M4); Fasen entfernt" + - Änderungstext nach dem Einlesen: "Gewindebohrung auf M5 vergrößert (war M4) / Fasen entfernt" + +- Wenn die Spalte "Aenderungstext" in "from_siv.csv" einen Wert enthält, soll der Textbaustein "(von {Wert aus Spalte "Indexerfasser in 'from_siv.csv'})" angehängt werden, Beispiel: + - Änderungstext in "from_siv.csv": "Biegeradius auf R5 vergrößert (war R4)" + - Änderungstext nach dem Einlesen: "Biegeradius auf R5 vergrößert (war R4) (von M.SCHNEIDER)" + +--- + +#### **Spalte 3: Überschriebene Werte** +>**Widget-Typ:** Text (mehrzeilig) +>**Zeichenbegrenzung:** 400 + +**Bestimmung der Zeichenbegrenzung:** +Wenn die Länge des Änderungstextes in der Spalte "SIVAS-Werte" die Zeichengrenze überschreitet, soll im Textfeld der Spalte "Überschriebene Werte" ein roter Platzhalter-Text erscheinen, solange kein kürzerer Änderungstext vom User in das Textfeld eingetragen wurde. Das Aussehen / Verhalten des Platzhalters soll identisch wie beim Feld [Bezeichnung 1](#bezeichnung-1) sein. + +**Logik, die steuert, welcher Defaultwert gilt:** + + IF Wert aus Spalte "Aenderungstext" in "from_siv.csv" == "": + + IF PDM-Kategorie == "Kaufteil": + Defaultwert = "Erstanlage" + + ELSE: + Defaultwert = "Erstanlage (von {Indexerfasser})" + + ELSE: + Defaultwert = "" + +--- + +#### **Migration** +>**Spaltenname in Impfdatei:** Änderungsbeschreibung + +Es muss vor Erstellung der Impfdatei eine Längenprüfung durchgeführt werden, siehe [Tätigkeiten vor Erstellung der Impfdatei](#tätigkeiten-vor-erstellung-der-impfdatei) + +--- +--- + ### Freigabevermerk +>**Pflichtfeld:** Ja, immer +--- +#### **Spalte 2: SIVAS-Werte** +>**Widget:** +>**Typ:** Text (mehrzeilig) + +>**Wert:** Aus Spalte "Freigabevermerk" in "from_siv.csv" + +**Aufgaben beim Einlesen des Feldes aus "from_siv.csv":** +- Semikolon (einschließlich vor- und nachgesetztem Leerzeichen) sollen durch ein Slash mit vor- und nachgesetztem Leerzeichen (" / ") ersetzt werden. Beispiel: + - Freigabevermerk in "from_siv.csv": "Verringerte Rissgefahr durch größeren Biegeradius; Kostenreduktion durch geringere Blechstärke" + - Freigabevermerk nach dem Einlesen: "Verringerte Rissgefahr durch größeren Biegeradius / Kostenreduktion durch geringere Blechstärke" + +--- + +#### **Spalte 3: Überschriebene Werte** +>**Widget-Typ:** Text (mehrzeilig) +>**Zeichenbegrenzung:** 400 + +**Bestimmung der Zeichenbegrenzung:** +Wie beim Feld [Änderungstext](#änderungstext) + +**Logik, die steuert, welcher Defaultwert gilt:** + + IF Wert aus Spalte "Freigabevermerk" in "from_siv.csv" == "": + + IF PDM-Kategorie == "Kaufteil": + Defaultwert = "" + + ELSE: + + IF Wert aus Spalte "Version" in "from_siv.csv" == 6 aufeinanderfolgende Zahlen: + Freigabevermerk = "Anpassung an neues Indexsystem, Zeichnung mit Versionsnummer {Wert aus Feld 'Version'} weiterhin gültig" + + ELSE: + Defaultwert = "" + + ELSE: + Defaultwert = "" + +--- + +#### **Migration** +>**Spaltenname in Impfdatei:** Freigabevermerk + +Es muss vor Erstellung der Impfdatei eine Längenprüfung durchgeführt werden, siehe [Tätigkeiten vor Erstellung der Impfdatei](#tätigkeiten-vor-erstellung-der-impfdatei) + +--- +--- + +### Automatische Zusatzinformationen +>**Pflichtfeld:** Nein + +>**Widget:** +>**Typ:** Text (mehrzeilig) +>**Zeichenbegrenzung:** 400 +>**disabled:** Ja + +**Logik, die steuert, welche vordefinierten Textblöcke je nach Situation in das Textfeld eingetragen werden sollen:** + +Hinweis: +Die nachfolgend aufgeführten Sektionen "EinzelTextblöcke" und "ComboTextblöcke" sind in der cfg-Datei [Zusatzinformationen.cfg](../cfg/Zusatzinformationen.cfg) enthalten. + + IF Version == Kleinbuchstabe: + + IF Trümmer == True OR Rüstcode == "": + Text = Sektion "ComboTextblöcke" -> Key "VersionTruemmer" + + IF Teilenummer in Blacklist: + Text = Sektion "ComboTextblöcke" -> Key "VersionTruemmerBlacklist" + + ELSE IF Teilenummer in Blacklist: + Text = Sektion "ComboTextblöcke" -> Key "VersionBlacklist" + + ELSE IF Werkstoffdiskrepanz == True: + Text = Sektion "ComboTextblöcke" -> Key "VersionWerkstoffdiskrepanz" + + ELSE: + Text = Sektion "EinzelTextblöcke" -> Key "Version" + + ELSE IF Trümmer == True OR "Rüstcode" == "": + + IF Teilenummer in Blacklist: + Text = Sektion "ComboTextblöcke" -> Key "TruemmerBlacklist" + + ELSE IF Werkstoffdiskrepanz == True: + Text = Sektion "ComboTextblöcke" -> Key "TruemmerWerkstoffdiskrepanz" + + ELSE: + Text = Sektion "EinzelTextblöcke" -> Key "Truemmer" + +--- + +#### **Migration** +>**Spaltenname Impfdatei:** keine eigene Spalte -> Wird zur Definierung des Wertes in der Spalte "ZusaetzlicheInformationen" benötigt, siehe [Tätigkeiten Impfdateierstellung](#tätigkeiten-im-rahmen-der-impfdateierstellung) + + +### Benutzerdefinierte Zusatzinformationen +>**Pflichtfeld:** Nein + +>**Widget:** +>**Typ:** Text (mehrzeilig) +>**disabled:** Nein + +**Bestimmung der Zeichenbegrenzung:** +Die Zeichenbegrenzung berechnet sich wie folgt: + +Zeichenbegrenzung = 400 - Aktuelle Anzahl an Zeichen im Textfeld [Automatische Zusatzinformationen](#automatische-zusatzinformationen) + +--- + +#### **Migration** +>**Spaltenname Impfdatei:** keine eigene Spalte -> Wird zur Definierung des Wertes in der Spalte "ZusaetzlicheInformationen" benötigt, siehe [Tätigkeiten Impfdateierstellung](#tätigkeiten-im-rahmen-der-impfdateierstellung) + ## Button Migrieren +**Button soll in folgenden Fällen disabled sein:** + +- Keines der Felder in der Spalte "SIVAS-Werte" ist befüllt +--- + ### Tätigkeiten vor Erstellung der Impfdatei **Allgemeine Hinweise:** -Wenn die Migration nicht abgeschlossen werden darf, bevor fehlende oder fehlerhafte Feldeintragungen behoben wurden, soll beim Klick auf den Button "Migrieren" eine ERROR-Messagebox erscheinen. Mehrere, gleichzeitig auftretende Fehler sind in einer Messagebox zusammenzufassen. Sollten Neben ERROR-Messageboxen gleichzeitig weitere Messagebox-Typen (z.B. YESNO) auftreten sind diese jeweils als separate Messageboxen auszugeben. +- Wenn die Migration nicht abgeschlossen werden darf, bevor fehlende oder fehlerhafte Feldeintragungen behoben wurden, soll beim Klick auf den Button "Migrieren" eine ERROR-Messagebox erscheinen. Mehrere, gleichzeitig auftretende Fehler sind in einer Messagebox zusammenzufassen. Sollten Neben ERROR-Messageboxen gleichzeitig weitere Messagebox-Typen (z.B. YESNO) auftreten sind diese jeweils als separate Messageboxen auszugeben. -1. Feldprüfungen +### Feldprüfungen - **Bezeichnung** - Wenn Länge der Sivas-Bezeichnung > 50 ist und im Feld der Spalte "Überschriebene Werte" keine kürzere Bezeichnung eingetragen wurde soll beim Klick auf Button "Migrieren" eine ERROR-Messagebox, z.B. mit Text: *"Bezeichnung besitzt mehr als 50 Zeichen. Bitte verkürzen."* erscheinen. Die Migration darf nicht abgeschlossen werden, bevor eine kürzere Bezeichnung eingetragen wurde +#### Allgemeine Prüfungen: +- Solange nicht alle Pflichtfelder einen Wert aufweisen, muss beim Klick auf den Button "Migrieren" eine ERROR-Messagebox erscheinen, in der alle Pflichtfelder aufgelistet sind, die keinen Wert aufweisen +- Es muss bei allen Feldern geprüft werden, ob sie ein unzulässiges Zeichen enthalten. Die Zeichen sind in der ini-Datei [ERP_Item.ini](\\ruledesigner\RDF_Daten\Konfigurator\CustomVaulting\ERP_Item.ini) in Sektion "Settings" unter dem Key "InvalidCharacters" aufgelistet: - **Mengeneinheit** - Wenn in der Spalte "Überschriebene Werte" nur ein Dropdownwert (z.B. "Stck") zulässig ist und in der Spalte "SIVAS-Werte" ein davon abweichender Wert eingetragen ist, soll eine Fehlermeldung ausgegeben werden, z.B. mit Text *"Mengeneinheit in SIVAS prüfen"* - *Passt eine solche Fehlermeldung? Kann die Mengeneinheit in Sivas nachträglich geändert werden? Soll die Fehlermeldung überspringbar sein?* + ![invalid_characters](../doc/Pictures/Invalid_Characters.jpg) - **Beschaffungsart** - Falls die nachfolgenden Fälle zutreffen muss eine Fehlermeldung, z.B. mit Text "Bitte Beschaffungsart in Sivas korrigieren": + Sollten unzulässige Zeichen in den Feldern identifiziert werden, muss eine ERROR-Messagebox ausgegeben werden. In der Messagebox soll jeweils das unzulässige Zeichen und der zugehörige Feldname aufgeführt sein, z.B. wie folgt: - IF PDM-Kategorie == "Baugruppe" OR "Schweissbaugruppe": - IF Beschaffungsart == "Kaufteil" - Fehlermeldung = True - ELSE: - Fehlermeldung = False - ELSE IF PDM-Kategorie == "Kaufteil": - IF Beschaffungsart == "Eigenbau" - Fehlermeldung = True - ELSE: - Fehlermeldung = False - - **Dispogruppe und Dispolaufgruppe** - Wenn das Feld Dispogruppe oder Dispolaufgruppe in der Spalte "SIVAS-Werte" leer ist und in der Spalte "Überschriebene Werte" kein neuer Wert ausgewählt wurde soll eine Fehlermeldung, z.B. mit Text "Bitte Dispogruppe auswählen", bzw. "Bitte Dispolaufgruppe wählen" erscheinen, die eine Migration verhindert. + ![messagebox_invalid_characters](../doc/Pictures/Messagebox_invalid_characters.jpg) - **Ersatz für und Ersetzt durch** - Wenn die ersetzte Teilenummer (Wenn "Ersatz für" befüllt), bzw. die Ersatz-Teilenummer (wenn "Ersetzt durch" befüllt) noch nicht in der Datei "RD_Teilenummern.csv" existieren, soll eine YESNO-Messagebox, z.B. mit Text *"Ersetzte Teilenummer {Teilenummer in Feld "Ersatz für"} existiert noch nicht in RuleDesigner. Migration trotzdem durchführen?"*, bzw. *"Ersatz-Teilenummer {Teilenummer in "Ersetzt durch"} exisitert noch nicht in RuleDesigner. Migration trotzdem durchführen?"* erscheinen. Beim Klick auf "Ja" soll die Migration durchgeführt werden, bei "Nein" nicht. - - **Hersteller** - Wenn der angegebene Hersteller in der Spalte "SIVAS-Werte" nicht in der Datei [Hersteller.cfg](/cfg/Hersteller.cfg) existiert muss eine ERROR-Messagebox, z.B. mit Text "Hersteller nicht in RuleDesigner enthalten. Bitte nachpflegen" erscheinen, die eine Migration verhindert. - *Theoretisch müsste bevor die Fehlermeldung kommt eine Datei gezogen werden, in der alle Hersteller aufgelistet sind. Wir haben aktuell aber keine solche Datei, da die Werte direkt im RD-CodeDesigner definiert sind. Wenn wir die Fehlermeldung aber nicht bringen, wird ein Wert migriert, der nicht in RuleDesigner exisitert, was auch nicht gut ist* +--- +#### Bezeichnung 1 +Wenn die Anzahl der Zeichen im Feld [Bezeichnung 1](#bezeichnung-1) > 50 ist und im Feld der Spalte "Überschriebene Werte" keine kürzere Bezeichnung eingetragen wurde, soll beim Klick auf Button "Migrieren" eine ERROR-Messagebox erscheinen, z.B: + +![messagebox_bezeichnung](../doc/Pictures/error_bezeichnung.jpg) + +--- +#### Halbzeug ohne Sägeliste +Wenn das Feld [Rüstcode](#rüstcode) den Wert "SRC Standard Rüstcode" aufweist und das Feld [Halbzeug ohne Sägeliste](#halbzeug-ohne-sägeliste) den Wert "Sägeliste nicht benötigt" besitzt, muss eine ERROR-Messagebox ausgegeben werden, z.B.: + +![messagebox_halbzeug_ohne_saegeliste](../doc/Pictures/error_halbzeug_ohne_saegeliste.jpg) + +--- +#### Ruestcode + +Wenn die [PDM-Kategorie](#pdm-kategorie) != "Baugruppe" ist und im Feld [Rüstcode](#rüstcode) kein Wert eingetragen ist, muss eine Error-Messagebox erscheinen, z.B.: + +![messagebox_ruestcode](../doc/Pictures/error_ruestcode.jpg) + +--- +#### Fertigungsart +Tritt eine der nachfolgenden Kombinationen auf, muss eine ERROR-Messagebox erscheinen: + +- [PDM-Kategorie](#pdm-kategorie) == "Baugruppe" in Verbindung mit einer der nachfolgenden [Fertigungsarten](#fertigungsart): + - "3D-drucken" + - "extrudieren" + - "gießen" + - "verpressen" + - "strangpressen" + - "spritzgießen" + - "schweißen" +- [PDM-Kategorie](#pdm-kategorie) == "Kaufteil" in Verbindung mit einer der Fertigungsarten aus Sektion "Fertigungsarten" in [Fertigungsarten.cfg](../cfg/Fertigungsarten.cfg) +- [PDM-Kategorie](#pdm-kategorie) == "Schweissbaugruppe" und [Fertigungsart](#fertigungsart) != "schweißen" + +**ERROR-Messagebox:** + +![error_fertigungsart](../doc/Pictures/error_fertigungsart.jpeg) + +--- +#### FOS-Gruppe + +Tritt eine der nachfolgenden Kombinationen auf, muss eine ERROR-Messagebox erscheinen: +- [PDM-Kategorie](#pdm-kategorie) == "Baugruppe" und [FOS-Gruppe](#fos-gruppe) == "0 - Einzelteil" +- [PDM-Kategorie](#pdm-kategorie) == "Einzelteil" und [FOS-Gruppe](#fos-gruppe) == "1 - Baugruppe" +- [PDM-Kategorie](#pdm-kategorie) == "Schweissbaugruppe" und [FOS-Gruppe](#fos-gruppe) == "1 - Baugruppe" + +**ERROR-Messagebox:** + +![error_fosgruppe](../doc/Pictures/error_fertigungsart.jpeg) + +--- +#### Kalkulationsart +Tritt eine der nachfolgenden Kombinationen auf, muss eine ERROR-Messagebox erscheinen: +- [PDM-Kategorie](#pdm-kategorie) == "Kaufteil" und [Kalkulationsart](#kalkulationsart) == "Eigenbau" +- [PDM-Kategorie](#pdm-kategorie) == "Einzelteil" und [Kalkulationsart](#kalkulationsart) == "Kaufteil" +- [PDM-Kategorie](#pdm-kategorie) == "Schweissbaugruppe" und [Kalkulationsart](#kalkulationsart) == "Kaufteil" + +**ERROR-Messagebox:** + +![error_kalkulationsart](../doc/Pictures/error_kalkulationsart.jpg) + +--- +#### Werkstofftyp +Wenn der eingetragene Wert nicht in Sektion "Werkstofftyp" der cfg-Datei [Werkstoff.cfg](../cfg/Werkstoff.cfg) enthalten ist, muss eine ERROR-Messagebox, z.B. mit dem Text "*Eingetragener Werkstofftyp falsch. Bitte korrigeren!*" erscheinen. (Tritt z.B. auf, wenn in ComboBox "*Bitte individuell auswählen*" steht) + +--- +#### Material +Tritt eine der nachfolgenden Kombinationen auf, muss eine ERROR-Messagebox, z.B. mit dem Text "*Werkstoff falsch. Bitte korrigieren!*" erscheinen: +- PDM-Kategorie == "Baugruppe" und Material != "" +- PDM-Kategorie == "Einzelteil" und Aus Halbzeug == True AND Material != "" +- PDM-Kategorie == "Kaufteil" und Material != "siehe Hersteller" +- PDM-Kategorie == "Schweissbaugruppe" und Material != "" + +Die oben genannte ERROR-Messagebox soll auch dann erscheinen, wenn der eingetragene Wert nicht in einer der nachfolgenden Sektionen der cfg-Datei [Werkstoff.cfg](../cfg/Werkstoff.cfg) enthalten ist: +- Stahl +- Aluminium +- Kunst-/ Verbundstoff +- Schwermetall +- Festigkeitsklasse + +--- +#### Mengeneinheit +Wenn in der Spalte "Überschriebene Werte" nur ein Dropdownwert (z.B. "Stck") zulässig ist und in der Spalte "SIVAS-Werte" ein davon abweichender Wert eingetragen ist, soll eine Fehlermeldung ausgegeben werden, z.B. mit Text *"Mengeneinheit in SIVAS prüfen"* + +--- +#### Beschaffungsart +Falls die nachfolgenden Kombinationen auftreten muss eine Fehlermeldung, z.B. mit Text "Bitte Beschaffungsart in Sivas korrigieren" erscheinen: +- PDM-Kategorie == "Baugruppe" AND Beschaffungsart == "Kaufteil" +- PDM-Kategorie == "Schweissbaugruppe" AND Beschaffungsart == "Kaufteil" +- PDM-Kategorie == "Kaufteil" AND Beschaffungsart == "Eigenbau" + +--- +#### Dispolaufgruppe +Wenn das Feld Dispolaufgruppe in der Spalte "SIVAS-Werte" leer ist und in der Spalte "Überschriebene Werte" kein neuer Wert ausgewählt wurde soll eine Fehlermeldung, z.B. mit Text "*Bitte Dispolaufgruppe wählen!*", bzw. "*Bitte Dispolaufgruppe wählen!*" erscheinen. + +--- +#### Ersatz für +Wenn die ersetzte Teilenummer noch nicht in der Datei "RD_Teilenummern.csv" existiert, soll eine YESNO-Messagebox, z.B. mit Text *"Ersetzte Teilenummer {Teilenummer in Feld "Ersatz für"} existiert noch nicht in migriert. Migration trotzdem durchführen?"*. Beim Klick auf "Ja" soll die Migration durchgeführt werden, bei "Nein" nicht. + +--- +#### Ersetzt durch +Wenn die Ersatz-Teilenummer noch nicht in der Datei "RD_Teilenummern.csv" existiert, soll eine YESNO-Messagebox, z.B. mit Text *"Ersatz-Teilenummer {Teilenummer in "Ersetzt durch"} exisitert noch nicht in RuleDesigner. Migration trotzdem durchführen?"* erscheinen. Beim Klick auf "Ja" soll die Migration durchgeführt werden, bei "Nein" nicht. + +--- +#### Hersteller +Wenn der angegebene Hersteller in der Spalte "SIVAS-Werte" nicht in der Datei [Hersteller.cfg](/cfg/Hersteller.cfg) existiert muss eine ERROR-Messagebox, z.B. mit Text "Hersteller nicht in RuleDesigner enthalten. Bitte nachpflegen" erscheinen, die eine Migration verhindert. + +--- +#### Änderungstext und Freigabevermerk +Wenn die Länge des Änderungstextes oder Freigabevermerks eine Länge von 400 Zeichen überschreitet und in der Spalte "Überschriebene Werte" kein kürzerer Änderungstext eingetragen wurde, muss beim Klick auf den Button "Migrieren" eine ERROR-Messagebox erscheinen. Beim Feld Änderungstext, z.B. mit Text "*Änderungstext weist {Länge Änderungstext in Spalte 'SIVAS-Werte'} auf. Bitte auf 400 Zeichen verkürzen!*". Beim Feld "Freigabevermerk, z.B. mit Text "*Freigabevermerk weist {Länge Freigabevermerk in Spalte 'SIVAS-Werte'} auf. Bitte auf 400 Zeichen verkürzen!*" erscheinen. +Beispiel für Änderungstext: + +![error_aenderungstext](../doc/Pictures/error_aenderungstext.jpg) ### Tätigkeiten im Rahmen der Impfdateierstellung @@ -656,136 +1774,210 @@ Wenn die Migration nicht abgeschlossen werden darf, bevor fehlende oder fehlerha **Allgemeine Hinweise:** - Die Spalte "überschriebene Werte" gewinnt, d.h. wenn sich sowohl in der Spalte "SIVAS-Werte" als auch in der Spalte "Überschriebene Werte" Werte befinden, wird immer der Wert aus der Spalte "Überschriebene Werte" in die Impfdatei geschrieben / migriert. -**Tätigkeiten:** +**Spaltenbefüllungen:** +--- +#### Path -1. Ergänzung Wert in Spalte "Path" der Impfdatei: +Path = Ursprungsverzeichnis, aus dem das Solid Edge-DataPrepUtility die CAD-Dateien in das Zielverzeichnis (Verzeichnis, aus dem RuleDesigner die CAD-Daten zum Erstellen der Datensätze einliest) kopiert. - >**Spaltenname Impfdatei:** Path +Der Wert in der Spalte "Path" ergibt sich, indem der Wert aus dem Feld [3D-Modell](#3d-modell) um nachfolgende Elemente verkürzt wird: +- den Dateinamen +- die Dateiendung +- den Backslash vor dem Dateinamen - Path = Ursprungsverzeichnis, aus dem das Solid Edge-DataPrepUtility die CAD-Dateien in das Zielverzeichnis kopiert +**Beispiel:** +Wert in [3D-Modell](#3d-modell) (vor Verkürzung): `\\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\01_Rohdatenpool\4er\400000194.par` +Resultierender Wert in Spalte "Path" : `\\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\01_Rohdatenpool\4er` - **Hinweis:** - Im anschließenden Pseudocode gelten die nachfolgend aufgelisteten Umgebungsvariablen. +--- +#### Filename - %ASSEMBLY_TEMPLATE% = \\\ssg.local\freigaben\Abteilungen\Entwicklung\CAD\Standards\SolidEdge\Template\DIN Metric - %PART_TEMPLATE% = \\\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\06_3D_Vorlagen +Filename = Dateiname der Solid Edge-Datei im Ursprungsverzeichnis - Der Pfad ergibt sich durch folgende Logik: +Der Wert in der Spalte Filename ergibt sich, indem der Wert aus dem Feld [3D-Modell](#3d-modell) bis zum Backslash vor dem Dateinamen gekürzt wird. - IF PDM-Kategorie == "Baugruppe" OR "Schweissbaugruppe": - Path = %ASSEMBLY_TEMPLATE% +**Beispiel:** +Wert in [3D-Modell](#3d-modell) (vor Verkürzung): `\\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\01_Rohdatenpool\4er\400000194.par` +Resultierender Wert in Spalte "Filename": `400000194.par` - ELSE IF PDM-Kategorie == "Einzelteil" OR "Kaufteil": +--- +#### New path - IF Aus Halbzeug == True OR "Neuaufbau" == True: - Path = %PART_TEMPLATE% +>**Spaltenname Impfdatei:** New path - ELSE: - Path = Pfad aus Feld "3D-Modell" ohne Dateiname + -endung +New path = Zielverzeichnis, von dem aus RuleDesigner die Solid Edge-Dateien zum Erstellen des Datensatzes einliest. -2. Ergänzung Wert in Spalte "Filename" der Impfdatei: +Der Pfad ergibt sich durch folgende Logik: - >**Spaltenname Impfdatei:** Filename + IF Datenbank == "Produktiv": + New_path = \\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\02_Bedarfspool\ + ELSE: + New_path = \\ssg.local\freigaben\SIVAS_CAD_EDM\Schulung\Migration\02_Bedarfspool - Filename = Dateiname der Solid Edge-Datei im Ursprungsverzeichnis (siehe Wert in Spalte "Path") - - Der Filename ergibt sich durch folgende Logik: +Wenn User, der migriert, noch keinen Ordner in `\\ssg.local\freigaben\SIVAS_CAD_EDM\Schulung\Migration\02_Bedarfspool` besitzt, soll dieser automatisch beim Klick auf "Migrieren" angelegt werden. - IF PDM-Kategorie == "Baugruppe" OR "Schweissbaugruppe": - Filename = "baugruppe.asm" - - ELSE IF PDM-Kategorie == "Einzelteil" OR "Kaufteil": - IF Aus Halbzeug == True OR Neuaufbau == True: - Filename = "ET_mit_Volumen.par" - - ELSE: - Filename = Dateiname + Dateiendung aus Pfad im Feld "3D-Modell" +--- +#### New Filename -3. Ergänzung Wert in Spalte "New path" der Impfdatei: +New Filename = Dateiname der Solid Edge-Datei im Zielverzeichnis (siehe Wert in Spalte "New path") - >**Spaltenname Impfdatei:** New path +Der Dateiname setzt sich aus dem Wert im Feld "Teilenummer" und der Dateiendung der Solid Edge-Datei, die im Wert des Feldes "3D-Modell" enthalten ist, zusammen. - New path = Zielverzeichnis, von dem aus RuleDesigner die Solid Edge-Dateien zum Erstellen des Datensatzes einliest. - - **Hinweis:** - Im anschließenden Pseudocode gelten die nachfolgend aufgelisteten Umgebungsvariablen. Alle anderen sind Windows-Umgebungsvariablen - - %PRODUKTIV% = \\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\02_Bedarfspool\ - %SCHULUNG% = \\ssg.local\freigaben\SIVAS_CAD_EDM\Schulung\Migration\02_Bedarfspool - - Der Pfad ergibt sich durch folgende Logik: - - IF Datenbank == "Produktiv": - New_path = %PRODUKTIV%\%USERNAME% - ELSE: - New_path = %SCHULUNG% +--- +#### Delete, Document Number, Revision, Project Name, Teamcenter Item Type, Part Type, TC_ImportTime, Last Saved Version, Subject, Category, Keywords - Wenn User, der migriert, noch keinen Ordner in %PRODUKTIV% besitzt, muss dieser automatisch angelegt werden. - *Wann soll das passieren? Bei Programmstart oder bei Klick auf "Migrieren"?* +In der nachfolgenden Tabelle ist aufgelistet, welche Werte die entsprechenden Spalten in der Impfdatei erhalten sollen: -4. Ergänzung Wert in Spalte "New Filename" der Impfdatei: +|Spalte |Wert | +|:--------------------|:----------| +|Delete | "" (leer) | +|Document Number | - | +|Revision | - | +|Project Name | - | +|Teamcenter Item Type | - | +|Part Type | - | +|TC_ImportTime | - | +|Last Saved Version | - | +|Subject | - | +|Category | - | +|Keywords | - | - >**Spaltenname Impfdatei:** New Filename +--- +#### Title - New Filename = Dateiname der Solid Edge-Datei im Zielverzeichnis (siehe Wert in Spalte "New path") +Die Wert in der Spalte "Title" wird wie folgt festgelegt: - Der Dateiname setzt sich aus dem Wert im Feld "Teilenummer" und der Dateiendung der Solid Edge-Datei, die im Wert des Feldes "3D-Modell" enthalten ist, zusammen. + IF PDM-Kategorie == "Baugruppe" OR "Schweissbaugruppe": + Title = Wert aus Feld "Bezeichnung 1" + " - BG" + ELSE: + Title == Wert aus Feld "Bezeichnung 1" -5. Mapping von CheckButton-Werten: - Bei allen Feldern, die als CheckButton vorliegen (z.B. "Halbzeug" und "Halbzeug ohne Sägeliste") muss der Wert "True" (Haken gesetzt) in "Ja" und der Wert "False" (Haken nicht gesetzt) als leerer String "" in die Impfdatei geschrieben werden. +Beispiel: +- **PDM-Kategorie:** + Baugruppe +- **Wert in Feld Bezeichnung 1:** + Rahmen 1 Beladung Schliesser -6. Ergänzung Wert in Spalte "Bezeichnung4" der Impfdatei - In den nachfolgend aufgeführten Fällen muss die Spalte "Bezeichnung4" der Impfdatei mit dem Kürzel "- BG" befüllt werden: +**Resultierender Wert in Spalte "Title":** +Rahmen 1 Beladung Schliesser - BG - IF PDM-Kategorie == "Baugruppe" OR "Schweissbaugruppe": - Bezeichnung4 == "- BG" - ELSE: - Bezeichnung4 == "" +--- +#### Bezeichnung4 -7. Ergänzung Werte in den Spalten "Document Number", "Revision", Project Name, Teamcenter Item Type, Part Type, TC_ImportTime, Last Saved Version, Subject, Category, Keywords +In den nachfolgend aufgeführten Fällen muss die Spalte "Bezeichnung4" der Impfdatei mit dem Kürzel "- BG" befüllt werden: -7. Aufschlüsselung der TOS-Gruppennummer: + IF PDM-Kategorie == "Baugruppe" OR "Schweissbaugruppe": + Bezeichnung4 == "- BG" + ELSE: + Bezeichnung4 == "" - Die Zahlen der TOS-Gruppennummer beschreiben einen Pfad, d.h. die nächste Zahl/Gruppe ist immer das Kind der aktuellen Zahl/Gruppe. Jede Zahl/Gruppe verfügt über ein eigenes RuleDesigner-Feld, das in der Impfliste befüllt werden muss. +--- +#### Author - Nachfolgende Tabelle beschreibt anhand der Gruppennummer 3303, welche Felder (siehe Feldnamen) jeweils welche Werte erhalten müssten: +In der Spalte "Author" soll der Wert aus der Windows-Systemumgebungsvariable `%USERNAME%` eingetragen werden - |Nr. |Feldname |Wert | - |----:|---------------------------|-------------------------| - |3 |TOS-Gruppe | Schönenberger Produkt | - |33 |TOS_Schoenenberger_Produkt | ILS IntraLogistikSystem | - |330 |TOS_ILS | ILS 2.0 | - |3303 |TOS_ILS_2 | Laufprofil 2.0 | +--- +#### StartRevision - Eine Auflistung mit allen Gruppen und deren Werten / Kindern befindet sich in der Datei [TOS-Gruppen.json](../cfg/TOS-Gruppen.json). + IF Wert in Spalte "AktuellerIndex" in "from_siv.csv" == "": + StartRevision = "A" + ELSE: + StartRevision = Wert aus Spalte "AktuellerIndex" in "from_siv.csv" - **Anmerkung:** - Felder, die nicht Teil der angegebenen TOS-Gruppennummer sind, dürfen trotzdem in der Impfdatei vorhanden sein, solange sie keinen Wert aufweisen. Grund: - Das Solid Edge "DataPrepUtility" berücksichtigt beim Schreiben der Paramter in die Solid Edge-Dateien keine leeren Spalten/Werte. +--- +#### Aus Halbzeug -8. Mapping Dispogruppen-Werte +Vor die Impfdatei geschrieben wird, müssen die CheckButton-Werte gemappt werden, siehe Tabelle: - Der festgelegte Wert im Feld "Dispogruppe" muss bis einschließlich " - " gekürzt werden. Beispiel: - "20 - Förderer" ---wird zu---> "Förderer" +|Wert in Feld [Aus Halbzeug](#aus-halbzeug) |Wert in Impfdatei | +|-------------------------------------------|-----------------------------| +|True (Haken gesetzt) |Ja | +|False (Haken nicht gesetzt) |"" (kein Wert) | - **Sonderfall:** - - "60 - Kleinteile" ---wird zu---> "Kleinteil" ("e" am Ende von "Kleinteile" entfällt) +--- +#### Fertigungsart -9. Mapping Dispolaufgruppen-Werte +Bevor die Fertigungsarten in die Impfdatei geschrieben werden, müssen die eingetragenen Werte gemappt werden, siehe Tabelle: - Der festgelegte Wert des Feldes "Dispolaufgruppe" muss bis einschließlich " - " gekürzt werden. Beispiel: - "20 - Intra Logistic System + Alt-HFS" ---wird zu---> "Intra Logistic System + alt-HFS" +|Wert in Feld [Fertigungsart](#fertigungsart) |Wert in Impfdatei | +|---------------------------------------------|-----------------------------| +|3D - 3D drucken |3D-drucken | +|BI - biegen |biegen | +|DR - drehen |drehen | +|EX - extrudieren |extrudieren | +|FR - fräsen |fräsen | +|GI - gießen |gießen | +|LW - laser- und wasserstrahlschneiden |laser-/wasserstrahlschneiden | +|PR - verpressen |verpressen | +|SA - sägen |sägen | +|SN - strangpressen |strangpressen | +|SP - spritzgießen |spritzgießen | +|ST - stanzen |stanzen | +|SW - schweißen |schweißen | + +--- +#### FOS-Gruppe + +Der eingetragene Wert im Feld [FOS-Gruppe](#fos-gruppe) muss als gemappter Wert in die Impfdatei geschrieben werden, siehe rechte Tabellenspalte: + +|Wert in Feld [FOS-Gruppe](#fos-gruppe) |Wert in Impfdatei | +|---------------------------------------|-----------------------------| +|0 - Einzelteil |Einzelteil | +|1 - Baugruppe |Baugruppe | + +--- +#### TOS-Gruppe + +Die Zahlen der TOS-Gruppennummer beschreiben einen Pfad, d.h. die nächste Zahl/Gruppe ist immer das Kind der aktuellen Zahl/Gruppe. Jede Zahl/Gruppe verfügt über ein eigenes RuleDesigner-Feld, das in der Impfliste befüllt werden muss. + +Die nachfolgende Tabelle beschreibt anhand der Gruppennummer 3303, welche Felder (siehe Feldnamen) jeweils welche Werte erhalten müssten: + +|Nr. |Feldname |Wert | +|----:|---------------------------|-------------------------| +|3 |TOS-Gruppe | Schönenberger Produkt | +|33 |TOS_Schoenenberger_Produkt | ILS IntraLogistikSystem | +|330 |TOS_ILS | ILS 2.0 | +|3303 |TOS_ILS_2 | Laufprofil 2.0 | + +Eine Auflistung mit allen Gruppen und deren Werten / Kindern befindet sich in der Datei [TOS-Gruppen.json](../cfg/TOS-Gruppen.json). + +**Anmerkung:** +Felder, die nicht Teil der angegebenen TOS-Gruppennummer sind, dürfen trotzdem in der Impfdatei vorhanden sein, solange sie keinen Wert aufweisen. Grund: +Das Solid Edge "DataPrepUtility" berücksichtigt beim Schreiben der Paramter in die Solid Edge-Dateien keine leeren Spalten/Werte. + +--- +#### Dispogruppe + +Der festgelegte Wert im Feld "Dispogruppe" muss bis einschließlich " - " gekürzt werden. Beispiel: +"20 - Förderer" ---wird zu---> "Förderer" + +**Sonderfall:** +- "60 - Kleinteile" ---wird zu---> "Kleinteil" ("e" am Ende von "Kleinteile" entfällt) + +--- +#### Dispolaufgruppe + +Der festgelegte Wert des Feldes "Dispolaufgruppe" muss bis einschließlich " - " gekürzt werden. Beispiel: +"20 - Intra Logistic System + Alt-HFS" ---wird zu---> "Intra Logistic System + alt-HFS" + +**Sonderfälle** +- "40 - Spinnereikomponenten" ---wird zu---> "Spinnereikomponente" ("n" am Ende von "Spinnereikomponenten" entfällt) +- "20 - Intra Logistic System + Alt-HFS" ---wird zu---> "Intra Logistic System + alt-HFS" ("a" in "alt" wird kleingeschrieben) + +--- +#### ZusaetzlicheInformationen +Die Werte aus den Feldern [Automatische Zusatzinformationen](#automatische-zusatzinformationen) und [Benutzerdefinierte Zusatzinformationen](#benutzerdefinierte-zusatzinformationen) müssen vor dem Eintragen in die Impfdatei zusammengesetzt werden - **Sonderfälle** - - "40 - Spinnereikomponenten" ---wird zu---> "Spinnereikomponente" ("n" am Ende von "Spinnereikomponenten" entfällt) - - "20 - Intra Logistic System + Alt-HFS" ---wird zu---> "Intra Logistic System + alt-HFS" ("a" in "alt" wird kleingeschrieben) ### Tätigkeiten nach der Impfdateierstellung 1. Kopieren des aktuellen Standes der RuleDesigner-Datenbank (nachdem RDX-Prozess ausgeführt wurde). +2. Leerung der aktuellen Maske +## Button "Speichern" ## Button "Zurücksetzen" -## Button "" +Beim Klick auf den Button "Zurücksetzen" soll die Datei "from_siv.csv" zur zugehörigen Teilenummer erneut abgeleitet werden. Hintergrund: Sollte sich in einem Feld der Spalte "SIVAS-Werte" ein Wert befinden, der in Sivas berichtigt werden muss, bevor die Migration durchgeführt werden kann + From 946b71a286d6544a9c9b74cf20fc7c5b9be769b8 Mon Sep 17 00:00:00 2001 From: "s.steuer" Date: Thu, 25 Jan 2024 09:55:24 +0100 Subject: [PATCH 2/3] =?UTF-8?q?Bilder=20und=20GIFs=20f=C3=BCr=20Spezifikat?= =?UTF-8?q?ion=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../3D-model_choosable_file_extensions.jpg | Bin 0 -> 5302 bytes doc/Pictures/Invalid_Characters.jpg | Bin 0 -> 40568 bytes doc/Pictures/Material_message_placeholder.jpg | Bin 0 -> 16827 bytes doc/Pictures/Messagebox_invalid_characters.jpg | Bin 0 -> 9104 bytes doc/Pictures/button_state_disabled.gif | Bin 0 -> 7959 bytes doc/Pictures/button_state_readonly.gif | Bin 0 -> 12260 bytes doc/Pictures/combobox_readonly_vs_disabled.gif | Bin 0 -> 19098 bytes doc/Pictures/combobox_state_disabled.gif | Bin 0 -> 8572 bytes doc/Pictures/combobox_state_readonly.gif | Bin 0 -> 14858 bytes doc/Pictures/default_farbe.jpg | Bin 0 -> 32920 bytes doc/Pictures/default_oberflaeche.jpg | Bin 0 -> 27780 bytes doc/Pictures/default_werkstoff.jpg | Bin 0 -> 19922 bytes doc/Pictures/default_werkstofftyp.jpg | Bin 0 -> 19191 bytes doc/Pictures/entry_state_disabled.gif | Bin 0 -> 7908 bytes doc/Pictures/entry_state_none.gif | Bin 0 -> 6728 bytes doc/Pictures/entry_state_readonly.gif | Bin 0 -> 12025 bytes doc/Pictures/error_aenderungstext.jpg | Bin 0 -> 9312 bytes doc/Pictures/error_bezeichnung.jpg | Bin 0 -> 8722 bytes doc/Pictures/error_fertigungsart.jpeg | Bin 0 -> 6896 bytes doc/Pictures/error_halbzeug_ohne_saegeliste.jpg | Bin 0 -> 11049 bytes doc/Pictures/error_kalkulationsart.jpg | Bin 0 -> 7008 bytes doc/Pictures/error_ruestcode.jpg | Bin 0 -> 8282 bytes doc/Pictures/info_Material_missing.jpg | Bin 0 -> 11587 bytes doc/Pictures/info_ruestcode.jpg | Bin 0 -> 6475 bytes 24 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/Pictures/3D-model_choosable_file_extensions.jpg create mode 100644 doc/Pictures/Invalid_Characters.jpg create mode 100644 doc/Pictures/Material_message_placeholder.jpg create mode 100644 doc/Pictures/Messagebox_invalid_characters.jpg create mode 100644 doc/Pictures/button_state_disabled.gif create mode 100644 doc/Pictures/button_state_readonly.gif create mode 100644 doc/Pictures/combobox_readonly_vs_disabled.gif create mode 100644 doc/Pictures/combobox_state_disabled.gif create mode 100644 doc/Pictures/combobox_state_readonly.gif create mode 100644 doc/Pictures/default_farbe.jpg create mode 100644 doc/Pictures/default_oberflaeche.jpg create mode 100644 doc/Pictures/default_werkstoff.jpg create mode 100644 doc/Pictures/default_werkstofftyp.jpg create mode 100644 doc/Pictures/entry_state_disabled.gif create mode 100644 doc/Pictures/entry_state_none.gif create mode 100644 doc/Pictures/entry_state_readonly.gif create mode 100644 doc/Pictures/error_aenderungstext.jpg create mode 100644 doc/Pictures/error_bezeichnung.jpg create mode 100644 doc/Pictures/error_fertigungsart.jpeg create mode 100644 doc/Pictures/error_halbzeug_ohne_saegeliste.jpg create mode 100644 doc/Pictures/error_kalkulationsart.jpg create mode 100644 doc/Pictures/error_ruestcode.jpg create mode 100644 doc/Pictures/info_Material_missing.jpg create mode 100644 doc/Pictures/info_ruestcode.jpg diff --git a/doc/Pictures/3D-model_choosable_file_extensions.jpg b/doc/Pictures/3D-model_choosable_file_extensions.jpg new file mode 100644 index 0000000000000000000000000000000000000000..314d496fb226d66e9752bd76d785ccc45059ff4f GIT binary patch literal 5302 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 literal 0 HcmV?d00001 diff --git a/doc/Pictures/Invalid_Characters.jpg b/doc/Pictures/Invalid_Characters.jpg new file mode 100644 index 0000000000000000000000000000000000000000..528c191312741c68b25c7d856bf84e4f52b17606 GIT binary patch literal 40568 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 literal 0 HcmV?d00001 diff --git a/doc/Pictures/Material_message_placeholder.jpg b/doc/Pictures/Material_message_placeholder.jpg new file mode 100644 index 0000000000000000000000000000000000000000..28b4fa608cbc63735134688c83922c69f4d4ae1f GIT binary patch literal 16827 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 literal 0 HcmV?d00001 diff --git a/doc/Pictures/button_state_readonly.gif b/doc/Pictures/button_state_readonly.gif new file mode 100644 index 0000000000000000000000000000000000000000..83e45ffad5359d10bb360411f0fd7c8527bce15f GIT binary patch literal 12260 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 adj*oe|6}D#4n9=jeeOd_aVN~}lK3x@WCY#- literal 0 HcmV?d00001 diff --git a/doc/Pictures/combobox_readonly_vs_disabled.gif b/doc/Pictures/combobox_readonly_vs_disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..b9e5237f29bcd463f433a1a54c4d32044de5dfc1 GIT binary patch literal 19098 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 Nsc(q~|2aa%{vT&TJEi~t literal 0 HcmV?d00001 diff --git a/doc/Pictures/combobox_state_disabled.gif b/doc/Pictures/combobox_state_disabled.gif new file mode 100644 index 0000000000000000000000000000000000000000..c9f3337412acbcd520b7718bb3b20f800fda3626 GIT binary patch literal 8572 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 literal 0 HcmV?d00001 diff --git a/doc/Pictures/combobox_state_readonly.gif b/doc/Pictures/combobox_state_readonly.gif new file mode 100644 index 0000000000000000000000000000000000000000..d266a35ce4caae4b74517ef254c5fc6c42fb01f2 GIT binary patch literal 14858 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 literal 0 HcmV?d00001 diff --git a/doc/Pictures/default_farbe.jpg b/doc/Pictures/default_farbe.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2688045a633b77b9a703647522f778d14f70e5aa GIT binary patch literal 32920 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 Ar2qf` literal 0 HcmV?d00001 diff --git a/doc/Pictures/default_werkstoff.jpg b/doc/Pictures/default_werkstoff.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1a4aa9c41a02c9f66a3c041349e5d261b2651ea0 GIT binary patch literal 19922 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

xu* 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 literal 0 HcmV?d00001 diff --git a/doc/Pictures/entry_state_none.gif b/doc/Pictures/entry_state_none.gif new file mode 100644 index 0000000000000000000000000000000000000000..d14f1b7858133ec77e03f188be9b8c3b0328acbb GIT binary patch literal 6728 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 literal 0 HcmV?d00001 diff --git a/doc/Pictures/error_aenderungstext.jpg b/doc/Pictures/error_aenderungstext.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a4dfcb0816252e81c5b3aad77f8ab444f73b96da GIT binary patch literal 9312 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 literal 0 HcmV?d00001 diff --git a/doc/Pictures/error_bezeichnung.jpg b/doc/Pictures/error_bezeichnung.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5dff6575c9da3cc3264556368a2f8e0a3a654cff GIT binary patch literal 8722 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≧c4hP%*h3x1T%lh9iB%(SI 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≥-!h7kZpDV^D+LI1lkm=ec8>bZbJR z5UDYozD)dMpCMBp^5W2}=)ni+Q&0Rk1L+c@C&(M?#}k@W!yjrTgjM$@Zhq>DdtoVj z<8rXB^i>Os zu4Q|Oe%9wgtej5Cot+$T#Q-z?6!2#f>Cy1I&~qjzX<{r&k36tT?*?NVD8 zO_m_y-Or15JuTw+6x#SqV2}niwkjM5+p?W7gW*F9W>8d%$$Z8cLuEAPC*=>%#!}$` z(6)j09MqgW3iE*G9s~!Fph8fqX5SUi5(-$}=o1YLxRr0y#o&Mdum!ZMr=v)OxrPNh z18;vtfO{M~MNSG7=7rGx7i30i*q`a7T}K6ALnobBV?zWuaRAi(Z}Iy7*8Jb~4N;h{ n#Zb{RZTboAyqU@AmTKY<4KIC_%gYFtSK3mX`(XbKiW~ngOq|=a literal 0 HcmV?d00001 diff --git a/doc/Pictures/error_halbzeug_ohne_saegeliste.jpg b/doc/Pictures/error_halbzeug_ohne_saegeliste.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d65605322b45c29e3d19a1835b7464af449a3bea GIT binary patch literal 11049 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%0DXe#`Hc{Y6t@(?ZxU+Z%{sAnwyZ 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 literal 0 HcmV?d00001 diff --git a/doc/Pictures/info_ruestcode.jpg b/doc/Pictures/info_ruestcode.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fbf7d3434d6a1812c0052e01417f1028354617a4 GIT binary patch literal 6475 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 I!N8&a0xr!~@&Et; literal 0 HcmV?d00001 From 544f612cf2c9aa3fad02d58c2413df25b488bf68 Mon Sep 17 00:00:00 2001 From: "s.steuer" Date: Thu, 25 Jan 2024 10:19:44 +0100 Subject: [PATCH 3/3] =?UTF-8?q?Button=20'Durchsuchen'=20unter=20ComboBox?= =?UTF-8?q?=20des=20Feldes=20'3D-Modell'=20verschoben,=20um=20zus=C3=A4tzl?= =?UTF-8?q?iche=20Frame-Column=20einzusparen=20+=20RadioButtons=20beim=20F?= =?UTF-8?q?eld=20Datenbank=20untereinander=20angeordnet,=20um=20zus=C3=A4t?= =?UTF-8?q?zliche=20Frame-Colum=20einzusparen=20+=20Widget-Typ=20bei=20Fel?= =?UTF-8?q?d=20'3D-Modell'=20von=20Entry=20in=20ComboBox=20ge=C3=A4ndert?= =?UTF-8?q?=20+=20Widget-Typ=20bei=20Feld=20'Lebenszyklusstatus'=20von=20R?= =?UTF-8?q?adioButton=20in=20ComboBox=20ge=C3=A4ndert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/GUI-Layout_Entwurf.svg | 2575 +++++++++++++++++++----------------- 1 file changed, 1342 insertions(+), 1233 deletions(-) diff --git a/doc/GUI-Layout_Entwurf.svg b/doc/GUI-Layout_Entwurf.svg index 3ade02a..e322ac3 100644 --- a/doc/GUI-Layout_Entwurf.svg +++ b/doc/GUI-Layout_Entwurf.svg @@ -4,9 +4,9 @@ │ ├──822066216│ ├──822066154│ ├──822064090│ ├──822066216│ ├──822066154│ ├──822064090│ ├──822066216│ ├──822066216FeldSIVAS-WerteÜberschriebene WerteTeilenummerBezeichnung 1Bezeichnung 2MengeneinheitBeschaffungsartHalbzeugHalbzeug ohne SägelisteRüstcodeFertigungsartFOS-GruppeKalkulationsartAllgemeintoleranzDispogruppeDispolaufgruppeErsatz fürErsetzt durchHerstellerHersteller TeilenummerTOS-GruppeWerkstofftypOberflächeFarbeWerkstoffdiskrepanzMaterialZurücksetzenMigrierenSpeichernBenutzerdefinierteZusatzinformationenAutomatischeZusatzinformationenDatenbankProduktivSchulungNeuaufbauPDM-KategorieAus Halbzeug3D-ModellDurchsuchen...LebenszyklusstatusPrototypSerieHalbzeugnummerHalbzeuglängeHalbzeugoberflächeHalbzeugfarbeVersionÄnderungsindexÄnderungstextBezeichnung 1Bezeichnung 2MengeneinheitBeschaffungsartHalbzeugHalbzeug ohne SägelisteRüstcodeFertigungsartFOS-GruppeKalkulationsartAllgemeintoleranzDispogruppeDispolaufgruppeErsatz fürErsetzt durchHerstellerHersteller TeilenummerTOS-GruppeWerkstofftypOberflächeFarbeWerkstoffdiskrepanzMaterialZurücksetzenMigrierenSpeichernBenutzerdefinierteZusatzinformationenAutomatischeZusatzinformationenVersionÄnderungsindexÄnderungstextFreigabevermerk + id="text7">FreigabevermerkTeilenummerFeldSIVAS-WerteÜberschriebene WerteNeuaufbauAus HalbzeugHalbzeugfarbeHalbzeugoberflächeHalbzeuglängeHalbzeugnummerPDM-KategorieLebenszyklusstatusDatenbank3D-ModellDurchsuchen...DatenbankProduktivSchulung