wie kann ich in der Formularmaske, wenn ich einen Datensatz hinzufüge, nur bestimmte Unterfelder angezeigt bekommen, wenn ich eine Vorauswahl treffe?
Wir wollen unsere Möbel inventarisieren. Möbelstücke (Schreibtische, Stehtische, Stühle, Schränke in unterschieldichen Formen, Farben und Abmessungen), die schon in den Büros stehen sollen per Excel-Tabelle in OTRS über die Import/Export-Funktion in die CMDB eingefügt werden. Neubestellte Möbel werden manuell über CMDB --> Neu hinzugefügt.
Meine Idee ist, wie beim Anlegen eines Tickets eine Queue auswähle und dadurch bestimmte dynamische Felder ein- bzw. ausgeblendet werden, dies auch für dieses "CMDB-Neu-Formulars" zu haben.
Da es für jedes Möbelstück, wie oben beschrieben in zig Formen, Farben und Abmessungen vorhanden ist, dachte ich, man kann die Auswahl, wie bei dynamischen Feldern im Ticketformular, filtern.
Zum einen soll, wenn ich im Feld Möbelgruppe "Schreibtisch" ausgewählt habe, im Feld Möbeltyp nur noch die Schreibtischtypen/-formen angezeigt werden.
Analog zum Standort, wenn ich diesen auswähle nur noch die dazugehörigen Gebäude im nächsten Auswahlfeld wählbar sind.
Hier mein erster Versuch, jedoch gibt es keine Beziehung zwischen Standort und Gebäude sowie Möbelgruppe und Möbeltyp.
(Die abhängigen dynamischen Felder sind erstellt)
Der Code habe ich aus der Klassen-Definition der Config Item Verwaltung kopiert:
Code: Select all
[
{
Key => 'Lfd_Nr',
Name => 'Laufende Nummer',
Searchable => 1,
Input => {
Type => 'Text',
Size => 6,
MaxLength => 6,
},
},
{
Key => 'Inventarnummer',
Name => 'Inventarnummer',
Searchable => 1,
Input => {
Type => 'Text',
Size => 16,
MaxLength => 16,
},
},
{
Key => 'Hersteller',
Name => 'Hersteller',
Searchable => 1,
Input => {
Type => 'Text',
Size => 30,
MaxLength => 30,
},
},
{
Key => 'Moebelgruppe',
Name => 'Möbelgruppe',
Searchable => 1,
Input => {
Type => 'DynamicField',
Name => 'Moebelgruppe',
Translation => 1,
Required => 1,
},
},
{
Key => 'Moebeltyp',
Name => 'Möbeltyp',
Searchable => 1,
Input => {
Type => 'DynamicField',
Name => 'Moebeltyp',
Translation => 1,
},
},
{
Key => 'FarbeFronten',
Name => 'Farbe (Platten, Korpus, Fronten)',
Searchable => 1,
Input => {
Type => 'GeneralCatalog',
Class => 'ITSM::ConfigItem::Moebel::FarbeFronten',
Translation => 1,
},
},
{
Key => 'FarbeSockel',
Name => 'Farbe (Gestelle, Sockel)',
Searchable => 1,
Input => {
Type => 'GeneralCatalog',
Class => 'ITSM::ConfigItem::Moebel::FarbeSockel',
Translation => 1,
},
},
{
Key => 'Status',
Name => 'Status',
Searchable => 1,
Input => {
Type => 'GeneralCatalog',
Class => 'ITSM::ConfigItem::Moebel::Status',
Translation => 1,
Required => 1,
},
},
{
Key => 'Standort',
Name => 'Standort',
Searchable => 1,
Input => {
Type => 'DynamicField',
Name => 'Standort',
Translation => 1,
Required => 1,
},
},
{
Key => 'Gebaeude',
Name => 'Gebäude',
Searchable => 1,
Input => {
Type => 'DynamicField',
Name => 'Gebaeude',
Translation => 1,
Required => 1,
},
},
{
Key => 'Beschaffungsdatum',
Name => 'Beschaffungsdatum',
Searchable => 1,
Input => {
Type => 'Date',
},
},
];