Autor Thema: RenderToRTItem aus anderer DB  (Gelesen 3651 mal)

Offline CLP-Alex

  • Junior Mitglied
  • **
  • Beiträge: 55
RenderToRTItem aus anderer DB
« am: 25.06.08 - 13:51:07 »
Hy zusammen,

ich habe einen Backendagent der über database -> view mir ein doc aus einer anderen DB holt.
Kann ich dieses doc nicht mit RenderToRTItem in ein doc der aktuellen DB packen?

Oder gibt es da eine andere Möglichkeit?

Gruß und Danke

Alex

klaussal

  • Gast
Re: RenderToRTItem aus anderer DB
« Antwort #1 am: 25.06.08 - 14:03:57 »
Warum sollte das nicht gehen ?

Offline CLP-Alex

  • Junior Mitglied
  • **
  • Beiträge: 55
Re: RenderToRTItem aus anderer DB
« Antwort #2 am: 25.06.08 - 14:18:59 »
agent bricht mit "Entry not found in index (4000)" ab. hier mal der code

tmpdoc und archivdoc werden oben gesetzt und sind auch vorhanden

Code
'--------------------------- screenshot ---------------------------
	On Error Goto testerror
	Msgbox "vorher"
	Call archivdoc.Save(True,False)	
	Set arch_rtitem = archivdoc.GetFirstItem( "arch_disp" )
	If arch_rtitem Is Nothing Then
		Set arch_rtitem = archivdoc.CreateRichTextItem( "arch_disp" )
	End If
	Msgbox "item erstellt"
	Call tmpDoc.RenderToRTItem( arch_rtitem )
	Call archivdoc.Save(True,False)	
	Msgbox "nachher"
testerror:
	Msgbox ("Fehler in equest-Base (Archiv) " & Error & " (" & Err &  ") in Zeile: " & Erl)
	Exit Function

klaussal

  • Gast
Re: RenderToRTItem aus anderer DB
« Antwort #3 am: 25.06.08 - 14:28:22 »
Ich würde mal das Beispiel aus der Hilfe ansehen.
Das habe ich schon oft benutzt und das funzt auch.

Zitat
Call tmpDoc.RenderToRTItem( arch_rtitem )
... Habe ich so in dieser Form noch nie gesehen (was aber nix heissen will).

Offline CLP-Alex

  • Junior Mitglied
  • **
  • Beiträge: 55
Re: RenderToRTItem aus anderer DB
« Antwort #4 am: 25.06.08 - 14:59:42 »
Beispiel aus der Hilfe klappt auch nicht.
Kann mir nur vorstellen das er meine Maske nicht findet???

Call tmpDoc.RenderToRTItem( arch_rtitem )
ist doch das gleiche wie
success = docA.RenderToRTItem( rtitem )
nur die Variablenamen sind anders.

Gruß Alex

klaussal

  • Gast
Re: RenderToRTItem aus anderer DB
« Antwort #5 am: 25.06.08 - 15:03:24 »
Zitat
tmpdoc und archivdoc werden oben gesetzt und sind auch vorhanden

Zitat
Kann mir nur vorstellen das er meine Maske nicht findet???

Das widerspricht sich jetzt aber.

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: RenderToRTItem aus anderer DB
« Antwort #6 am: 25.06.08 - 15:06:02 »
1) Ich würde anstelle des "Call tmpDoc.RenderToRTItem" auf jeden Fall die Version mit dem Rückgabewert nehemn und den Rückgabewert auch auswerten.

2) Der Satz "If the target rich text item is in a new document, you must save the document before calling RenderToRTItem." in der Designer-Hilfe ist Dir schon aufgefallen? Ich vermute mal, dass es daran liegt. Erst archivdoc speichern, dann RenderToRTItem.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline CLP-Alex

  • Junior Mitglied
  • **
  • Beiträge: 55
Re: RenderToRTItem aus anderer DB
« Antwort #7 am: 25.06.08 - 15:10:45 »
Weshalb denn.

tmpdoc wird im per agent (in DB A) aus DB B geholt -> ist laut debugger vorhanden
archivdoc wird vorher in DB C neu erstellt und gespeichert -> ist laut debugger vorhanden

tmpdoc.form ist auch gesetzt. ich meinte nur das die Maske aus DB B nicht gefunden/gezogen wird
es sind auch Teilmasken enthalten.

ein Dokument sind ja nur Felder und Werte ohne Maske

Gruß Alex

Offline CLP-Alex

  • Junior Mitglied
  • **
  • Beiträge: 55
Re: RenderToRTItem aus anderer DB
« Antwort #8 am: 25.06.08 - 15:13:10 »

2) Der Satz "If the target rich text item is in a new document, you must save the document before calling RenderToRTItem." in der Designer-Hilfe ist Dir schon aufgefallen?

schau dir mein script im 3. post mal an ;-)

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: RenderToRTItem aus anderer DB
« Antwort #9 am: 25.06.08 - 15:18:13 »
Ja, Deinen Code habe ich gesehen. Deswegen ist mir ja die Diskrepanz zur Designer-Hilfe aufgefallen.

Du schreibst:
Code
	Set arch_rtitem = archivdoc.GetFirstItem( "arch_disp" )
	If arch_rtitem Is Nothing Then
		Set arch_rtitem = archivdoc.CreateRichTextItem( "arch_disp" )
	End If
	Call tmpDoc.RenderToRTItem( arch_rtitem )
	Call archivdoc.Save(True,False)	
Falls die IF-Bedingung greift, ist "archivdoc" mit dem neuen RTItem "arch_rtitem" nicht gespeichert, bevor RendertToRTItem aufgerufen wird => "If the target rich text item is in a new document, you must save the document before calling RenderToRTItem."

Das RTItem muss/sollte IMMER zuerst gespeichert werden, bevor man mit LotusScript Methoden was hineinschreibt.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline CLP-Alex

  • Junior Mitglied
  • **
  • Beiträge: 55
Re: RenderToRTItem aus anderer DB
« Antwort #10 am: 25.06.08 - 15:30:53 »
Ich glaube es ist Zeit für den Feierabend.

Problem ist gelöst, die Form wird vorher geändert  :o

achja, die If arch_rtitem Is Nothing Then.... war nur mal zum testen gedacht

Danke und Gruß
Alex

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz