Home Forum Nuclos Konfiguration Maskenlayouts ValueList Provider – Combobox Unterformular

Ansicht von 4 Beiträgen - 1 bis 4 (von insgesamt 4)
  • Autor
    Beiträge
  • #6968
    Ferdinand Hackl
    Teilnehmer

    Hallo,

    ich habe folgende Situation. Ich habe bei einem Kunden verschiedene Standorte durch eine Unterformular definiert. Jetzt gibt es die Anforderung dass in einem zweiten Unterformular verschiedene Ansprechpartner für die Standorte definert werden.

    Ich hab mir gedacht ich kann im Unterformular der Ansprechpartner eine Combobox mit einer ValueListe verknüpfern und ich bekomme dann nur mehr die Standorte zur Auswahl welche ich für diesen Kunden angelegt haben. Soweit die Überlegung.

    Wenn ich aber nun die Valueliste erstelle und diese dem Unterformular Ansprechpartner zuordne zeigt er mir alle Standorte – auch die der anderen Kunden an. Jetzt suche ich nach einem Weg dass ich an die ValueListe einen Paramter übergebe welche den Kunden eindeutig indentifiziert. Ich hab als Referenz für beide Unterformulare die INTID des Kunden genommen. Nur wie bekomme ich jetzt Nuclos dazu dass sobald ich den Kundendatensatz öffne an die Valueliste die INTID des Kunden als Parameter übergeben wird?

    Oder gibt es hierfür eine andere Lösung wie ich im Unterformular Ansprechpartner nur jene Standorte zur Auswahl bekomme welche ich vorher im Unterformlar Standorte eingegeben habe.

    vielen Dank für eure Hilfe
    Ferdinand

    #6970
    Markus Glitzner
    Teilnehmer

    Hallo!

    Möglichkeit 1:
    Beim UF Ansprechpartner als übergeordnetes UF Standorte angeben, dann brauchst du überhaupt keinen VLP, nur eine Referenz vom Ansprechpartner zum Standort.

    Möglichkeit 2:
    Wenn Ansprechpartner direkt als UF vom Kunden aufscheinen sollen, dann brauchst du einen VLP der dir nur die Standorte das aktuellen Kunden anzeigt. D.h. du benötigst im VLP einen Parameter nach dem Schema ‚WHERE INTID_KUNDE=$intid‘. Bin mir aber nicht sicher, wann der VPL dann aktualisiert wird. Hab hier auch schon mal herumprobiert aber keine so richtig funktionierende Lösung gefunden. Ob es mittlerweile geht weis ich nicht. Ich würde jedenfalls die 1. Variante vorziehen.

    Gruß
    Hugo

    #6972
    Ramin Goettlich
    Teilnehmer

    > Nur wie bekomme ich jetzt Nuclos dazu dass sobald ich den Kundendatensatz
    > öffne an die Valueliste die INTID des Kunden als Parameter übergeben wird?

    Das geht leider nur mit einem Trick. Da sich die INTID nicht einblenden lässt braucht man:
    a) Entweder ein zusätzliches Attribut, dass beim Speichern auf die INTID gesetzt wird.
    b) oder ein anderes eindeutiges Attribut (Z.B. der Systemidentifizierer).
    c) Auf dieses Feld legt man dann die „Werteliste aktualisieren“ LayoutML-Regel
    d) Die VLP-Datenquelle sieht dann bspw. so aus:

    SELECT
    T1."intid" "intid",
    T1."strstandortname" "Anzeige"
    FROM
    t_eo_standort T1,
    t_eo_kunde T2
    WHERE
    T1."intid_strkunde" = T2."intid"
    AND
    (
    T2."strnuclossystemid" = '$kunde'
    )

    Aktualisiert wird der VLP auf diese Weise nur beim Laden der Maske. Fügt man also einen neuen Standort hinzu, wird der erst in der VLP beim Ansprechpartner sichtbar, nachdem der Kunde gespeichert wurde.

    #6974
    Ferdinand Hackl
    Teilnehmer

    Danke für den Hinweis mit dem zusätzlichen Attribut. Hat super funktioniert
    Ich habe eine API Regel erstellt die beim Speichern den Wert setzt.

    Man sollte noch beachten das INTID vom Typ LONG ist und man Attribut vom Typ INT aber nicht vom Typ LONG anlegen kann und man den Wert mittels

    Integer i = (int) (long) k.getId();

    umwandeln muss.

Ansicht von 4 Beiträgen - 1 bis 4 (von insgesamt 4)