Autor Thema: Problem bei Optionsfeldern  (Gelesen 1697 mal)

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Problem bei Optionsfeldern
« am: 23.08.02 - 10:01:27 »
@All

Habe ein kleines Problem. Vermutlich ist es einfach zu lösen, aber irgendwie komme ich nicht auf den Dreh.

Folgendes soll passieren

Ich habe eine Maske mit folgendem Aufbau:

Freigabe K:  o J   o N    Datum Freigabe: xx.xx.xxxx

Freigabe T:  o J   o N    Datum Freigabe: xx.xx.xxxx

Bei einem neuen Doc ist J/N leer, also keine Option gewählt und das Datum der Freigabe noch nicht gefüllt.

Die Datumsfelder sind berechnet und enthalten folgende Formel:

@If(KFrei="" | @IsNewDoc;
@If(KFJN="J" | KFJN = "N";@Now;"");
@If(KFJN="J" | KFJN = "N";@Text(@Date(@Now))+" (!)";""))

(entsprechend für TFrei)

Es soll damit erreicht werden, kenntlich zu machen, wenn ein User den Status der Freigabe im Nachhinein geändert hat.

Also: User T gibt das Doc am 22.08.2002 frei; dann enthält Datum Freigabe : 22.08.2002.

Speichert er nun das Document und öffnet es erneut, um den Freigabestatus zu ändern, enthält das Feld naxch der Änderung den Wert 22.08.2002 (!).
Damit ist klar, dass sich hier im Nachhinein etwas geändert hat.

Das Problem ist aber nun, dass sich der Wert in TFreiDatum auch dann ändert, wenn ich in KFrei den Status ändere.

Die Option "Felder bei Schlüsselwort..." ist aktiviert.

Nach der Formel ist das auch logisch; nur, wie bekomme ich das hin, dass sich nur in den zugehörigen Datumsfeld etwas ändert ???

eknori

P.S. Ich hoffe, ich habe nicht zu nuschelig geschrieben
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Glombi

  • Gast
Re: Problem bei Optionsfeldern
« Antwort #1 am: 23.08.02 - 10:35:40 »
Hi eknori,

eine Lösung wäre Script-Programmierung:

(Declarations)
dim KFreiJN_Alt as string
dim TFreiJN_Alt as string

Postopen:
KFreiJN_Alt = Source.FieldGetText("KFreiJN")
TFreiJN_Alt = Source.FieldGetText("TFreiJN")

Querysave:
if KFreiJN_Alt <> Source.FieldGetText("KFreiJN") then
 Source.Document.KFrei = today
end if
KFreiJN_Alt = Source.FieldGetText("KFreiJN")


if TFreiJN_Alt <> Source.FieldGetText("TFreiJN") then
 Source.Document.TFrei = today
end if
TFreiJN_Alt = Source.FieldGetText("TFreiJN")

Mit Formelsprache ist das aufwendiger: Du müsstest Hilfsfelder einbauen, die jeweils HINTER den beiden Stati-Feldern und Datums-Feldern stehen, bspw.

KFfreiJNAlt
berechnet, Formel: KFreiJN

analog TFreiJN

Dann im Datumsfeld:
@If(
KFreiJN != KFreiJNAlt;
   @Today;
KFrei
)

Gruß
Andreas




« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Problem bei Optionsfeldern
« Antwort #2 am: 23.08.02 - 10:37:26 »
@Andreas: DANKE, werde ich gleich mal ausprobieren.
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline CLI_Andreas_Schmidt

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 668
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
    • Lotus Notes & Domino Schulung und Entwicklung
Re: Problem bei Optionsfeldern
« Antwort #3 am: 23.08.02 - 10:42:51 »
Hi,

vielleicht zum Verständnis. Diese beiden Zeilen könnten auch so aussehen oder:

WENN      @If(KFrei="" | @IsNewDoc;
DANN       @If(KFJN!="";@Now;"");
SONST     @If(KFJN!="";@Text(@Date(@Now))+" (!)";""))

So wie ich das sehe, läuft das Programm, wenn KFRei geändert wird sofort in Zeile "SONST" und steht drin, das wenn KFJA!="" ist das Datum gesetzt werden soll.

Liege ich da richtig ?

Andreas
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Viele Grüße

Andreas.Schmidt@lotus-schmidt.de

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Problem bei Optionsfeldern
« Antwort #4 am: 23.08.02 - 10:58:36 »
@Andreas

Das ist richtig; das Problem liegt ja darin, dass bei einer nachträglichen Änderung im Feld TFreiJN durch die Aktualisierung bei schlüssewortänderung auch das Datum bei KFrei geändert wird, da ja die SONST Bedingung erfüllt ist.

Ich werde das jetzt mit Script machen, da ich noch mehrere dieser felder habe.

@Gombi
Das funktioniert noch nicht 100%, ist aber ein guter Ansatz.
Da kann ich drauf aufbauen.

eknori
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Rob Green

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.651
  • Geschlecht: Männlich
    • Meipor
Re: Problem bei Optionsfeldern
« Antwort #5 am: 23.08.02 - 11:28:20 »
witziges Problem...

ich habs mal mit einem Optionsfeld zunächst getestet, da das Prinzip entscheidend ist. Dann kann man es immer noch auf 2 Optionsfelder ausdehnen. Wobei ich nicht ganz verstanden habe, warum Du beide kombiniert überwachst und nicht jedes für sich getrennt.

Also:
1. Feld "Option"
"ja" oder "nein"

2. Feld "Dater"
Anzeige des Datums als Text
in sich selbst berechnet: Formel: Dater

3. Feld hidden "Checker"
bearbeitbar, kein Vorgabewert

nun eine Eingabeübersetzungsformel in "Option":

@If(

checker!=Option &
!@IsNewDoc &
@IsDocBeingSaved &
!@Contains(Dater;"ÄNDERUNG");
@Do
(@SetField("Dater";"ÄNDERUNG");@SetField("Checker";Option)
);

checker!=Option &  @IsNewDoc;
@Do
(@SetField("Dater";@Text(@Today));@SetField("Checker";Option)
);

Option)

Im zweiten Teil der Formel wird dafür Sorge getragen, daß das versteckte Vergleichsfeld "Checker" den Wert von "Option" bekommt und das Datum abgestempelt wird. Aber nur wenn Doc neu ist.

Im ersten Teil triggert die Formel nur dann den Wert vom hidden Field "Checker" UND dann auch vom Field "Dater" (der die Änderung optisch anzeigt), wenn
das Doc
1. gespeichert wird
2. nicht neu ist
3. Inhalt von Option und Checker sich unterscheiden
4. und "DATER" eh nicht bereits Deinen Änderungs-Marker "!" enthält (in meinem Falle habe ich den String "Änderung" benutzt)

Klappelt wunderbar  ;D
Vielleicht verdirbt Geld wirklich den Charakter.
Auf keinen Fall aber macht Mangel an Geld ihn besser.
(John Steinbeck)

Meiporblog: http://www.meipor.de/blog
allg. Unternehmerblog: http://www.m-e-x.de/blog

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Problem bei Optionsfeldern
« Antwort #6 am: 23.08.02 - 11:37:32 »
Ich überwache die felder nicht kombiniert; da hast du was falsch verstanden.

Bei einem feld funktioniert die Formel auch hervorragend; kommt aber ein zweites Feld hionzu; geht es nicht mehr.

Werde mal deine Möglichkeit probieren

eknori
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz