Domino 9 und frühere Versionen > ND6: Entwicklung
Berechneter Abschnitt um RichText-Felder
jr:
Hallo,
weil die andere Anfrage wohl so nicht lösbar ist, gleich eine andere Variante:
Wenn man um ein RichText-Feld einen berechneten Abschnitt macht um dieses zur Bearbeitung freizugeben, dann erkennt das RT-Feld nicht, dass sich der Status geändert hat.
Die Abschnittsformel lautet:
@If(@IsDocBeingEdited; @UserName; "Niemand")
Sieht natürlich auf den ersten Blick etwas seltsam aus, weil ja jeder im Bearbeitungsmodus bearbeiten darf, aber es geht um die Dateianhänge im RT-Feld, und die können leider auch im Lese-Modus bearbeitet werden - und genau das soll verhindert werden.
Im Bearbeitungsmodus zeigt Notes korrekt an, dass der Abschnitt vom Benutzer bearbeitet werden darf, lässt es aber trotzdem nicht zu.
Hat jemand eine Idee dazu?
Gruß,
Joachim
Daenu:
Also "Abschnittsformel" bedeuetet Hide/When Formel? Wenn ja. Das ist so ne Sache, da man Hide When im RT Feld selber setzten kann. Hatte mal das selbe Problem mit Hide When Print. Hab folgende Lösung gefunden:
1. Abschnitt also Section mit Hide/When Formel
2. For dem dem RT Feld ein Space oder Buchstabe (unsichtbar wie Hintergrund)
3. Space und RT Feld mit Hide/When wie Section
Aber noch ganz ein anderer Ansatz den ich gerne erkläre aber erst noch was wissen muss:
Ist im RTF auch noch Text den man im Read Modus lesen muss oder ist nur das Attachment drin?
jr:
Da sind definitiv nicht nur Attachments drin, sondern auch ganz normaler Text. Die Leser sollen alles sehen, aber nicht bearbeiten können.
jr:
HideWhen nützt in dem Fall nicht viel, weil das Feld ja sichtbar sein soll.
Mit zwei RT-Feldern (eins bearbeitbar und eins berechnet), die sich alternativ ein- und ausbleden, habe ich schon Versuche gemacht. Das nützt aber leider nicht viel, weil das berechnete Feld den Wert des Eingabefeldes nur einmal übernimmt und sich danach nicht mehr ändert. Ein reines "Computed for display" gibt's bei RT-Feldern leider nicht.
Daenu:
OK, dann ist Hide/When der falsche Ansatz. ;)
Man könnte eine Scriptlein machen, dass beim Querysave Event alle Attachment in ein neues RT Feld verschiebt. Dieses Feld ist dann nur im Edit Modus sichtbar. Nachteil. Die Attachment sind im Read Modus nicht mehr verfügbar.
Code Ansatz den ich mal für etwas ähnliches brauchte, den Du aber sicherlich modifizieren müsstest.
If ( rtitem.Type = RICHTEXT And doc.HasEmbedded ) Then
Forall o In rtitem.EmbeddedObjects
Select Case o.Type
Case EMBED_ATTACHMENT
filepath = tempDirectory & "\" & o.name
Call o.ExtractFile( filepath )
Set newrtitem = New NotesRichTextItem( newdoc, "PDF" )
Set object = newrtitem.EmbedObject ( EMBED_ATTACHMENT, "", filepath)
Kill filepath
End Select
End Forall
End If
Kann Dir auf Wusnch auch den ganzen Code senden.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln