Files
CreoMigrate/doc/spezifikation.md
T

72 KiB

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. 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.
  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)

Baugruppennummer

Widgets: Entry
Typ 1: Entry
Zulässiger Datentyp: Integer
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 (die zusammen mit den Stücklistenpositionen) migriert werden soll.

Funktionsweise
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 kopiert werden. Die Stücklistenstruktur der Teilenummer soll dann als Treeview abgebildet werden.

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: Wird nicht in Impfdatei berücksichtigt



Teilenummer

Pflichtfeld: Ja, immer


Spalte 2: SIVAS-Werte

Widget-Typ: Entry
state: readonly

Wert: Aus Spalte "Teilenummer" in "from_siv.csv"

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


Migration

Spaltenname Impfdatei: Teilenummer



Datenbank

Pflichtfeld: Ja, immer


Spalte 3: Überschriebene Werte

Widget:
Typ: RadioButton Werte: Produktiv, Schulung Defaultwert: Produktiv

Die Werte steuern das Zielverzeichnis (Spalte "New Path" in Impfdatei), aus dem RuleDesigner die CAD-Modelle zur Datensatzerstellung einliest.

Migration

Spaltenname Impfdatei: keine eigene Spalte

Wird zur Definierung des Wertes in der Spalte "New Path" benötigt, siehe Tätigkeiten Impfdateierstellung - New Path



PDM-Kategorie

Pflichtfeld: Ja, immer


Spalte 3: Überschriebene Werte

Widget-Typ: ComboBox
Werte: Sektion "Kategorien" in Allgemein.cfg
Defaultwert: Leer -> Kategoriefestlegung kann nicht automatisch erfolgen
state: readonly

Aus ComboBox wählt User die RuleDesigner-Kategorie aus, der die Teilenummer zugeordnet werden soll.


Migration

Spaltenname Impfdatei: KategorieNE



Neuaufbau

Pflichtfeld: Nein


Widget:
Typ: CheckButton
Defaultwert: Haken nicht gesetzt

Logik, die steuert, welcher state im CheckButton gilt und welcher Wert bei state = disabled gilt:

IF PDM-Kategorie != "Einzelteil" OR "Kaufteil":
    state = disabled
    Wert = False (Haken nicht gesetzt)
ELSE:
    state = keiner

Migration

Spaltenname Impfdatei: Keine eigene Spalte

Haken in CheckButton definiert je nach Situation den Pfad zum 3D-Modell. Dies ist im Feld 3D-Modell 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:

IF PDM-Kategorie == "Einzelteil":
    state = keiner
ELSE:
    state = disabled
    Wert = False (Haken nicht gesetzt)

Migration

Spaltenname Impfdatei: HalbzeugInternAngabe

  • 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

  • Haken in CheckButton definiert je nach Situation den Pfad zum 3D-Modell. Dies ist im Feld 3D-Modell 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
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

Pflichtfeld: Ja, immer


Widget:
Typ: RadioButton
Werte: Prototyp, Serie
Defaultwert: Keiner


Migration

Spaltenname Impfdatei: Serien-Status



3D-Modell

Pflichtfeld: Ja, immer


Widgets:
Typen: ComboBox, Button

Beispiel:

Modellsuche

Auswählbare Dateitypen bei Klick auf Button "Durchsuchen":
Es sollen ausschließlich .par oder .asm-Dateien auswählbar sein:
choosable_file_extensions

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: keine eigene Spalte



Bezeichnung 1

Pflichtfeld: Ja, immer


Spalte 2: SIVAS-Werte

Widget:
Typ: Entry
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:

    • Leerzeichen vor (und ggf. nach) "kpl", z.B. " kpl " ; " kpl"
    • Satzzeichen nach (und ggf. vor) "kpl", z.B. "kpl." ; ", KPL." ; " kpl,"

    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


Spalte 3: Überschriebene Werte

Widget
Typ: Entry
Defaultwert: "" (leer)

Logik, die bestimmt, wie viele Zeichen in Entry eingetragen werden dürfen:

IF PDM-Kategorie == "Baugruppe" OR "Schweissbaugruppe":
    Längenbeschränkung = 45 Zeichen
ELSE:
    Längenbeschränkung = 50 Zeichen

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

Hinweis:
GIF dient nur zur kurzen Veranschaulichung, wie der Platzhaltertext aussehen könnte und wurde (mit abgewandeltem Text) durch Code aus folgender Stackoverflow-Antwort erstellt -> muss ggf. angepasst werden, da in der Antwort kein ttk verwendet wurde!


Migration

Spaltenname in Impfdatei: Bezeichnung2



Bezeichnung 2

Pflichtfeld: Nein


Spalte 2: SIVAS-Werte

Widget: Typ: Entry
state: readonly

Wert: Aus Spalte "Bezeichnung2" in "from_siv.csv"

Feld dient lediglich zur informativen Darstellung des Wertes aus dem Sivas-Feld "Bezeichnung2".


Migration

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)



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

      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



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



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 "Einzelteil" hängt die Allgemeintoleranz von der Fertigungsart ab. In der nachfolgenden Tabelle ist aufgelistet, in welcher Sektion der Datei Fertigungsarten.cfg die Allgemeintoleranzwerte definiert sind, die bei den jeweiligen Fertigungsarten in der ComboBox auswählbar sein sollen:

    Wert im Feld Fertigungsart Sektion in 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 "Einzelteil" soll abhängig von der gewählten Fertigungsart automatisch eine vordefinierte Allgemeintoleranzklasse eingetragen werden. Die entsprechenden Defaultwerte sind der rechten Tabellenspalte zu entnehmen:

    Wert im Feld 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: Entry
state: disabled

Wert: Aus Spalte "FosGruppe" 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 == "Kaufteil":
          Dropdownwerte = Sektion "FOS_Gruppe" in Allgemein.cfg
          state = readonly
    
      ELSE:
          Dropdownwerte = None (Keine)
          state = disabled
    

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: FOS-GruppeNE



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



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



Mengeneinheit

Pflichtfeld: Ja, immer


Spalte 2: SIVAS-Werte

Widget:
Typ: Entry
Read only: Ja

Daten:
Spaltenname in "from_siv.csv": Mengeneinheit

Aufgaben beim Einlesen des Wertes aus "from_siv.csv":

  1. Es muss der Wert ab " - " entfernt werden. Beispiel:
    "Stck - Stück" ---wird zu---> "Stck"

  2. Nach Entfernung muss das Kürzel in das Entry-Feld eingetragen werden


Spalte 3: Überschriebene Werte

Widget-Typ: ComboBox
Read only: Ja
Defaultwert: Keiner (leer)

Auswählbare Dropdownwerte:

IF Rüstcode == "SRC Standard Rüstcode" OR "Trümmerbaugruppe":
    Dropdownwerte = "Stck"
ELSE IF Rüstcode == "HZS Halbzeuge Sägeteile":
    IF PDM-Kategorie == "Einzelteil" OR "Kaufteil":
        Dropdownwerte = alle Werte der Sektion "EinheitAusw" aus Allgemein.cfg
    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



Halbzeug


Spalte 2: SIVAS-Werte

Widget:
Typ: CheckButton
Read only: Ja

Daten:
Spaltenname in "from_siv.csv": Halbzeug

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:
Typ: CheckButton
Defaultwert: Identisch wie in Spalte "SIVAS-Werte"

Fallabhängiger Schreibschutz:

IF PDM-Kategorie == "Baugruppe" (OR "Normteil"):
    Read only = True
ELSE:
    Read only = False

Migration

Spaltenname Impfdatei: Halbzeug

Beim Erstellen der Impfdatei müssen die CheckButton-Werte gemappt werden (siehe Tätigkeiten Impfdateierstellung)



TOS-Gruppe


Spalte 2: SIVAS-Werte

Widget:
Typ: Entry
Read only: Ja

Daten:
Spaltenname in "from_siv.csv": TOS_Gruppe

Im Entry-Feld muss der Spaltenwert "TOS_Gruppe" aus "from_siv.csv" eingetragen werden


Spalte 3: Überschriebene Werte

Widget-Typ: Entry
Read only: Nein

Defaultwert:

IF TOS-Gruppe in Spalte "SIVAS-Werte" == "":
    Defaultwert == 6
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)



Dispogruppe


Spalte 2: SIVAS-Werte

Widget:
Typ: Entry
Read only: Ja

Daten:
Spaltenname in "from_siv.csv": Dispogruppe

Im Entry-Feld muss der Spaltenwert "Dispogruppe" aus "from_siv.csv" eingetragen werden

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
Werte: siehe Kommentar unten. Ansonsten Schlüssel der Sektion "Dispogruppe" in Allgemein.cfg
Defaultwert: Keiner (leer)

Es fehlen aktuell in einer der .cfg-Dateien die SIVAS-Werte für die Dispogruppen vor dem Mapping, falls das Mapping wie im Kommentar oben beschrieben erst bei Erstellung der Impfdatei erfolgen soll

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

Bei der Erstellung der Impfdatei muss ein Mapping der Dispogruppen durchgeführt werden (siehe Tätigkeiten Impfdateierstellung)



Dispolaufgruppe


Spalte 2: SIVAS-Werte

Widget:
Typ: Entry
Read only: Ja

Im Entry-Feld muss der Spaltenwert "Dispolaufgruppe" aus "from_siv.csv" eingetragen werden.

Siehe Kommentar bei Feld "Dispogruppe"


Spalte 3: Überschriebene Werte

Widget-Typ: ComboBox
Read only: Ja
Werte: siehe Kommentar unten. Ansonsten Schlüssel der Sektion "Dispolaufgruppe" in Allgemein.cfg
Defaultwert: Keiner (leer)

Es fehlen aktuell in einer der .cfg-Dateien die SIVAS-Werte für die Dispolaufgruppen vor dem Mapping, falls das Mapping wie im Kommentar des Feldes "Dispogruppe" beschrieben erst bei Erstellung der Impfdatei erfolgen soll

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

Vor der Erstellung der Impfdatei muss geprüft werden, ob eine Dispolaufgruppe vorliegt (siehe Tätigkeiten vor Impfdateierstellung)

Bei der Erstellung der Impfdatei muss ein Mapping der Dispolaufgruppen durchgeführt werden (siehe Tätigkeiten Impfdateierstellung)



Ersatz für


Spalte 2: SIVAS-Werte

Widget: Typ: Entry
Read only: Ja

Daten:
Spaltenname in "from_siv.csv": ErsatzFuer

In diesem Feld soll informativ der Spaltenwert "ErsatzFuer" aus "from_siv.csv" eingetragen werden.

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)



Ersetzt durch


Spalte 2: SIVAS-Werte

Widget: Typ: Entry
Read only: Ja

Daten:
Spaltenname in "from_siv.csv": ErsetztDurch

In diesem Feld soll informativ der Spaltenwert "ErsetztDurch" aus "from_siv.csv" eingetragen werden.

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)



Hersteller


Spalte 2: SIVAS-Werte

Widget: Typ: Entry
Read only: Ja

Daten:
Spaltenname in "from_siv.csv": Hersteller

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
Defaultwert: Keiner (leer)

Fallabhängiger Schreibschutz:

IF PDM-Kategorie == "Kaufteil":
    Read only = False
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)



Hersteller Teilenummer


Spalte 2: SIVAS-Werte

Widget: Typ: Entry
Read only: Ja

Daten:
Spaltenname in "from_siv.csv": HerstellerTeilenummer

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
Defaultwert: Keiner (leer)

Fallabhängiger Schreibschutz:

IF PDM-Kategorie == "Kaufteil":
    Read only = False
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)



Werkstoffdiskrepanz

Pflichtfeld: Nein

Spalte 3: Überschriebene Werte

Widget-Typ: CheckButton
Defaultwert: False (Haken nicht gesetzt)

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 existiert. Wenn nicht, soll eine Info-Messagebox erscheinen (vor Klick auf "Migrieren"):

    Material_fehlend

    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

    Wenn nein, soll stattdessen der Wert des Objekt-Keys "Message" als Platzhalter in rot eingetragen werden:

    Individual_material_selection

Auswählbare Werte in Dropdown: Sektion "Werkstofftyp" in 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)



Material

Logik, die steuert, wann es sich um ein Pflichtfeld handelt:

Wie bei Feld 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

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 existiert. Wenn nicht, soll nichts passieren (Info-Messagebox wird bereits im Feld 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

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

Logik, die steuert, welche Werte in der ComboBox auswählbar sind:

Je nachdem, welcher Werkstofftyp ausgewählt ist, müssen die Werte aus einer der nachfolgend aufgelisteten Sektionen in der cfg-Datei 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)



Oberfläche

Logik, die steuert, wann es sich um ein Pflichtfeld handelt:

Wie bei Feld Werkstofftyp


Spalte 3: Überschriebene Werte

Widget-Typ: ComboBox

Logik, die steuert, wann ComboBox disabled ist:

Wie bei Feld 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 existiert. Wenn nicht, soll nichts passieren (Info-Messagebox wird bereits im Feld 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

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 ausgewählt ist, müssen die Werte aus einer der nachfolgend aufgelisteten Sektionen in der cfg-Datei 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 existiert. Wenn nicht, soll nichts passieren (Info-Messagebox wird bereits im Feld 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

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 ausgewählt ist, müssen die Werte aus einer der nachfolgend aufgelisteten Sektionen in der cfg-Datei 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)



Ä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 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



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

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



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 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

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


Migration

Spaltenname Impfdatei: keine eigene Spalte -> Wird zur Definierung des Wertes in der Spalte "ZusaetzlicheInformationen" benötigt, siehe Tätigkeiten 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.

Feldprüfungen

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 in Sektion "Settings" unter dem Key "InvalidCharacters" aufgelistet:

    invalid_characters

    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:

    messagebox_invalid_characters


Bezeichnung 1

Wenn die Anzahl der Zeichen im Feld 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


Halbzeug ohne Sägeliste

Wenn das Feld Rüstcode den Wert "SRC Standard Rüstcode" aufweist und das Feld Halbzeug ohne Sägeliste den Wert "Sägeliste nicht benötigt" besitzt, muss eine ERROR-Messagebox ausgegeben werden, z.B.:

messagebox_halbzeug_ohne_saegeliste


Ruestcode

Wenn die PDM-Kategorie != "Baugruppe" ist und im Feld Rüstcode kein Wert eingetragen ist, muss eine Error-Messagebox erscheinen, z.B.:

messagebox_ruestcode


Fertigungsart

Tritt eine der nachfolgenden Kombinationen auf, muss eine ERROR-Messagebox erscheinen:

ERROR-Messagebox:

error_fertigungsart


FOS-Gruppe

Tritt eine der nachfolgenden Kombinationen auf, muss eine ERROR-Messagebox erscheinen:

ERROR-Messagebox:

error_fosgruppe


Kalkulationsart

Tritt eine der nachfolgenden Kombinationen auf, muss eine ERROR-Messagebox erscheinen:

ERROR-Messagebox:

error_kalkulationsart


Werkstofftyp

Wenn der eingetragene Wert nicht in Sektion "Werkstofftyp" der cfg-Datei 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 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 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

Tätigkeiten im Rahmen der Impfdateierstellung

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.

Spaltenbefüllungen:

Path

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.

Der Wert in der Spalte "Path" ergibt sich, indem der Wert aus dem Feld 3D-Modell um nachfolgende Elemente verkürzt wird:

  • den Dateinamen
  • die Dateiendung
  • den Backslash vor dem Dateinamen

Beispiel:
Wert in 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


Filename

Filename = Dateiname der Solid Edge-Datei im Ursprungsverzeichnis

Der Wert in der Spalte Filename ergibt sich, indem der Wert aus dem Feld 3D-Modell bis zum Backslash vor dem Dateinamen gekürzt wird.

Beispiel:
Wert in 3D-Modell (vor Verkürzung): \\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\01_Rohdatenpool\4er\400000194.par
Resultierender Wert in Spalte "Filename": 400000194.par


New path

Spaltenname Impfdatei: New path

New path = Zielverzeichnis, von dem aus RuleDesigner die Solid Edge-Dateien zum Erstellen des Datensatzes einliest.

Der Pfad ergibt sich durch folgende Logik:

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

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.


New Filename

New Filename = Dateiname der Solid Edge-Datei im Zielverzeichnis (siehe Wert in Spalte "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.


Delete, Document Number, Revision, Project Name, Teamcenter Item Type, Part Type, TC_ImportTime, Last Saved Version, Subject, Category, Keywords

In der nachfolgenden Tabelle ist aufgelistet, welche Werte die entsprechenden Spalten in der Impfdatei erhalten sollen:

Spalte Wert
Delete "" (leer)
Document Number -
Revision -
Project Name -
Teamcenter Item Type -
Part Type -
TC_ImportTime -
Last Saved Version -
Subject -
Category -
Keywords -

Title

Die Wert in der Spalte "Title" wird wie folgt festgelegt:

 IF PDM-Kategorie == "Baugruppe" OR "Schweissbaugruppe":
     Title = Wert aus Feld "Bezeichnung 1" + " - BG"
 ELSE:
     Title == Wert aus Feld "Bezeichnung 1"

Beispiel:

  • PDM-Kategorie:
    Baugruppe
  • Wert in Feld Bezeichnung 1:
    Rahmen 1 Beladung Schliesser

Resultierender Wert in Spalte "Title":
Rahmen 1 Beladung Schliesser - BG


Bezeichnung4

In den nachfolgend aufgeführten Fällen muss die Spalte "Bezeichnung4" der Impfdatei mit dem Kürzel "- BG" befüllt werden:

 IF PDM-Kategorie == "Baugruppe" OR "Schweissbaugruppe":
     Bezeichnung4 == "- BG"
 ELSE:
     Bezeichnung4 == ""

Author

In der Spalte "Author" soll der Wert aus der Windows-Systemumgebungsvariable %USERNAME% eingetragen werden


StartRevision

IF Wert in Spalte "AktuellerIndex" in "from_siv.csv" == "":
    StartRevision = "A"
ELSE:
    StartRevision = Wert aus Spalte "AktuellerIndex" in "from_siv.csv"

Aus Halbzeug

Vor die Impfdatei geschrieben wird, müssen die CheckButton-Werte gemappt werden, siehe Tabelle:

Wert in Feld Aus Halbzeug Wert in Impfdatei
True (Haken gesetzt) Ja
False (Haken nicht gesetzt) "" (kein Wert)

Fertigungsart

Bevor die Fertigungsarten in die Impfdatei geschrieben werden, müssen die eingetragenen Werte gemappt werden, siehe Tabelle:

Wert in Feld 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 muss als gemappter Wert in die Impfdatei geschrieben werden, siehe rechte Tabellenspalte:

Wert in Feld 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.

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 und Benutzerdefinierte Zusatzinformationen müssen vor dem Eintragen in die Impfdatei zusammengesetzt werden

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"

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