Domino 9 und frühere Versionen > Entwicklung

Tabellen in RTF-Feld per Button einfügen

(1/7) > >>

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