Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: two7 am 06.06.06 - 11:15:43

Titel: RichText übernehmen
Beitrag von: two7 am 06.06.06 - 11:15:43
Hi,

ich habe eine Datenbank in der Kopien unserer Rechnungen ablegen.
Die Rechnung selber wird in einem RichTextFeld abgelegt als JPG. In meiner Maske, in der ich bei einer neuen Rechnung die Daten eingebe, habe ich eine Aktion "Rechnung duplizieren". Über eine Ansicht werden alle Rechnungen angezeigt, so das die zu duplizierende Rechnung ausgewählt werden kann.

Mein Prob bei der Geschichte ist, dass ich eben nicht die Rechnung (JPEG in RichTextFeld) übernehmen lassen kann.

Gibt es hier eine Möglichkeit dies mitzunehmen?
Die Aktion läuft nur mit @Formeln, da ich leider noch kein LotusScript beherrsche (Blutiger Anfänger)

Thx. two7
Titel: Re: RichText übernehmen
Beitrag von: Tode am 06.06.06 - 11:36:15
ohne LotusScript: No chance....

Tode
Titel: Re: RichText übernehmen
Beitrag von: two7 am 06.06.06 - 11:46:29
und wie müsste dies dann aussehen?
Titel: Re: RichText übernehmen
Beitrag von: Tode am 06.06.06 - 11:54:34
fang doch einfach mal an, Dich ein wenig in Script und die Klassen einzuarbeiten und lies Dir die Hilfe durch. Dass ich (oder irgend jemand sonst) Dir hier code hinklatscht, den Du dann kopierst ohne ihn zu verstehen, wird Dir gar nix helfen.

Stichworte:

NotesUIWorkspace.PicklistCollection um das Quell- Dokument (von dem Du kopieren willst) zu bekommen

NotesRichtextItem um an das Richtext- Feld mit dem JPG zu kommen
NotesEmbeddedObject um an das JPG- File zu kommen

Extract zum abhängen in einen Temporären Ordner

Set db = NotesSession.CurrentDatabase um die aktuelle Datenbank zu bekommen

Set doc = New NotesDocument( db ) um ein neues Dokument zu erstellen
Set body = New NotesRichtextItem( doc , "Body" ) für ein RichtextItem im neuen Dokument

body.EmbedObject( ... ) um das abgehängte JPG wieder ins Richtextitem zu kriegen

Kill ... um das Temporär auf Platte liegende JPG wieder zu löschen...

ws.EditDocument( ... ) um das neu erstellte Dokument im Frontend anzuzeigen...

Tode

Titel: Re: RichText übernehmen
Beitrag von: two7 am 06.06.06 - 12:51:50
das hab ich auch nicht erwartet ... das mir das hier jemand reinklascht.

vielen dank für deine tipps. werd mich dem mal gleich annehmen.
Titel: Re: RichText übernehmen
Beitrag von: koehlerbv am 06.06.06 - 18:59:23
Statt das Attachment abzuhängen, wäre übrigens ein NotesItem.CopyToDocument noch einfacher (und Du brauchst Dich nicht gleich am Anfang Deiner LS-Lernphase mit NotesRichText herumplagen).

Bernhard
Titel: Re: RichText übernehmen
Beitrag von: two7 am 06.06.06 - 21:58:45
Hi koehlerbv,

könntest du mir näher eklären was genau du meinst?
Titel: Re: RichText übernehmen
Beitrag von: koehlerbv am 06.06.06 - 23:05:41
Das steht in der DesignerHelp genau beschrieben: Siehe Klasse NotesItem und dort die entsprechende (genannte) Methode.

Noch ein wichtiger Hinweis: Da Du mit RichText items dealen willst, musst (bzw. solltest) Du Deinen Ansatz für das Erstellen der Kopie ändern: Erst das zu kopierende Dokument auswählen und die Kopie anfertigen (hier könntest Du sogar - wenn Du wirklich alle Items übernehmen willst - mit NotesDocument.CopyToDatabase arbeiten) und dann erst das neu erstellte Dokument im FrontEnd öffen (nach dem leider erforderlichen Speichern, was sich nicht umgehen lässt), da Du ansonsten kopierte oder anderweitig modifizierte RTIs nicht im FrontEnd sehen wirst.

Ein ganz anderer Weg wäre das Kopieren des Inhalts eines RTIs über das FrontEnd: Original-Dokument kopieren (ohne RTI!), ohne Speichern die Kopie im FrontEnd öffnen. Ebenfalls im FrontEnd das Original öffnen, den Inhalt des RTFs in die Zwischenablage kopieren, das Original im FrontEnd wieder schliessen und im FrontEnd in das entsprechende RTF den Inhalt der Zwischenablage wieder fallen lassen.

Vorher gilt es aber, sich überhaupt erstmal in LS einzuarbeiten. Diese Sachen sind nicht trivial, und auf schnelle Erfolge (ohne fleissiges Lernen) würde ich nicht setzen.

Bernhard
Titel: Re: RichText übernehmen
Beitrag von: two7 am 07.06.06 - 08:18:12
vielen dank für deine tipps koehlerbv