Home › Forum › Nuclos Konfiguration › Businessprozesse › Mit Layoutregel Unterformular aktualisieren
- Dieses Thema hat 16 Antworten und 3 Teilnehmer, und wurde zuletzt aktualisiert vor 12 Jahre von
Carsten Hof.
-
AutorBeiträge
-
28 Januar 2011 um 20:16 Uhr #3137
Carsten Hof
TeilnehmerHallo,
ich würde gerne eine Layoutregel auf ein Feld in einem Unterformular anwenden. Diese soll beim Ereignis „Wenn der Wert sich ändert“ keinen Valuelistprovider, sondern eine dynamische Entität aktualisieren. Gibt es sowas? Oder wie würde man soetwas angehen?
Um es konkreter zu machen: Ich habe ein Unterformular, welches eine Spalte „Eigenschaft“ und eine Spalte „Wert“ besitzt. Außerdem existiert unabhängig davon eine Entität, in der für die einzelnen Eigenschaften Defaultwerte hinterlegt sind. Diese sind jedoch nicht eindeutig, sondern es gibt mehrere Defaultwerte für eine Eigenschaft. Ich will mir nun bei Auswahl einer Eigenschaft im Unterformular alle Defaultwerte anzeigen lassen, die zu der Eigenschaft gehören. Die Anzeige muss dabei eine Tabelle sein, damit ich unter den möglichen Werten anhand der anderen Angaben den richtigen auswählen kann.
Ist der Weg über die dynamische Entität überhaupt richtig?Vielen Dank und liebe Grüße
Bettina Sieber29 Januar 2011 um 04:26 Uhr #3139Jan Giebels
TeilnehmerIch würde das eher als Value List Provider ausführen und als ID die Eigenschaft mitgeben. Dazu eine Layoutregel, die den VLP aktualisiert, wenn sich die Eigenschaft ändert und beim Wert hat man alle möglichen Defaultwerte zur Verfügung. Spalte Wert im Subform als combobox anlegen und VLP hinterlegen.
31 Januar 2011 um 12:15 Uhr #3140Carsten Hof
TeilnehmerDanke für die Antwort.
Genau so hatte ich es zuerst umgesetzt. Das Problem daran ist, dass man die Information mehrerer Spalten in der Entität der Defaultwerte braucht, um entscheiden zu können, welchen Wert man nehmen muss. Teilweise sind das auch Kommentarfelder, also Felder mit beliebiger Textlänge. Das krieg ich unmöglich alles in einem Feld angezeigt.Weitere Vorschläge sind also nach wie vor herzlich willkommen 🙂
Viele Grüße
Bettina Sieber31 Januar 2011 um 14:55 Uhr #3143Jan Giebels
TeilnehmerDazu muss meiner Ansicht nach, das SQL vom VLP entsprechend geändert werden. Dann steht zwar nicht mehr der clicki-clacki Editor zur Verfügung, kann aber auch beliebiege Concatenations verwenden und sich so die Anzeige in der Drop-Down list zusammenbasteln.
7 Februar 2011 um 13:59 Uhr #3165Claudia Mangstl
TeilnehmerHallo Frau Sieber,
ein interessantes Thema. Im Grunde müssten auch einer Dynamischen Entität Parameter übergeben werden können. Diese würden dann, wie bei den ValuelistProvidern, im Layout angesprochen werden und das UF entsprechend aktualisiert werden.
Ich habe diese Anforderung als Feature Request mit aufgenommen.Viele Grüße,
Claudia M.7 Februar 2011 um 20:13 Uhr #3167Carsten Hof
TeilnehmerHallo,
erstmal vielen Dank für die Antworten.
@Claudia M.:
Das klingt gut. Ja genau, die Valuelistprovider haben mich auf die Idee gebracht.@Code-WorX:
Genau den Weg werd ich dann zuerst mal versuchen. Schaut zwar hässlich aus, aber besser als garnichts.Viele Grüße,
Bettina Sieber11 April 2011 um 15:51 Uhr #3532Carsten Hof
TeilnehmerHallo,
ich habe mich nochmal mit dem hier beschriebenen Problem befasst.
Gibt es mit V2.7.4 und den Möglichkeiten, die übergeordnete Unterformulare jetzt bieten einen Weg das doch noch umzusetzen?Vielleicht zur Erinnerung nochmal was ich genau haben will:
Ich habe ein Unterformular A, welches eine Spalte „Eigenschaft“ und eine Spalte „Wert“ besitzt. Außerdem existiert unabhängig davon eine Entität B, in der für die einzelnen Eigenschaften Defaultwerte hinterlegt sind. Diese sind jedoch nicht eindeutig, sondern es gibt mehrere Defaultwerte für eine Eigenschaft. Ich will mir nun bei Auswahl einer Eigenschaft im Unterformular alle Defaultwerte anzeigen lassen, die zu der Eigenschaft gehören. Die Anzeige muss dabei eine Tabelle sein, damit ich unter den möglichen Werten anhand der anderen Angaben den richtigen auswählen kann.
Ich habe mir gedacht, dass man die Entität B mit den Defaultwerten als untergeordnetes Unterformular von dem Subform zur Entität A anlegt.
Wähle ich dann in der Combobox „Eigenschaft“ in dem Subform von A einen Eintrag aus, sollen im Subform von B alle Einträge angezeigt werden, die zur ausgewählen Eigenschaft gehören. Also möglicherweise mehrere Zeilen in B. (Wie könnte das überhaupt funktionieren? Müssen dafür alle möglichen Einträge in B angelegt werden, oder gibt es eine Möglichkeit die passenden Einträge zu generieren?)
Kann man das irgendwie abbilden? Habe mir eine Art Filter auf die Einträge von B vorgestellt.
Falls das nicht geht, sind Parameter für dynamische Entitäten schon in Planung? Würde diesen Vorgang gerne möglichst bald abbilden können.Vielen Dank,
Bettina Sieber18 April 2011 um 17:17 Uhr #3574Carsten Hof
TeilnehmerHallo,
ich wollte mal nachfragen, ob es hierzu schon Neuigkeiten gibt 🙂
Viele Grüße,
Bettina Sieber19 April 2011 um 13:32 Uhr #3577Claudia Mangstl
TeilnehmerHallo Frau Sieber,
außer dem Valuelist Provider fällt mir auch keine andere Lösung ein. Mit dem abhängigen UF wird das nicht funktionieren, weil dazu ja eine Referenz auf Entität A bestehen muss.
Was ich noch nicht verstehe: warum geht das mit Valuelist Providern nicht ? Wie wäre es, wenn sie mehrere Referenzfelder, die den jeweiligen Wert aus Entität B anzeigen, einfügen und auf jeden einen Valuelist Provider legen ? Wird dann ein Wert ausgewählt, könnten Sie die anderen Werte jeweils per Layoutregel „nachgeschlagenen Wert übertragen“ weitergeben. Dann hätten Sie nicht mehrere Referenzwerte in einem Feld.
Viele Grüße,
Claudia19 April 2011 um 18:58 Uhr #3583Carsten Hof
TeilnehmerHallo Claudia,
mir fällt gerade auf, dass ich vielleicht zu sehr vereinfacht habe. In der Entität B mit den Defaultwerten existieren mehr Spalten als die beiden, die ich bis jetzt erwähnt habe. Vielleicht werden meine Bedenken bezüglich des Valuelistproviders dann klarer.
Angenommen Entität B hat das Feld a (das was ich bisher „Eigenschaft“ genannt habe), das Feld b mit den Werten und außerdem noch die Felder c, d, e, f.
Näher an meinem konkreten Anwendungsfall ist folgendes Szenario:In Entität A (in der der Benutzer auswählt) gibt es ebenfalls die Felder a, d, e und natürlich das Wertefeld b.
Der Benutzer wählt in Entität A also Eigenschaft a aus. Tut er dies, sollen ihm alle Werte der Entität B angezeigt werden, die zur ausgewählten Eigenschaft passen und auch in den Felder d und e (welche als Pflichtfelder in A und B definiert sind) mit dem aktuellen Datensatz der Entität A übereinstimmen.Der Valuelistprovider macht mich deswegen nicht glücklich, weil ich nicht sehe, wie der Benutzer schnell die Vorschläge so einschränken kann, dass er das Gewünschte findet.
Beim Weg über die Valuelistprovider scheint es mir schneller, wenn der Benutzer direkt die Maske der Entität B öffnet und dort komfortabel über die Suchfunktion die Vorschläge filtert.
Hoffe diesmal habe ich mich verständlicher ausgedrückt…
Danke für die Mühe!
Viele Grüße,
Bettina21 April 2011 um 13:51 Uhr #3592Claudia Mangstl
TeilnehmerHallo Bettina,
aber um diese Einschränkung zu erreichen, brauchen Sie den Valuelist Provider. Ich denke, da werden Sie nicht umher kommen. Das Ihnen die Auswahl über eine Combobox dann nicht genügt, verstehe ich. Der Valuelistprovider greift aber auch bei LOV Feldern. In diesem Fall öffnet sich die entsprechend eingeschränkte Suchergebnisliste und der Benutzer kann hier noch einmal nach dem Spalten filtern.
Hilft das vielleicht weiter ?
Viele Grüße,
Claudia29 April 2011 um 15:26 Uhr #3647Carsten Hof
TeilnehmerHallo Claudia,
ja das klingt gut. An ein LOV Feld hatte ich noch garnicht gedacht. Hab gleich mal versucht das umzusetzen, allerdings funktioniert der VLP nicht, das heißt die Suchergebnisliste wird nicht gefiltert.
Folgende Einstellungen habe ich vorgenommen:
Ich habe den VLP erstellt (er funktioniert auch und filtert die richtigen Datensätze heraus, wenn ich im VLP Editor auf Vorschau gehe und die gewünschte Id per Hand übergebe). Diesen habe ich dann dem LOV Feld zugewiesen. Außerdem habe ich eine Layoutregel auf das Feld erstellt, das die Filterung auslösen soll und dessen Id als Parameter übergeben wird. (Also in der Form: „Wenn der Wert sich ändert“ und „Werteliste aktualisieren“).
All das spielt sich im Unterformular ab, ich weiß nicht, ob das einen Unterschied macht.
Achja und den Datentyp des LOV Felds habe ich im Layout auch auf LOV gesetzt.
Was habe ich falsch gemacht oder vergessen?Ich arbeite mit Version 2.7.1.
Viele Grüße
Bettina6 Mai 2011 um 18:55 Uhr #3667Carsten Hof
TeilnehmerBin hier leider immer noch nicht weitergekommen. Hat jemand eine Anregung für mich?
Viele Grüße
Bettina18 Mai 2011 um 12:06 Uhr #3715Claudia Mangstl
TeilnehmerHallo Bettina,
es hört sich alles richtig an, was Sie gemacht haben.
Funktioniert es denn, wenn Sie mal eine Combobox einstellen statt dem LOV ?Viele Grüße,
Claudia20 Mai 2011 um 10:59 Uhr #3737Carsten Hof
TeilnehmerHallo Claudia,
ja die Combobox funktioniert mit genau diesen Einstellungen. Habe es gerade ausprobiert.
Viele Grüße
Bettina -
AutorBeiträge