Domino 9 und frühere Versionen > Entwicklung
Tabellen in RTF-Feld per Button einfügen
Kutz:
Hallo zusammen,
wir haben eine Datenbank mit verschiedenen Feldern gefüllt.
Ein Feld als Inhalt eine vorgegebene Tabelle erhalten.
Wir wollen damit eine standardmäßige Vorgehensweise bei
(Themen aus Sitzungen) diesen Protokollen vorgeben. Da die Länge der Tabellen immer unterschiedlich ist kann ich aus meiner Sicht keine feste Tabelle in der Maske vorgeben.
Habt Ihr eine Idee, oder vielleicht läßt sich eine Vorlage ja einfach kopieren? ???
Performance:
ich habe sowas in der Richtung schon gemacht.
- einfügen von Tabellen aufgrund einer selection
- In einem setup dok befinden sich mehrere rtf Felder mit vordefinierten Tabellen, diese werden nach der Auswahl einfach ins aktuelle dok übernommen mit einem .appendrtitem
cu
Kutz:
Hört sich ja ganz gut an, würde sicherlich unsere Lösung sein, aber wie funktioniert so etwas? :'(
Performance:
ich bin damals wie folgt vorgegangen:
- versteckte View erzeugt - dok erstellt,geschützt mit Autorfelder - in der 4 vordefinierte Tabellen erzeugt wurden in 4 rtfs(Überschrift, Farbe usw. => d_qualitydept, ...1, ...2, ...3)
- in dem dok wo diese eingefügt werden sollen habe ich ein action button eingefügt, darunter das rtf Feld(eleganter sind hotspots in einer Tabelle die die gleiche Farbe wie die Tabelle haben)
- in der action wird die Routine aus einer library aufgerufen die wie folgt aussieht:
Sub InsertDeptQuality(actdoc As Notesdocument)
.... actdoc == hier wird reingepastet
.... doc == hier werden die Tabellen geholt
Dim view As NotesView
Dim item1 As Variant, item2 As Variant, auswahl As Variant
Dim tabelle(3) As String
tabelle(0) = "Strategy Development"
tabelle(1) = "Requirement Management"
tabelle(2) = "Project Management"
tabelle(3) = "Service Planning"
Set view = db.GetView( "dworkquality" ) ''' in der view ist nur ein dok für diesen Zweck
Set doc = view.GetFirstDocument
If doc Is Nothing Then
Messagebox "................ ", 48, "Notice"
Exit Sub
Else
REM Auswahl Tabellenart
auswahl = ws.Prompt(PROMPT_OKCANCELLIST, "Insert table frame", "please select a table frame", tabelle(0), tabelle)
Select Case auswahl
Case tabelle(0) : Set item2 = doc.GetFirstItem( "d_qualitydept" )
Case tabelle(1) : Set item2 = doc.GetFirstItem( "d_qualitydept1" )
Case tabelle(2) : Set item2 = doc.GetFirstItem( "d_qualitydept2" )
Case tabelle(3) : Set item2 = doc.GetFirstItem( "d_qualitydept3" )
Case Else : Exit Sub
End Select
Set item1 = actdoc.GetFirstItem( "d_quality" )
If ( item1 Is Nothing Or item2 Is Nothing ) Then
Messagebox "............... ", 48, "Notice"
Else
If ( item1.Type = RICHTEXT And item2.Type = RICHTEXT ) Then
Call item1.AddNewLine( 2 )
Call item1.AppendRTItem( item2 )
actdoc.saveoptions = "1"
Call actdoc.save (True,False)
actdoc.saveoptions = "0"
Call docUI.close
Set docUI = ws.EditDocument(True, actdoc)
Call docUI.refresh
Call docUI.GotoBottom
Else
Messagebox "...................... ", 48, "Notice"
Exit Sub
End If
End If
cu
Kutz:
Hy,
bin leider die letzten Tage nicht im Haus gewesen.
Ich habe bei der Übernahme des Scripts immer das Problem:
Variant does not contain an object.
Anscheinend ist bei der Zuweisung noch ein Problem
set item1=actdoc.getfirstItem("protokoll")
Bei mir heisst das Feld der Eingabe Protokoll.
Weiss jemand weiter ? ???
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln