Autor Thema: Im Frontend das Backend löschen  (Gelesen 2455 mal)

botschi

  • Gast
Im Frontend das Backend löschen
« am: 06.05.08 - 12:48:18 »
Hallo,

ich habe in der Maske einen Button, der Doks sammelt, diese in eine andere DB Kopiert und dann löscht. Das an sich funktioniert auch.
Leider soll das Dok im Frontend auch gelöscht werden und da hapert es noch. Das Dok wird auch gelöscht, allerdings bekomme ich die Meldung "Cannot remove Notesdocument when instantiated by NotesUIDocument" und das kann ich eigentlich auch nachvollziehen.
Ich versuch es so
Code
Call gvFrontendTicket.close(True)
	Call gvBackendTicket.remove(True)

Kann man das lösen, ohne die Meldung zu bekommen?  ::)

Matthias
« Letzte Änderung: 07.05.08 - 13:53:35 von botschi »

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Im Frontend das Backend löschen
« Antwort #1 am: 06.05.08 - 18:30:32 »
Mir fehlen ein wenig Details, wie du die beiden Dinger deklariert und belegt hast. Wahrscheinlich hast du aber dir das Backend per uidoc.Document beschafft, oder? In dem Fall würde ich mir das Backend über die Unique-Id und die aktuelle Notesdatabase beschaffen, nachdem du das UI geschlossen hast. Aber das ist nur eine Vermutung...

botschi

  • Gast
Re: Im Frontend das Backend löschen
« Antwort #2 am: 07.05.08 - 09:44:49 »
Sehr interessanter Ansatz, da bin ich noch gar nicht drauf gekommen.
Das Backend hole ich mir über das Frontend, hast Du richtig vermutet.

Ich probier das gleich mal aus.
Danke für den Hinweis!

Matthias

botschi

  • Gast
Re: Im Frontend das Backend löschen
« Antwort #3 am: 07.05.08 - 12:29:47 »
Das hat nicht funktioniert, kommt die gleiche Meldung.

Aber es funktioniert jetzt mit angehängtem Code, ich weiss aber nicht warum  ???
Das ist mir ehrlich noch nie passiert!
Code
Sub Click(Source As Button)
	
	Dim s As New NotesSession
	
	Set gvProfil = gvTTS.getprofileDocument("prof_Archiv")
	Set gvOrigTTS = s.GetDatabase(gvProfil.server(0), gvProfil.db(0))
	
	Dim ivAlteUnid As String
	Dim ivNeueUnid As String
	Dim ivHistorie As NotesDocument
	Dim ivVermerk As NotesDocument
	Dim ivNeueKopie As NotesDocument
'#########################################################		
	' aktuelles Ticket kopieren
	ivAlteUnid = gvBackendTicket.UniversalID
	Set ivNeueKopie = gvBackendTicket.CopyToDatabase(gvOrigTTS) ' kopieren
	ivNeueKopie.UniversalID = ivAlteUnid
	ivNeueUnid = ivNeueKopie.UniversalID
'	If ivAlteUnid <> ivNeueUnid Then
'		Msgbox "Jo"
'	End If
'#########################################################		
	
	gvKopieren = "ja"
	Call gvFrontendTicket.close(True)
	Exit Sub
	Set gvBackendTicket = Nothing
	Set gvBackendTicket = gvTTS.GetDocumentByUNID(ivAlteUnid)
	'Set gvFrontendTicket = Nothing
	'Sleep(1)
'	Call gvBackendTicket.remove(True)
	
	'Dim ws As New NotesUIWorkspace
	'Set gvFrontendTicket = ws.CurrentDocument
	'Call gvFrontendTicket.close(True)
	
End Sub

Laut Hilfe wird das Dok KOPIERT und nicht ausgeschnitten oder dergleichen. Es gibt kein 'remove' in dem Codeschnipsel. Es gibt auch keine Ansichts- oder Datenbankscripte oder sowas.

Kann mir bitte jemand sagen, warum das so funktioniert wie es soll?

botschi

  • Gast
Re: Im Frontend das Backend löschen
« Antwort #4 am: 07.05.08 - 13:54:48 »
Alles zurück!

Ich hab im Queryclose der Maske einen Agentenaufruf. Dieser Agent löscht das Dokument dann.
Völlig verwirrt gewesen  ::)

Matthias

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Im Frontend das Backend löschen
« Antwort #5 am: 07.05.08 - 14:20:08 »
Dann ist ja gut...  ;D Hatte eben auch gar nicht mehr so genau gucken können...

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz