Autor Thema: Inhalte eines Dokuments werden gelöscht bei Feldzuweisung  (Gelesen 3633 mal)

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Hallo liebe Notesgemeinde,

ich habe folgendes Problem:

Beim öffnen eines Dokumentes, welches eine Queryopen und ein Postopenfunktion hat, werden bei einer Feldzuweisung im Postopen alle Inhalte im Dokument gelöscht.

Also

1. Doppelklick auf das gewünschte Dokument

2. Queryopen kontrolliert ob der Benutzer rechte hat das Dok zu öffnen (hat er)

3. QueryOpen wir gestartetet

3.1. DAs Dokument wird auf uidoc.editmode = true gesetzt
3.2. Es wird geprüft ob die Variable/Feld auf "True" gesetzt ist.
3.3. Das Feld wird auf "True" gesetzt --> Inhalt des Dokuments wird gelöscht
3.4. - XXX andere Sachen

Anbei die Stelle die Probleme verursacht

Code
Sub Postopen(Source As Notesuidocument)
	
REM Umgebung
    Dim workspace As New NotesUIWorkspace
    Dim session As New NotesSession
	
REM Standard
    Dim doc As NotesDocument
    Dim db As NotesDatabase
    Set db = session.CurrentDatabase
    Set doc = source.Document

    Call Anonymisieren

    Call SetBewertung
End Sub

Sub Initialize
    Set workspace = New NotesUIWorkspace
    Set  session = New NotesSession
    Set db = session.CurrentDatabase
    Set uidoc = workspace.CurrentDocument
    Set doc = uidoc.Document
End Sub

Sub Anonymisieren '(Aufgerufen durch QueryOpen)
    Set uidoc = workspace.CurrentDocument
    uidoc.EditMode = True
End Sub

Sub SetBewertung '(Aufgerufen durch QueryOpen)
    If Not (doc.Anonym(0) = "True")  Then
        doc.Anonym = "True" '<-- Hier werden die INhalte gelöscht
        If uidoc.EditMode= False Then
            uidoc.EditMode = True
        End If
        If doc.Bewertungskey(0) <> "" Then 
            Call uidoc.Save
        End If
    End If
.....
End Sub

P.S. Der Code des queryopens und postopens liegen in einer Scriptlibary....

Ich hoffe ihr könnt mir helfen und ich konnte mich verständlich ausdrücken

MFG
Christian
« Letzte Änderung: 29.06.09 - 14:09:43 von C_T »
Viele Grüße

Christian T.

Offline DannyCrown

  • Junior Mitglied
  • **
  • Beiträge: 93
  • Geschlecht: Männlich
  • Use Kill with care - Designer Hilfe
Re: Inhalte eines Dokuments werden gelöscht bei Feldzuweisung
« Antwort #1 am: 24.06.09 - 08:58:25 »
mh, weiß zwar nicht warum es so nicht geht, aber hast du es mal mit der anderen Schreibweise probiert?

call doc.ReplaceItemValue( "Anonym", True) ?
MfG Daniel O0

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Re: Inhalte eines Dokuments werden gelöscht bei Feldzuweisung
« Antwort #2 am: 24.06.09 - 09:19:05 »
ich habe mal die schreibweise geändert keine änderung.

Doch ich habe jetzt auch mal testweise die zeile auskommentiert und das dokument wird nicht gelöscht.....

Ich meine häääää warum?
Viele Grüße

Christian T.

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Inhalte eines Dokuments werden gelöscht bei Feldzuweisung
« Antwort #3 am: 24.06.09 - 09:20:25 »
Hallo,

Ich frage auch mal so in s Blaue hinein.

Werden die Werte wirklich geloescht (Felder geleert) oder existieren "HideWhen-Formeln", die die betreffenden Felder einfach nur ausblenden, wenn der Wert im Feld "Anonym" auf den Wert "True" gesetzt wird.


Andreas

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Inhalte eines Dokuments werden gelöscht bei Feldzuweisung
« Antwort #4 am: 24.06.09 - 09:45:22 »
wenn du dir im Debugger die Items ansiehst, werden die wirklich an dieser Stelle gelöscht?
Haben die bis zu dieser Stelle Werte und stehen sie auf ""?


Falls nicht:
Wird evt. zur Anzeige danach eine andere Maske angezogen?

grüsse

Dau-in
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline tks

  • Senior Mitglied
  • ****
  • Beiträge: 425
  • Geschlecht: Männlich
  • ...für'n Fuss
Re: Inhalte eines Dokuments werden gelöscht bei Feldzuweisung
« Antwort #5 am: 24.06.09 - 10:43:20 »
Hhhmmm.....

durch doc.Anonym = "True"

werden doch keine Felder gelöscht. Hier wird nur ein Feldwert gesetzt. Wo passiert die Löschung?

Und das setzen des Feldes im Backend-Dokument hat zunächst mal noch keine Auswirkung auf die Felder im Front-End (uidoc). Liegt hier vielleicht auch schon das Problem?
Thomas

*********************************
Domino 8.5.3FP6 unter W2K12
Notes 8.5.3 unter Win7
sequrIQ (watchdog & crypt)
*********************************

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Re: Inhalte eines Dokuments werden gelöscht bei Feldzuweisung
« Antwort #6 am: 24.06.09 - 11:10:11 »
Also hi schonmal danke für eure mühe....


Folgendes ich schaue mir das ganze per debugger an somit konnte ich so genau feststellen wann die felder geleert werden. Scheinbar werden die Felder nur im UIDOC geleert was aber beim speichern halt aufs doc auswirkt, logisch.

Dennoch verstehe ich nicht warum das an dieser stelle passiert.

P.S. Die Felder in dem Dokument sin eigentlich fast alle Berechnet (@thisvalue)

und diesen Code und auch die handhabe mit den Feldern benutzte ich noch in anderen Dokumenten(Masken) in der gleichen DB und dort funzt es...
Viele Grüße

Christian T.

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Re: Inhalte eines Dokuments werden gelöscht bei Feldzuweisung
« Antwort #7 am: 24.06.09 - 11:11:58 »
P.S. und nein dort gibt es keine HideWenn Formeln
Viele Grüße

Christian T.

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Inhalte eines Dokuments werden gelöscht bei Feldzuweisung
« Antwort #8 am: 24.06.09 - 13:25:55 »
Ich komme jetzt durcheinander:

- du hast ein Backenddokument doc, auf das du über Source.document zugreifst

- du rufst die Routine 'anonymisieren'  (blöder Name für das, was sie tut) , definierst dir ein Frontenddokument uidoc, auf das du über den Workspace zugreifst und setzt dieses in den Editiermodus

- du rufst die routine 'Bewertung' auf und und weist im Backenddokument einem Item einen neuen Wert zu:
doc.Anonym = "True" '<-- Hier werden die INhalte gelöscht

und im Debugger siehst du, wenn er auf doc.Anonym = "True" ' steht, Werte im uidoc eingetragen, und wenn er eine Zeile weiterspringt nicht mehr?

Ist das uidoc wirklich das Frontenddokument zum Backenddokument, oder wird da irgendwie ein  ganz neues Dokument erzeugt? Das würde erklären, warum berechnete Felder mit @thisvalue plötzlich auf leer stehen.

Und eine blöde Frage: warum wird im Backend ein Item gesetzt, und danach bei einer bestimmten Bedingung das Frontenddokument gespeichert?





mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Re: Inhalte eines Dokuments werden gelöscht bei Feldzuweisung
« Antwort #9 am: 24.06.09 - 14:41:03 »
@Dau-in:

Also den Debugger habe ich nicht maximiert und sehe daher neben meinem Debuggerfenster wie das Dokument im Frontend geöffnet wird. DIe Felder im Front sowie Backend sind bis zu der Zeile "Doc.anonym = "true" identischt und beide gefüllt.

Nachdem aber diese Zeile bearbeitet ist, verschwinden die Inhalte aus dem Frontend dokument.
Viele Grüße

Christian T.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Inhalte eines Dokuments werden gelöscht bei Feldzuweisung
« Antwort #10 am: 24.06.09 - 14:53:01 »
Wie und wann instantiierst Du eigentlich uidoc und doc für Deine Routine SetBewertung?
Im QueryOpen hast Du ja noch keinen Zugriff auf Items im Backend. Und wenn Du dann noch ein uidoc.Save machst, machst Du natürlich alles platt - Du hast ja noch nichts an der Hand.

Bernhard

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Re: Inhalte eines Dokuments werden gelöscht bei Feldzuweisung
« Antwort #11 am: 24.06.09 - 15:41:56 »
wie oben geschrieben im Initialize der ScriptLibary....


Habe auch schon probiert direkt in dem Sub "SetBewertung" die sachen zu deklarieren und zu definieren hat aber auch keine änderung gebracht
Viele Grüße

Christian T.

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re: Inhalte eines Dokuments werden gelöscht bei Feldzuweisung
« Antwort #12 am: 24.06.09 - 15:47:54 »
Warum setzt Du das Feld eigentlich überhaupt im Backend - wenn Du gleichzeitig das Dokument im Frontend öffnest?
Warum setzt Du das Feld nicht im Frontend?
Bzw: Was willst Du damit erreichen?

Mal völlig davon abgesehen, dass das Verhalten Deiner Dokumente nicht nachvollziehbar ist...jedenfalls nicht für mich.
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Re: Inhalte eines Dokuments werden gelöscht bei Feldzuweisung
« Antwort #13 am: 29.06.09 - 09:01:54 »
@Ghandi

Das Verhalten des DOkuments ist für mich auch nicht nachvollziehbar, deshalb hab ich ja gehofft hier auf hilfe zu stoßen.

Aber wegen dem Frot/Backend thematik werde ich nochmal ausprobieren das ich den ganzen kram mal nur übers frontend regle
Viele Grüße

Christian T.

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Re: Inhalte eines Dokuments werden gelöscht bei Feldzuweisung
« Antwort #14 am: 29.06.09 - 14:09:24 »
Hallo liebe Gemeinde,

zuerst danke ich euch vielmals für eure Hilfe...

Es scheint als ob ich den Fehler gefunden habe. Es gab ein Feld in der Maske welches ich nicht anklicken d.h. markiere und auswählen konnte. Da dieses Feld leer ist sowie bei allen anderen Gutachten auch, habe ich das Feld gelöscht und es scheint als ob es nun funktioniert.


Also nochmals vielen DANK

Viele Grüße

Christian T.

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Inhalte eines Dokuments werden gelöscht bei Feldzuweisung
« Antwort #15 am: 29.06.09 - 14:14:01 »
Hallo,

War eventuell in diesem Feld der Code versteckt, der bei "Doc.Anonym=True" die beschriebenen  Aktionen ausgefuehrt hat?


Andreas

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Inhalte eines Dokuments werden gelöscht bei Feldzuweisung
« Antwort #16 am: 29.06.09 - 15:26:18 »
Hallo,

War eventuell in diesem Feld der Code versteckt, der bei "Doc.Anonym=True" die beschriebenen  Aktionen ausgefuehrt hat?


Andreas

Aber durch das Setzen eines Items im Backend werden doch keine Aktionen auf Feldebene ausgelöst?
Und da das Backenddokument nicht gespeichert wird und kein Reload stattfindet, sollte doch auch das Speichern des Frontenddokumentes keinerlei Auswirkungen haben, da das Frontenddokument doch nichts von der Änderung des Backenddokumentes weiss?

Oder liege ich da falsch?

grüsse

Dau-in
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline C_T

  • Senior Mitglied
  • ****
  • Beiträge: 272
  • Geschlecht: Männlich
Re: Inhalte eines Dokuments werden gelöscht bei Feldzuweisung
« Antwort #17 am: 29.06.09 - 15:29:00 »
@ascabg

Nein,

wie gesagt das Feld war absolut defek, man konnte es nicht mal mehr markeiren um zu sehen ob da code hinter versteckt ist, jedoch auf das Feld anoym kann es kein zugriff gehabt haben, da das Feld Anonym erst vor kurzem neu hinzugefügt wurde.

Es scheint das Dieses Feld einfach das DOkument (Wie auch immer) zerpflückt hat.

@Dau-In

das ist eigentlcih korrekt sowweit ich das auch sehe, jedoch hat das ja scheinbar weder was mit dem Scrupt noch mit dem Front bzw Backenddokument zu, es schient wie gesagt lediglich an dem Feld gelegen haben...
Viele Grüße

Christian T.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz