Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Alexis am 01.07.04 - 15:25:42

Titel: Textänderung in Checkbox
Beitrag von: Alexis am 01.07.04 - 15:25:42
Hallo Forum,

ich brauch' mal wieder einen Rat:

Ändert man den Text einer Checkbox-Auswahl tritt der Effekt auf, dass alte Dokumente an dieser Stelle ein leeres Kästchen haben. Ist ja auch klar, die alte Auswahl existiert ja so nicht mehr.

Frage: wie kann ich dieses programmtechnisch managen, ohne per Suchdurchlauf alle Dokumente zu durchforsten und den Eintrag auszutauschen. Am besten wäre eine Lösung innerhalb der Maske mit @function oder notfalls schript.

Any idea?

Alexis
Titel: Re:Textänderung in Combobox
Beitrag von: Isa am 01.07.04 - 15:35:57
Wie wär's mit einem "computed for display" feld? ("berechnet zur anzeige" hab' halt alles in englisch)

Darin zeigst Du nur für's Lesen den Inhalt des Checkbox Feldes an. (Standard "Hide when" Funktion - ähm - "Abssatz verbergen")

Gruss aus der Schweiz
Titel: Re:Textänderung in Combobox
Beitrag von: Thomas Schulte am 01.07.04 - 15:40:07
Eine Variante wäre im Querysave des Dokumentes eine Abfrage einzubauen nach dem Motto, bist du leer oder hast du keinen Wert der eigentlich in der Feldliste, die natürlich konfigurierbar ist drinsteht, dann nimm einen Default Wert, den du wieder aus einem Konfigurationdokument holst.
Allerdings wenn du das Keyword irgendwo für Workflow oder so was brauchst, dann hast du mit der Methode eine Menge Ärger am Hals. Besser ist ein einfacher, primitiver Agent den du nach deiner Änderung einmal über alle Dokumente diesen Typs laufen lässt und der dir den Wert abc durch xyz ersetzt, wenn er denn vorhanden ist.

Thomas
Titel: Re:Textänderung in Combobox
Beitrag von: Alexis am 01.07.04 - 15:41:45
Hai @Isa

so geht es leider nicht, da die User in der Maske auch weiterhin editieren und somit die Checkbox nicht umgangen werden kann.

@Thomas

Ich muss schon den Feldinhalt direkt austauschen, mein Versuch mit einem Agenten mit @if inhalt = xxx dann @setfield = yyy (in richtiger Syntax) greift leider nicht (Inhalt bleibt auf altem Wert).

Alexis
Titel: Re:Textänderung in Combobox
Beitrag von: koehlerbv am 01.07.04 - 15:43:37
Mach Dir doch einen simplen Agent, der "AlterWert" gegen "NeuerWert" austauscht:
FIELD DeinFeld := @ReplaceSubstring (DeinFeld; "AlterWert"; "NeuerWert").
Dieser Agent läuft über alle Dokumente der DB oder gewählte einer Ansicht (je nachdem, wie das bei Dir aussieht).

HTH,
Bernhard
Titel: Re:Textänderung in Combobox
Beitrag von: Thomas Schulte am 01.07.04 - 15:49:22
Multi oder Single Value?

Und wenn du eh in einem Rutsch austauschen musst, willst dann schreib dir einen Agent.
@replace(deinfeldname;"AlterWert";"NeuerWert")
Titel: Re:Textänderung in Combobox
Beitrag von: Alexis am 01.07.04 - 15:49:57
Hallo Berhardt,

Danke, das klappt (so einfach!).

Du hast mir schon so oft geholfen, ich muss dir wohl mal 'ne Flasche Schampus zukommen lassen.

Alexis
Titel: Hi Bernhard, Ich glaub ich muss meinem Brauser ...
Beitrag von: Thomas Schulte am 01.07.04 - 15:51:41
automatisches Aktualisieren beibringen, wenn atnotes offen ist.

Was ist übrigens aus Coburg geworden?

Thomas
Titel: Re:Textänderung in Combobox
Beitrag von: koehlerbv am 01.07.04 - 15:55:26
@Thomas:
Deep Purple wird's auch ohne mich schaffen - es hat terminlich bei mir leider nicht sein sollen mit Coburg.

@Alexis:
Immer gerne  :) Schick' einfach einen Scheck an den Getränkehändler meines Vertrauens - 11,50 kostet ein K20 "Wieninger Hell" - das ist mir lieber als Schampus  ;D

Bernhard
Titel: Re:Textänderung in Combobox
Beitrag von: animate am 02.07.04 - 07:48:35
Wenn du mit Aliasen arbeitest hast du übrigens null Pflegeaufwand in den Dokumenten (wenn ich dein Problem richtig verstanden habe)
Titel: Re:Textänderung in Combobox
Beitrag von: Alexis am 02.07.04 - 10:11:22
Hallo Thomas, hallo Forum,

DAS ist die einfachste Lösung, die fast keine Nebenwirkungen hat.

Hier noch einmal mein Problem und die Lösung:

In einer Maske sollte in einer Checkbox ein Text verändert werden, da der alte missverständlich war. Das hat zunächst die Folge, dass die Einträge in den alten Dokumenten verschwinden (den neuen Text kennt das alte Dokument ja nicht).

Lösung 1:
Ein Replace der alte Texte geht natürlich, hat aber den Nachteil, dass die Dokumente als ungelesen deklariert werden.

Lösung 2:
In der Maske hinter den neuen Texten den alten Text als Alternativtext eintragen (Text_neu|Text_alt) und Synonyme im Feld  zulassen.

Danke für Eure Anregungen

Alexis