Autor Thema: Problem mit IsNewDoc  (Gelesen 1862 mal)

Offline stitze

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
    • kleisterbande
Problem mit IsNewDoc
« am: 31.03.06 - 08:25:09 »
Morgen liebes Notes Forum User

ich hab da wieder ma ein Prob wo ich nicht so ganz hinter steige.

Ich habe ein Hauptdokument. Wenn ich dann auf die Aktion "Neuer Beitrag" klicke wird wie folgt ein Antwortdokument erstellt und geöffnet.

Code
Sub Click(Source As Button)
	Dim workspace As New NotesUIWorkspace 
	Dim session As New NotesSession
	Dim database As NotesDatabase 
	Dim uidocProblem As NotesUIDocument 
	Dim documentProblem As NotesDocument
	Dim documentResponse As NotesDocument
	
	Set uidocProblem = workspace.CurrentDocument 
	Set documentProblem = uidocProblem.Document 
	Set database = session.CurrentDatabase 
	
	Set documentResponse = New NotesDocument( database )
	
	Call documentResponse.MakeResponse( documentProblem )
	documentResponse.Form = "frmBeitrag"
	documentResponse.UnlockFlag = "1"
	
	Call workspace.EditDocument( True, documentResponse )
End Sub

Beim speichern des Antwortdokumentes sollen nun unterschiedliche Aktionen durchgeführt werden. Unter anderem soll eine eMail verschickt werden, wenn das Dokument ein neues Dokument ist. Dafür habe ich den entsprechenden Code in die QuerySave Methode des Antowrtdokumentes geschrieben.

Code
Sub Querysave(Source As Notesuidocument, Continue As Variant)
	Dim session As New NotesSession
	Dim database As NotesDatabase
	
	Dim uncachedProfileDoc As New UncachedProfile( "UncachedProfileDocument" )
	Dim parentDocument As NotesDocument
	Dim responseDocument As NotesDocument
	Dim mail As NotesDocument 
	Dim subject As NotesItem
	Dim sendTo As NotesItem
	Dim body As NotesRichTextItem 
	
	Dim strSubject As String
	Dim strUser As String
	Dim strSupportGroup As String
	
	Dim rtfParentHistory As NotesRichTextItem 
	
	Set database = session.CurrentDatabase 
	
	Set responseDocument = Source.Document 
	Set parentDocument = database.GetDocumentByUNID( responseDocument.ParentDocumentUNID )
	
	If Source.IsNewDoc = True Then
		Call responseDocument.ReplaceItemValue( "UnlockFlag", "1" )	
		
		Set mail = New NotesDocument( database )
		
		strSubject = "Neuer Beitrag " & Source.FieldGetText( "Briefdescription" ) & " zu Problem " & parentDocument.GetItemValue( "Subject" )
		
		Set subject = New NotesItem( mail, "Subject", strSubject )
		
		strSupportGroup = parentDocument.GetItemValue( "PickSuppourtgroup" )
		
		strUser = uncachedProfileDoc.GetUserProfileEntry( "SupportgroupSave" )	
	End If
	
	Call AddHistory( 1, Source.FieldGetText( "Briefdescription" ), responseDocument.User(0), parentDocument )
	
	If responseDocument.CheckboxSolution(0) = True Then
		Call parentDocument.ReplaceItemValue( "IsSolved", "1" )	
		Call parentDocument.Save( True, False )
	End If
	
	Call AddHistory( 2, parentDocument.GetItemValue( "Subject" ), responseDocument.User(0), parentDocument ) 	
End Sub

Aber irgendwie geht der liebe Herr Notes nicht in den Abschnitt nach If Source.IsNewDoc Then ... obwohl es ein neues Dokument ist. Ich bin  ???

Komischer weise funktionier der Debugger auch nicht, heisst obwohl der an ist geht er nicht in den Quelltext rein.

Danke für Eure wie immer kompetente Hilfe bereits im Vorraus

Mfg

Sebastian
When i loaded my cap gun , i'm ready for action.

Saying that Java is nice because it works on all OS's is like saying anal sex is nice because it works on all genders.

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Problem mit IsNewDoc
« Antwort #1 am: 31.03.06 - 08:32:28 »
Hi Sebastian,

hast du schonmal im Debugger nachgeschaut, welchen Wert die Variable/Eigenschaft "IsNewDoc" hat? Ich hatte ähnliches Problem zu lösen und habe es so umgesetzt:
Im Event Queryopen habe ich mir den Wert des Status in eine "globale" Variable geschrieben. Diese kann dann in anderen Events ausgelesen und bewertet werden.

Ciao, Volker
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline stitze

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
    • kleisterbande
Re: Problem mit IsNewDoc
« Antwort #2 am: 31.03.06 - 08:34:06 »
Da ich leider auch probs mit meinem Debugger habe (wie oben beschrieben ;) ) habsch das nicht geprüft aber die Idee mit dem QueryOpen find ich gut teste ich direkt ma an, Danke. jor
When i loaded my cap gun , i'm ready for action.

Saying that Java is nice because it works on all OS's is like saying anal sex is nice because it works on all genders.

Offline stitze

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
    • kleisterbande
Re: Problem mit IsNewDoc
« Antwort #3 am: 31.03.06 - 08:41:50 »
So hab das mal angetestet. Im QuerOpen gehts nit, da darf ich keine Werte in Felder schreiben, zumindest nicht über das NotesUIDocument, da will ichs aber  ^-^

So dann hab ich es einfach ins PostOpen reingepackt müsste ja auch gehen, aber IsNewDoc ist imma False, aber dürfte gar nit False sein ich speicher doch vorher nicht.
When i loaded my cap gun , i'm ready for action.

Saying that Java is nice because it works on all OS's is like saying anal sex is nice because it works on all genders.

Offline jor

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Problem mit IsNewDoc
« Antwort #4 am: 31.03.06 - 09:03:25 »
Jep, schreiben in Felder im Queryopen geht nicht, ich hatte es so verstanden das du dei Eigenschaft ISNewDoc auslesen möchtest, das geht. An Feldwerte kommst du, wenn du
z. B. folgendes nutzt: Variable = Source.Document.GetItemValue("blabla").
Ich nutze gern diesen Event, da ich hier schonmal abfrage ob Zugriffe auf ein Dok erlaubt sind, sonst schliesse ich es sofort. Dadurch bekommt der Benutzer maximal einen Hinweistext, den ich hinterlegt habe, zu sehen. Gegen Postopen spricht m. M. nach auch nichts.

Have a nice day, Volker
Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

In diesem Sinne, viele Grüsse Volker (Jor)

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Problem mit IsNewDoc
« Antwort #5 am: 31.03.06 - 09:17:03 »
Über diese Problematik bin ich auch schon des öfteren gestolpert.

Wenn ein Dokument im Backend angelegt und dann im Frontend geöffnet wird, zieht die Abfrage Source.IsNewDoc nicht mehr. Auch wenn das Dokument noch nie gespeichert wurde.

Du könntest es mal mit der Backend-Variante notesdocument.IsNewNote versuchen.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline stitze

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
    • kleisterbande
Re: Problem mit IsNewDoc
« Antwort #6 am: 31.03.06 - 09:31:16 »
Danke Axel werd ich machen, ich habs jetzt ähnlich gelöst wie der Volker das vorgelschlagen hat. Ich hab mir ein Feld erstellt NewDoc, und überprüfe beim PostOpen obs leer ("") ist wenn ja, schreib ich ne 1 rein, beim speichern schrieb ich ne 0 rein. steht ne 1 in dem feld ist es ein neues dok. So funzt das, mich würd nur mal jucken warum ibm dieses feature da wieder rein gebastelt hat ;)

mfg

sebastian

probiere das mit dem IsNewNote aber auch nochma aus.
When i loaded my cap gun , i'm ready for action.

Saying that Java is nice because it works on all OS's is like saying anal sex is nice because it works on all genders.

Offline stitze

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
    • kleisterbande
Re: Problem mit IsNewDoc
« Antwort #7 am: 31.03.06 - 10:00:25 »
Mh mit IsNewNote funzt irgendwie auch nicht, weiss auch nicht genau warum, die vermutung das es daran liegt das die werte noch nicht im backend angekommen sind liegt ja eigentlich nahe, aber wenn ich es noch nicht gespeichet habe ist das ja eigentlich logisch, nur dann erschliest sich mir nicht so der sinn von IsNewNote?
When i loaded my cap gun , i'm ready for action.

Saying that Java is nice because it works on all OS's is like saying anal sex is nice because it works on all genders.

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Problem mit IsNewDoc
« Antwort #8 am: 31.03.06 - 10:13:33 »
Ich hab' das bei mir mal probiert und es funzt einwandfrei. Wo und wie hast du denn die Abfrage eingebaut?

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz