Sichtbarkeit von Extrafeldern in Verträgen einstellen

Usecase:
Wir nutzen Verträge die in verschiedene Kategorien einsortiert sind. Dabei benötigen wir je nach Kategorie verschiedene Extrainformationen zu einem Vertrag. Zum Beispiel haben wir Wartungsverträge für Hardware und benötigen hier unter anderem eine Seriennummer. Bei anderen Verträgen benötigen wir wiederrum keine Seriennummer, dafür z.B. eine IMEI. Was ich also einstellen möchte, ist ein Extrafeld “Vertragsart” mit einem voreingestelltem Drop-Down-Menü der zur Verfügung stehenden Vertragsarten, um dann je nach Wert dieses Extrafeldes, die anderen Extrafelder ein- und auszublenden.

Config:
Ich habe also 2 Extrafelder für einen Vertrag eingerichtet und als Wert für mein Vertragsart Feld folgendes eingestellt:
1, Vertragstyp A
2, Vertragstyp B
Damit kann ich nun eine Vertragsart auswählen. Als nächstes habe ich als ein weiteres Extrafeld “Serial” erstellt . Um nun die Sichtbarkeit davon zu testen habe ich unter “Sichtbarkeit” folgendes eingetragen:
(($objectoffield->array_options['options_dns_contract_type']==1) ? 1 : 0)

Also wenn, das Extrafeld “ContractType” den Wert 1 hat soll die Sichtbarkeit 1 sein, ansonsten 0.

Problem:
Da das Input Feld “Sichtbarkeit” super kurz ist hab ich als Workaround um den Ausdruck zu erstellen das Feld “Berechnetes Feld” hergenommen und dann zum Testen einfach den Inhalt in “Sichtbarkeit” reinkopiert. Einfach damit ich sehe was ich schreibe. Das kuriose ist, das Extrafeld “Serial” wird mir korrekt nach dem oben stehenden Ausdruck ausgegeben oder nicht, je nachdem was für einen Wert “ContractType” hat, solange irgendetwas, dabei ist egal was, in dem Feld “Berechneter Wert” von dem Extrafeld “Serial” eingetragen ist. Sobald ich diese Feld leerlasse wird mit das Feld nie ausgegen. Da ich aber natürlich eine Seriennummer in das Feld eintragen muss, bringt mir das so nichts. Weiß jemand woran das liegt?

Bonusfrage:
Ich muss natürlich auch in der Lage sein diese neuen Extrafelder in den Verträgen zu durchsuchen. Das ist standardmäßig aber nicht möglich. Kann ich das irgendwo einstellen?

Noch eine kleine Erweiterung dazu, die mich jetzt endgültig von einem Bug ausgehen lässt:

Ich habe ein drittes Feld angelegt mit den gleichen Einstellungen wie “Serial” nur das ich bei der Vertragsart “Vertragstyp B” ausschlaggebend für die Auswertung der Sichtbarkeit angegeben habe.

Funktioniert auch nur, wenn ich hier etwas in das Feld “Berechnetes Feld” eintrage. Allerdings funktioniert dann das Feld “Serial” wie gewünscht, wenn in meinem 3. Extrafeld - also vollkommen unabhängig vom Feld Serial -, etwas in das Feld “Berechnetes Feld” eingetragen wird und im Extrafeld “Serial” nicht.