Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Doc am 07.10.04 - 15:07:59

Titel: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: Doc am 07.10.04 - 15:07:59
... wie kann man so etwas realisieren?

Habe ein Auswahlfeld (Dialogliste), nachdem jemand daraus eine Auswahl getroffen hat, soll dieser Wert aus der Dialogliste verschinden. Also beim nächsten aufruf der Maske nicht mehr zur Verfügung stehen.


Hätte da mal jemand eine Idee?
Kann man den Wert mit Replace rausziehen?


Gruss
Doc
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: koehlerbv am 07.10.04 - 15:09:59
@Trim (@Replace (Quellliste; DeinWert; ""))

HTH,
Bernhard
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: Lossa am 07.10.04 - 15:12:29
Hi,

baue dir ein Feld, der Inhalt dieses Feldes ist der Inhalt der Auswahldialogbox,
Wenn ausgewählt wurde mit:
@Trim(@Replace(Feld;Auswahlfeld;"")) das o.a. Feld neuberechnen lassen.

Wichtig hierbei sind folgende Parameter:
1. Das Auswahlfeld(Dialogbox) muss nach dem Feld kommen das die Inhalte trägt.
2. Im Auswahlfeld muss die Eigenschaft
Auswahl bei Dokumentaktualisierung neu berechnen
und
Bei Auswahl Feler aktualisieren.


Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: Doc am 08.10.04 - 07:52:01
Habs versucht, aber ich bekomme es funktioniert nicht.

Liste (DialogListe) der Geschäftsstellen= GS
Anzeigefeld= DispGS

Feld "DispGS" - Text/Berechnet - Wert "GS"  (Anzeige der Auswahl aus GS).
Feld "GS"        - Dialogliste/Bearbeitbar - (Auswahl: Inhalt  GS 1000
                                                                                                     GS 1100
                                                                                                               ....)

Wo muss den die "@Trim(@Replace(DispGS;GS;""))" Formel rein?

Verstehe ich echt nicht.

Gruss





Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: Doc am 08.10.04 - 07:57:17
Habe mal die DB mit den Felder angehangen.

Gruss
Doc
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: klaussal am 08.10.04 - 09:14:59
Das kann m.E. so nicht gehen.
1. Wenn ich aus der Auswahl einen Punkt NICHT mehr haben möchte, dann müsste ich den ja in die Auswahlliste wieder aufnehmen.
2. Die Auswahlliste ist ja wohl ein vorberechnetes Feld. Ja, wie soll ich denn da Werte raus- bzw. wieder reinnageln ??
3. Bernhard weiss wahrscheinlich wie es geht, ich stehe da z.Zt. auch relativ im Regen....

klaus
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: klaussal am 08.10.04 - 09:53:03
nächster Denkfehler:

die Dialogliste zeigt ja die Werte an, die ich ausgewählt habe. Das hat ja nix mehr mit den Werten zu tun, die ich auswählen könnte.
Also haben die ausgewählten Werte einen Haken und die nicht ausgewählten eben keinen.
Hoffe, ich hab mich da einigermassen verständlich ausgedrückt.

klaus
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: Doc am 08.10.04 - 10:12:36
Vielleicht funktioniert das mit dem Replace nur, wenn die Auswahl aus einer versteckten Ansicht kommt.?!

Gruss
Doc
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: koehlerbv am 08.10.04 - 10:21:39
Die Sache ist etwas tricky, aber eigentlich doch ganz logisch:

1. Feld "VL" wie "Vorgabeliste" (das muss -von oben links nach unten rechts gesehen vor dem 2. Feld stehen !):
Text, Berechnet, Mehrwachwerte zulassen.
Formel:
@If (VL = ""; "1000" : "1100" : "1200" : "1300" : "1400" : "1500"; @Trim (@Replace (VL; AL; "")))

2. Feld "AL" wie "Auswahlliste":
Dialogliste, Bearbeitbar, Mehrfachwerte zulassen (oder auch nicht), Felder bei Schlüsselwortänderung aktualisen, Auswahl bei Dokumentaktualisierung aktualisieren.
Auswahl: Über Formel:
@Trim (@Replace (VL; AL; ""))

In der Eingabevalidierung: "" (Das heisst: Ändern sich AL, wird Dokument neu durchgerechnet, VL gekürzt und danach AL wieder geleert durch die Eingabevalidierung).

Wenn Du möchtest, das VL auch ganz geleert werden kann, musst Du Dir für das @If (VL = ""; ...) etwas anderes einfallen lassen, zum Beispiel ein Hilfsfeld - berechnet - Formel "X" ZWISCHEN den Feldern VL und AL und dann darauf prüfen.

HTH,
Bernhard

PS: Das war doch mal 'ne spannende Aufgabe  ;)
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: klaussal am 08.10.04 - 10:46:06
@bernhard

Kapier ich nicht  :P
Im DL werden doch die angehakten Werte + die nicht angehakten angezeigt. Was bringt mir dann das @replace ? Oder ich müsste die ausgewählten Werte wieder in ein anderes Feld reinschreiben, oder wie ? :-\ ??? :-\ ???

klaus
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: koehlerbv am 08.10.04 - 10:51:39
Die angehakten verschwinden, sowie in AL die Änderung bestätigt wurde:
Die Änderung in AL bewirkt eine Neuberechnung aller Felder (von oben links nach unten rechts). Die ausgewählten in AL werden in VL mittels Replace entfernt. Danach ist AL mit der Neuberechnung dran - die Eingabevalidierung leert jetzt die bereits gemachte Auswahl.

Blödsinn war aber die Auswahlformel für AL: Da reicht natürlich vollkommen: VL).

HTH,
Bernhard
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: klaussal am 08.10.04 - 10:54:26
@Bernhard

dann bau doch mal die ALK.nsf so um, dass die funzt. Ich verbiege mir schon fast die Finger ..... :-\

klaus
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: koehlerbv am 08.10.04 - 10:55:34
Ich habe die Verfahrensbeschreibung oben eben dahingehend geändert, dass ich das ausversehen hineingeratene "DL" gegen das eigentlich gemeinte "AL" ausgetauscht habe.

Bernhard
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: klaussal am 08.10.04 - 11:02:54
@Bernhard,
das hatte ich schon ... ;D

Trotzdem, irgendwie... siehe Bild

klaus
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: koehlerbv am 08.10.04 - 11:07:16
Dann hast Du nicht das "" in der Eingabevalidierung von AL, schätze ich.

Bernhard
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: Doc am 08.10.04 - 11:17:10
Das mit dem Replace fúnktioniert jetzt, aber

1. Bei erneutem Aufruf der Maske, stehen alle Werte aus VL wieder zur Auswahl.
2. Bei eingabeval Wert= ""/ Feld AL, kommt Fehlerhinweis: Feld hat Validierungsformel nicht entsprochen.

 
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: klaussal am 08.10.04 - 11:18:29
@Bernhard,

nee, dann kommt die FM: "Feld hat Eingabevalidierung nicht entsprochen"  :P

klaus
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: koehlerbv am 08.10.04 - 11:21:43
Sorry, sorry, sorry - wenn man sowas nebenher macht ... Es muss natürlich EingabeUMSETZUNG heissen und nicht -validierung.

Bernhard
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: koehlerbv am 08.10.04 - 11:23:34
1. Bei erneutem Aufruf der Maske, stehen alle Werte aus VL wieder zur Auswahl.

Was hast Du denn für eine Formel in VL ?
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: klaussal am 08.10.04 - 11:24:12
oh oh, jetzt steht in AL nix mehr drinne......

klaus
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: Doc am 08.10.04 - 11:25:24
Folgende:

@If (VL = ""; "1000" : "1100" : "1200" : "1300" : "1400" : "1500"; @Trim (@Replace (VL; AL; "")))
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: Doc am 08.10.04 - 11:29:19
Nach Wertsetzung "" in die Eingabeumsetzung von Feld AL wird der gewählte Wert nicht mehr ins Feld AL eingetragen. (Feld AL bleibt leer; Gemäß der Umsetzung)

Gruss
Doc
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: koehlerbv am 08.10.04 - 11:32:53
Also bei mir funktioniert's - anbei die Maske zum Vergleich.

Bernhard
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: klaussal am 08.10.04 - 11:40:56
@bernhard,

so sieht es bei mir auch aus.
Nur: ich sehe da keinen Sinn drin (wie weiter oben beschrieben). Ich wähle was aus und das Feld bleibt leer. In meinen Augen ist das Schwachsinn. Das widerspricht doch irgendwie jeglicher LoNO-Logik...

Trotzdem: DANKE !

klaus
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: Doc am 08.10.04 - 11:46:38
Also Bernhard bei deiner DB funktioniert es so wie in meiner. Wahrscheinlich wurde
ich doch etwas missverstanden. Die Vorgabeliste soll ja bei einem erneuten aufruf
der Maske eben um den Wert aus VL gekürzt werden.

Wenn nach erneuten Aufruf der Maske wieder ALLE Werte in AL enthalten sind, bringt
mir das leider nicht viel.

Gruss
Werner
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: klaussal am 08.10.04 - 11:49:41
Wer lesen kann, ist eindeutig im Vorteil.  ;D

Auf diese Macke hatte ich doch bereits viel weiter oben hingewiesen. :P :P (wenn auch vielleicht etwas umständlich beschrieben)

klaus
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: koehlerbv am 08.10.04 - 11:54:14
Ich kann dem jetzt nicht folgen. Wenn ich mittels Auswahl in AL einen Wert aus VL entferne, ist der wech und taucht auch nicht wieder auf. Auch bei erneutem Aufruf des Dokuments (wo sollte er auch herkommen - VL wird nur einmal gefüllt, und der Inhalt des Feldes - bereinigt durch AL - wird dann ja gespeichert.

Bernhard
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: Doc am 08.10.04 - 12:02:45
Ja stimmt in dem Dokument selbst ist der Wert raus.

Also nochmal zum Problem: Ich möchte ein Auswahlliste haben, woraus sich User etwas auswählen. Ist dieser Wert von einem User gewählt soll er den anderen Usern die die Maske öffnen nicht mehr zur Verfügung stehen.

In diesem Fall sollen Supporter sich eine Geschäftsstelle wählen bzw. zuordnen, wenn diese Zuordnung getroffen wurde darf die Geschäftsstelle den Anderen nicht mehr zur
Verfügung stehen.

Das ist mit deiner Lösung ja nicht zu machen.

Gruss


Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: Semeaphoros am 08.10.04 - 12:07:55
Das  braucht zwei Felder: eines in dem die gewählten Werte drinstehen, und ein leeres Feld, das zur Auswahl verwendet wird. Man beachte, wenn Werte bereits in einem Feld drinstehen, werden diese in die Auswahlliste mit einbezogen, egal was sonst in der Auswahlliste drinsteht.
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: koehlerbv am 08.10.04 - 12:09:37
Reden wir nur aneinander vorbei ?
Wenn ich eine Geschäftsstelle auswähle, kann die danach doch niemand mehr auswählen - die taucht ja nie mehr auf. In einem anderen Feld kann man die ausgewählte Geschäftsstelle ja auch noch mal speichern, man kann die Auswahlliste auch noch in einen Button packen oder oder.

Bernhard
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: Semeaphoros am 08.10.04 - 12:17:59
Richtig, abgesehen davon, wenn die gewählte Geschäftsstelle schon im Feld drinsteht, weil man sie vorher gewählt hat, wird sie vom UI wieder mit einem Häkchen reingesetzt. Nimm mal ein Feld, in dem was drinsteht, mache das zu einer Dialogliste und lasse die Auswahl frei ... es wird der bereits eingetragene Wert als Auswahl mit Haken erscheinen, obwohl die Auswahlliste so ja eigentlich leer wäre
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: klaussal am 08.10.04 - 12:36:13
Aha, jetzt wir die Sache tricki.

Im Prinzip bräuchte man dazu ein Konfi-Dokument o.ä. , in dem die schon ausgewählten und möglichen Werte drin stehen.

Was mache ich aber wenn 2 User gleichzeit (!) ein neues Dok erstellen ? Dann können beide ja den gleichen Wert auswählen, was ja nicht möglich sein soll......

klaus
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: Semeaphoros am 08.10.04 - 12:39:36
Jo, dann muss man was vorkehren, dass nur einer gleichzeitig neue Docs erstellen kann, und da sind wir bei einem ähnlichen Problem wie bei fortlaufenden Nummern
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: klaussal am 08.10.04 - 12:45:42
richtig erkannt....  :D ;)
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: Doc am 08.10.04 - 14:44:20
@Bernhard
öffne doch mal die Maske "Auswahl entfernen" in deiner Db, dann findest du die Werte aus dem Feld VL doch wieder alle vor, oder nicht.

Gruss
Werner
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: Semeaphoros am 08.10.04 - 14:47:08
Eben, deshalb muss man ja mit 2 Feldern arbeiten. Die Version mit einem Konfig-Dok ist natürlich dann interesseant, wenn man das Bearbeiten durch mehrere Leute verhindern will ... wie bei einer fortlaufenden Nummer
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: koehlerbv am 08.10.04 - 14:50:57
Ich sehe jetzt, wo wir uns missverstanden haben: Du willst nach erstmaliger Verwendung ein Keyword für kein neues Dokument mehr zulassen.

Wie oben von Jens und Klaus schon angedeutet wurde: Dies ist mit Notes nicht sicherzustellen: Konkurrierende Zugriffe, Arbeit auf mehreren Servern, lokale Repliken ...

Falls Du sagen kannst: Das läuft nur auf einem Server und nie lokal, kannst Du das Verfahren aber so umstellen, dass die VL in einem Setup-Dok (nicht ProfileDocument - dieses wird gecacht !) stehen und nach Verwendung dort gelöscht werden.

Bernhard
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: Doc am 08.10.04 - 15:03:29
Danke für Eure Mühe!
Da werde ich mal nach Setup-Dok suchen, dass sagt mir jetzt leider garnichts.

Schönes WE an Alle!
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: Semeaphoros am 08.10.04 - 15:16:28
Nun, da hast Du Dir was anspruchsvolles ausgesucht ....
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: Marinero Atlántico am 08.10.04 - 15:18:49
Danke für Eure Mühe!
Da werde ich mal nach Setup-Dok suchen, dass sagt mir jetzt leider garnichts.

Schönes WE an Alle!

Da wirst du nix finden.
Ein Setup Dokument ist für eine Notesanwendung ist ein bischen wie eine Übertragung des Singleton Design Patterns auf Lotus Domino.

Ein Dokument, wo DB-globale Einstellungen notiert werden und von dem es pro Datenbank nur genau 1 gibt. 

1. Erstelle 1 Notesmaske.
2. Nenne diese Notesmaske setup.
3. Speicher die Notesmaske
4. Erstelle eine Ansicht (setup) und eine Ansicht 34. Administration\01. Globales Setup mit Ansichtsformel auf form="setup"
5. Lass dir etwas kreatives einfallen, damit immer nur 1 Setup Dokument erstellt werden kann oder schreib in die Doku, dass nur 1 Setup Dokument erstellt werden soll.
6. Schreibe in die erste Spalte als Formel "setup". Mach diese Spalte sortierbar (jetzt kann das als Lookup-Key verwendet werden.

Ein Setup Dok ist also funktional sowas wie ein Profildokument. Nur hat man mit Profildokument öfters mal Ärger (Replizierung, Caching, Überblick).

Gruß Axel
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: koehlerbv am 08.10.04 - 15:31:19
Naja, es geht auch unkomplizierter:

In der Maske ein Feld VL, Text, multi value, computed for display.
Dies enthält die Liste der Niederlassungen.

Eine (versteckte) Ansicht GA, die aus den Dokumenten nur das Feld "Geschäftsstelle" anzeigt (sortiert).

Auswahlfeld (Dialogliste oder Optionsschaltfläche) mit der Formel:
@Trim (@Replace (VL, @dbColumn (auf Ansicht GL); ""))
So werdendie bereits verwendeten Geschäftsstellen ausgefiltert.

Wie oben schon mehrfach angesprochen: So (oder mit Setup-Dok) funktioniert das nur, wenn diese Datenbank nur und ausschliesslich auf einem Server verwendet wird. Und das schützt auch nicht davor, dass zwei Leute parallel die gleiche Geschäftsstelle auswählen können !

Im QuerySave könnte man dann nochmal checken, ob gerade parallel von jemandem die gleiche Geschäftsstelle ausgewählt wurde.

Bernhard
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: Doc am 09.10.04 - 09:40:59
Danke Bernhard,
so werde ich es machen, es ist gewährleistet, dass es auf nur einem Server läuft. Es dient lediglich einer Rolloutplanung zum intrernen Gebrauch.

Ist aber schon erstaunlich, dass so eine anforderung so "Anspruchsvoll" sein soll.  ;-)

Gruss
Werner
Titel: Re: Dialogliste um den Ausgewählten Wert kürzen...
Beitrag von: Semeaphoros am 09.10.04 - 11:34:24
Werner, das ist der Preis dafür, dass Notes wirklich ein verteiltes System ist, da sind eben Anforderungen, die bei dem meistens noch vorherrschenden zentralen Denken sogenannte Peanuts sind, eben  wirkliche Probleme.