Hi,
... ja ich weiss.
Ich fülle in einem Skriptagenten bei geöffneten UIDoc ein Richtextfeld (ja_ich_weiss1)
Erst möchte ich einen Seitenumbruch fürs Drucken (ja_ich_weiss2) hinzufügen.
Dann wird da noch ein weiteres RichTextFeld angehangen.
im Backend ein RichTextItem in ein anderes RichTextItem:
Call itRtThisAnlage.addPageBreak
Call itRtThisAnlage.appendRTItem (itRtBodyTemplate)
Selbstverständlich wird das Dokument dann gespeichert, von dort ins Queryclose gelenkt und wieder neu geöffnet.
Über
Set docCur = db.getDocumentByUnid(UNID)
Call uiws.EditDocument(True, docCur, False)
Eigentlich dachte ich, ich müsste im UIDoc saveOptions="0" setzen und das nur im Backend abspeichern (vor dem wieder neu öffnen).
Diese saveOptions="0" Geschichte ist aber unnötig.
Das Problem ist der Seitenumbruch. Er wird gemeinerweise nicht an den Anfang des RichTextItems gesetzt und auch nicht ans Ende. Nein. Der PageBreak steht mitten im kopierten Inhalt des anderen RichTextItems. Dort hat das Original RichtextItem selbst keinen Seitenumbruch. ;D
Hat jemand hierzu eine Idee.
Andere Libraries von Langhinrich und Konsorten wäre mir auch lieb, nur glaub ich nicht, dass ich das hier durchbekomme. Für eine kostenpflichtige Javalibraries wäre das hier übrigens ein weitaus geringeres Problem.
Hat wer eine Idee?
Ich versuche noch den Page-Break in einem extra Formelsprache-Agenten zu setzen, der von dem Agenten, der das andere RichTextITem kopiert, aufgerufen wird.
Ein docCur.save true, false zwischen addPageBreak und addRichTextItem tuts jedenfalls nicht. Schon getestet.
Gruß Axel
Was total gut funktioniert, ist Formelsprache
EditInsertPageBreak.
Ich setze also beim Speichern unter Bedingung des Neuladens wegen RichtextFeld ein Feld ADD_PAGE_BREAK_ON_RELOAD = "true"
Beim Postopen wird in den reichlich vorhandenen Formel-Code oben ein Agent aufgerufen, falls
ADD_PAGE_BREAK_ON_RELOAD == "true"
und dann ADD_PAGE_BREAK_ON_RELOAD = "false"
Agent:
@PostedCommand([EditGotoField];"Anlage");
@PostedCommand([EditInsertPageBreak]);
@Command([FileSave])
verdammte Hackerei. Am Wochenende muss ich 1000 Zeilen auf Basis von Tapestry Framework, Spring und Spring programmieren, um die Götter gnädig zu stimmen.
Und keiner kann mir erzählen, dass dies komplizierter wäre als diese stunts. ;D
Axel