Autor Thema: Verständnisproblem  (Gelesen 15122 mal)

Offline Demian

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 569
  • Geschlecht: Männlich
Verständnisproblem
« am: 25.02.07 - 09:46:23 »
Moin,moin,

wieso funktioniert untenstehender Code auch ohne call doc.save(true,false)???Werden im Backend gesetzte Flags automatisch gespeichert?


Code
Sub Click(Source As Button)
	'****************************************************************************************
	'Diese Prozedur ändert das Flag "verliehen" auf 0, und öffnet das aktuelle Dokument erneut,damit die 
                'Felder in der Maske bearbeitbar sind.
                '****************************************************************************************
	'Allgemein
	Dim work As New NotesUIWorkspace
	Dim uidoc As NotesUIDocument
	Dim s As New NotesSession
	Dim db As NotesDatabase
	Dim doc As NotesDocument
	Dim ID As String
	'*****************************************************************************************
	
	Set uidoc = work.CurrentDocument
	Set doc = uidoc.Document
	
	ID = doc.NoteID
	
	doc.verliehen = "0"
	
	'Call doc.Save(True,False)	
	Call uidoc.Close(True)
	
	Set db = s.CurrentDatabase
	Set doc = db.GetDocumentByID(ID)
	Call work.EditDocument(True,doc)	
End Sub


Gruß
Demian
Gruß
Demian

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: Verständnisproblem
« Antwort #1 am: 25.02.07 - 13:18:53 »
SaveOptions Feld auf "1" gesetzt?
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 Demian

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 569
  • Geschlecht: Männlich
Re: Verständnisproblem
« Antwort #2 am: 25.02.07 - 18:22:32 »
Moin Martin,

nicht bewusst per Code. Wenn man sich die vorhandenen Flags des Dokuments in den Eigenschaften ansieht, ist SaveOptions auch nicht vorhanden.

Gruß
Demian
Gruß
Demian

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Verständnisproblem
« Antwort #3 am: 25.02.07 - 18:38:48 »
Irgendwas musst Du aber anstellen, denn das pure NotesDocument.ItemName = "wert" speichert garantiert nichts.

Bernhard

Offline Demian

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 569
  • Geschlecht: Männlich
Re: Verständnisproblem
« Antwort #4 am: 25.02.07 - 22:27:35 »
Hallo,

im Queryopen der Maske habe ich folgende Formel :
@If(VerwendetVon != "";@SetField("Verliehen";"1");@SetField("Verliehen";"0"))

Das Feld "VerwendetVon" ist aber zu dem Zeitpunkt, wo o.g. Code ausgeführt wird <> "", also wird Verliehen ja auf 1 gesetzt.

Hatte in der Maske noch das Feld für das Flag mit Vorgabewert "0". Habe das Feld jetzt gelöscht, aber es geht immer noch ohne Speichern.

Bin etwas ratlos.

Gruß
Demian
Gruß
Demian

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Verständnisproblem
« Antwort #5 am: 25.02.07 - 23:25:31 »
Da uns Deine Datenbank nicht vorliegt, musst Du selber weitersuchen. Dein
doc.verliehen = "0"
ohne Call doc.Save speichert auf jeden Fall nichts.

Bernhard

Offline Demian

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 569
  • Geschlecht: Männlich
Re: Verständnisproblem
« Antwort #6 am: 26.02.07 - 00:12:09 »
werde dann mal weitersuchen...
Gruß
Demian

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Verständnisproblem
« Antwort #7 am: 26.02.07 - 00:19:19 »
Dir wird nichts anderes übrigbleiben ...

Bernhard

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Verständnisproblem
« Antwort #8 am: 26.02.07 - 18:41:19 »
also: Ich behaupte, dass Du zwar den im Backend gesetzten Wert siehst, dieser aber nicht wirklich gespeichert ist.
Verlässt Du das Dokument, ohne es erneut zu speichern, dann ist beim nächsten öffnen des Dokuments der Wert wieder weg.

Das Problem ist in Script: Du kriegst es durch Deine "Neu- Zuweisung" nicht wirklich hin, dass doc ein neues Objekt referenziert.

Ob das ein "bug" ist oder ein "feature" will ich gar nicht beurteilen, aber wenn Du mal mit dem Debugger durchgehst, wirst Du sehen, dass das Item "verliehen" immer mit "0" befüllt bleibt.

Kommentiere mal die zeile work.Edit... aus, und Du wirst sehen, dass gar nix gespeichert ist, wenn Du das doc manuell wieder öffnest...

Gruß
Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Demian

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 569
  • Geschlecht: Männlich
Re: Verständnisproblem
« Antwort #9 am: 26.02.07 - 19:34:14 »
Moin Tode,

sämtliche Felder in der Maske lassen sich aber nur bearbeiten, wenn Verliehen = 0 ist. Bevor die Aktion losläuft, ist Verliehen aber definitiv 1, weil sich keins der Felder bearbeiten lässt, wenn man in den Bearbeitungsmodus geht.

Gruß
Demian
Gruß
Demian

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Verständnisproblem
« Antwort #10 am: 26.02.07 - 20:17:28 »
Was nun: Verliehen = 0 oder Verliegen = "0"? Und was steht tatsächlich im Item Verliehen? Und hierzu nicht das Dokument öffnen - nicht, dass Du da auch noch ein cfd-Feld hineingebastelt hast ... Mittlerweile geht es ja immer mehr durcheinander in diesem Thread hier ...

Bernhard

Offline Demian

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 569
  • Geschlecht: Männlich
Re: Verständnisproblem
« Antwort #11 am: 26.02.07 - 21:01:48 »
was ist ein cfd-Feld? "0" steht im Feld. Wenn ich mir in ner Aktion mittels msgbox doc.verliehen(0) (doc =ins Backend geholten uidoc)

 
Gruß
Demian

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Verständnisproblem
« Antwort #12 am: 26.02.07 - 21:06:26 »
cfd = computed when displayed.

Und Du sollst das nicht im Frontend machen! Schau Dir das Item im zweiten Reiter der Dokumenteigenschaften an - ohne das Dokument zu öffnen.

Ich befürchte, Du hast noch an ganz einer anderen Stelle einen oder mehrere Denkfehler (was ja nicht schlimm ist in der Lernphase!). Wir kommen schon dahinter  ;)

Bernhard

Offline Demian

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 569
  • Geschlecht: Männlich
Re: Verständnisproblem
« Antwort #13 am: 26.02.07 - 21:19:01 »
Hallo Bernhard,

da steht im Flag Verliehen

Feldname: Verliehen
Datentyp: Text
Datenlänge: 1 Byte
Seq.-Num.: 17
Doppeleintrags-ID: 0
Feld-Flags: SUMMARY

"1"

Also ist ja die eins drin bevor ich es öffne.

Gruß
Demian
Gruß
Demian

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Verständnisproblem
« Antwort #14 am: 26.02.07 - 21:27:03 »
Und wenn Du jetzt noch die anderen Fakten (Formeln etc.) offenbarst, kommen wir sicherlich auch weiter. Keiner weiss hier, was Du da treibst ... Das einfachste wäre wohl, Du stellst die DB hier ein. Sonst wird das nix, da Du irgendwie sehr sparsam mit Infos bist ...

Bernhard

Offline Demian

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 569
  • Geschlecht: Männlich
Re: Verständnisproblem
« Antwort #15 am: 26.02.07 - 22:01:05 »
wird wohl das Beste sein...anbei die Datenbank.

Das Ganze findet in der Maske "Messgeräte" statt. Habe ein Testdokument drin. Mit der Aktion (unbenannt) wird der aktuelle Wert von Verliehen angezeigt.

Gruß
Demian

Gruß
Demian

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Verständnisproblem
« Antwort #16 am: 26.02.07 - 23:47:47 »
Ich habe mir die Datenbank jetzt mal angeschaut. Das sollten jetzt auch mal die "jüngeren" Forumsmitglieder tun (die noch nicht so viel Hilfe-Beiträge geleistet haben) und die Unstimmigkeiten zusammentragen.

Ich gebe mal ein paar Tipps:
- Frontend versus Backend
- QuerySave-Event ...
- weiteres ...

Jetzt bin ich mal gespannt, wie die Community abseits der bekannten Beitragslieferanten arbeitet. Ich mag jedenfalls nicht ... Hierfür braucht es wirklich keinen Professional.

Bernhard

Offline Demian

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 569
  • Geschlecht: Männlich
Re: Verständnisproblem
« Antwort #17 am: 27.02.07 - 07:30:40 »
Jaja, reibs mir nur schön unter die Nase, was ich für ein Laie bin  :P

Habe mir das Querysave der Maske nochmal angeschaut, werde aber trotzdem nicht schlau.

Gruß
Demian
Gruß
Demian

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Verständnisproblem
« Antwort #18 am: 27.02.07 - 08:05:39 »
Ich biete

FelderAbfragenUndSetzen.

André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline Demian

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 569
  • Geschlecht: Männlich
Re: Verständnisproblem
« Antwort #19 am: 27.02.07 - 08:50:30 »
Moin,moin,

das Querysave wird doch aber bei der Aktion "Daten ändern" gar nicht ausgeführt? Habe mir das jetzt im Debugger nochmal angeschaut, und das Flag verliehen wird zwar auf "0" gesetzt, hat jedoch nach dem Call work.EditDocument(True,doc)   wieder den Wert 1. Also wurde wie ihr ja schon gesagt habt der wert nicht gespeichert. Wieso lassen sich aber die Felder dann aber trotzdem bearbeiten????????

Gruß
Demian
Gruß
Demian

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz