Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: TheCrow am 21.11.02 - 10:15:30

Titel: @isNewDoc
Beitrag von: TheCrow am 21.11.02 - 10:15:30
Hi ihr, irgendwie habe ich da wohl was missverstanden.

Ich arbeite ausschliesslich mit Web-Masken.
Ich habe ein Feld in einer Maske das folgenden Vorgabewert hat:
@If(@IsNewDoc;"neu";"alt")

Wenn ich jetzt jetzt eine neue Maske aufmache, dann ist das alles kein Problem, das Feld steht auf "neu", schaue ich mir alten Einträge an, steht da ein "alt" - auch ok.
Doch wenn ich jetzt die alten Dokumente bearbeite, dann erscheint auch wieder ein "neu", aber das Dokument ist doch gar kein neues Dokument mehr, d.h. doch eigentlich, das "alt" erscheinen müsste, auch wenn ich das Dokument bearbeite.

Muss ich auf etwas anderes abfragen, damit ich den gewünschten Effekt erziehle ?

Danke für eure Hilfe !

Titel: Re:@isNewDoc
Beitrag von: adminnaddel am 21.11.02 - 10:24:36
hi,

@If(@IsNewDoc;"Neu";"Alt")

hast du ein berechnetes feld zur anzeige?

also bei funktioniert das sehr gut!?

mfg
Titel: Re:@isNewDoc
Beitrag von: TheCrow am 21.11.02 - 10:31:55
Jetzt geht es zwar mit dem berechneten Feld nur jetzt kann ich nicht mehr mit JavaScript drauf zugreifen.

Geht das zusammen mit JavaScript auch irgendwie ?
Titel: Re:@isNewDoc
Beitrag von: Till_21 am 21.11.02 - 10:41:43
berechnete felder tauchen nicht mit im html-code auf. deshalb kennt javascript, was sich auf dem client abspielt, das feld nicht. hier gab es aber ein workaround für. such mal in den beitraegen der letzten tage, du wirst fündig.

gruss / till
Titel: Re:@isNewDoc
Beitrag von: TheCrow am 21.11.02 - 10:55:11
Hallo Till,

ich habe das mal mit dem "generate html for all fields" in der Form gemacht, und jetzt schmeisst mir der Server eine "@Funktion ist in diesem Kontext ungültig" Meldung.

Hast du da eine Idee, ich habe in dem Feld als Wert "@If(@IsNewDoc;"neu";"alt")"

Danke
Titel: Re:@isNewDoc
Beitrag von: harkpabst_meliantrop am 21.11.02 - 11:05:20
"Generate HTML for all fields" ist ohnehin nur die zweitbeste Lösung, denn häufig hat man auf der Maske ja doch Felder, deren Inhalt man dem Web-Benutzer zumindest nicht direkt auf die Nase binden will. Mit Quelltext ansehen kann er das dann aber.

Daher die von mir bevorzugte Lösung hier nochmal (damit du nicht zu suchen braucht, ich finde die Suche in YaBB etwas unhandlich :)):

Man kann im Prinzip da nachmachen, was Domino bei "Generate HTML for all fields" macht, nur eben für einzelne Felder. Dazu kombiniert man das Computed for Display Feld namens FeldSowiso mit etwas Pass-Through-HTML

<input type="hidden" name="FeldSowieso" value="[FeldSowieso]">

Das graue soll übrigens das Pass-Through-HTML sein. Somit gibt es auch für den JavaScript-Zugriff ein Feld auf der Maske, das aber nie gespeichert wird und für Domino weiterhin CfD bleibt.

Titel: Re:@isNewDoc
Beitrag von: TheCrow am 21.11.02 - 11:09:09
Erstmal Vielen Dank :)

bin zwar schonmal über diese "passtrough-html"-Sache drübergestoplert aber ich habe keine Ahnung, wie ich sie anwende.

Ich habe jetzt ein Textfeld, das ist berechnet und somit nicht ansehbar in html. Kannst du mir eine kurze schritt für schritt anleitung geben oder hier schreiben, wie ich dieses passtrough anwende in oder an mein Feld ?

Vielen Dank !

Titel: Re:@isNewDoc
Beitrag von: harkpabst_meliantrop am 21.11.02 - 11:34:44
Tja, wieviele Schritte soll ich denn daraus machen? ;)

Du kopierst einfach genau die Zeile irgendwo ganz oben auf deine Maske. Anstelle von [FeldSowieso] fügst du natürlich das berechnete  Feld ein und bei name="FeldSowieso" entsprechend noch einmal den Feldnamen.

Dann markierst du zuerst den Text vor dem Feld und wähst aus dem Text-Menü des Designers "Pass-Through-HTML", dann dasselbe für den Text nach dem Feld. Der Text wird dann grau hinterlegt dargestellt.

Das war's schon, mehr ist nicht zu tun.

Ach so, natürlich dann keine Notes-Verberge-wenn-Formel benutzen!!


Titel: Re:@isNewDoc
Beitrag von: TheCrow am 21.11.02 - 11:46:53
*arg*
Irgendwie bin ich zu blöd,
ich habe es so gemacht wie du gesagt hast, habe den Text markiert bin auf eigenschaften: text... gegangen nur ich finde diesen dummen "Pass-Through-HTML" Eintrag nicht.
Titel: Re:@isNewDoc
Beitrag von: harkpabst_meliantrop am 21.11.02 - 11:53:49
Hmmmm, wir sind hier im Notes R5 Entwicklungsforum, soweit sind wir uns doch einig. Oder etwa nicht??  :D
Titel: Re:@isNewDoc
Beitrag von: TheCrow am 21.11.02 - 11:55:37
ich brauche eine Schnapps...
ich sag doch, ich habe damit noch wenig erfahrung...und wo suche ich....in Eigenschaften des Textes anstatt oben im Menü Textfeld.

 :o
Titel: Re:@isNewDoc
Beitrag von: Till_21 am 21.11.02 - 11:56:51
Benutzt du vielleicht einen dt. Designer ?
der müsste es, wenn die jungens einfallsreich waren, Durchgangs-HTML heissen.

till
Titel: Re:@isNewDoc
Beitrag von: TheCrow am 21.11.02 - 11:59:00
richtig, ich bin einer dieser deutsch-softwarebenutzer ;)
Titel: Re:@isNewDoc
Beitrag von: harkpabst_meliantrop am 21.11.02 - 12:00:32
Sieh's mal positiv:

Die kontextsensitive Eigenschaftenbox in Notes ist so gut, dass man das Menü wirklich nur selten braucht und deshalb oft gar nicht auf die Idee kommt, dahinzugucken.

Selbst wenn man es ausdrücklich gesagt bekommt.  :P

;)
Titel: Re:@isNewDoc
Beitrag von: TheCrow am 21.11.02 - 12:32:24
Also

nochmal vielen Dank an Alle !!! :)
Titel: Re:@isNewDoc
Beitrag von: TheCrow am 22.11.02 - 10:57:46
Tja, wieviele Schritte soll ich denn daraus machen? ;)

Du kopierst einfach genau die Zeile irgendwo ganz oben auf deine Maske. Anstelle von [FeldSowieso] fügst du natürlich das berechnete  Feld ein und bei name="FeldSowieso" entsprechend noch einmal den Feldnamen.

Dann markierst du zuerst den Text vor dem Feld und wähst aus dem Text-Menü des Designers "Pass-Through-HTML", dann dasselbe für den Text nach dem Feld. Der Text wird dann grau hinterlegt dargestellt.

Das war's schon, mehr ist nicht zu tun.

Ach so, natürlich dann keine Notes-Verberge-wenn-Formel benutzen!!




Hi du,
jetzt muss ich dich leider nochmal belästigen.

Hast du vielleicht eine Beispieldatenbank für mich ?
Habe zwar alles gemacht was du gesagt hast, nun kann ich zwar mit JavaScript drauf zugreifen aber er ändert mir den Wert, wenn es kein "@isnewdoc" ist, nicht ab

Danke !
Titel: Re:@isNewDoc
Beitrag von: harkpabst_meliantrop am 22.11.02 - 12:46:51
Nein, habe ich nicht. Aber ändere das Feld von "berechnet" auf "berechnet zur Anzeige" und es geht.

Aber natürlich nur für neue Doks, nicht für die alten.
Titel: Re:@isNewDoc
Beitrag von: TheCrow am 22.11.02 - 13:13:03
ja, das wars  :)

Danke !