Autor Thema: Dokument nur einmal pro Tag zur Bearbeitung zulassen.  (Gelesen 1394 mal)

Offline Raptor

  • Frischling
  • *
  • Beiträge: 3
  • Geschlecht: Männlich
Hallo,

ich stehe vor folgendem Problem:

Ich habe eine Maske, die pro Tag nur einmal mit Leben/Inhalt gefüllt werden soll und in der Datenbank abgespeichert wird um Manipulationen an der Meldung zu vermeiden.

In dieser Maske befindet sich ein Datumsfeld welches automatisch befüllt wird. Der Wert dieses Datumsfeldes ist in der ersten Spalte (aufsteigend sortiert) der betreffenden Ansicht gespeichert. Nun soll verhindert werden, dass in dieser Ansicht ein weiteres Dokument mit dem selben Datum erstellt wird.

Folgende Formel habe ich mir hierfür ausgedacht:

Code
@If((@DbLookup("Notes":"NoCache";"":"kvam1.nsf";"staerke";staerke_datum;1)=staerke_datum;@Prompt([Ok];"Hinweis";"Sie haben bereits für heute eine Stärke gemeldet!");@Command([FileSave]))

Anmerkungen:

- Die Datenbank liegt aus entwicklungstechnischen Gründen lokal auf meinem Client.
- Um die Zeit nicht mit im Datum zu haben, habe ich das entsprechende Feld mit:
Code
@Date(@Now)

befüllt und nur diesen Wert abgelegt.

Ich bekomme jetzt die Fehlermeldung "Eintrag im Index nicht gefunden, oder der Index für die Ansicht ist nicht aufgebaut"

Ich komme nicht weiter! Was mach ich falsch!!! Oder kann ich das Problem auf eine andere Art eleganter lösen?

Gruß

Raptor

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: Dokument nur einmal pro Tag zur Bearbeitung zulassen.
« Antwort #1 am: 19.04.06 - 15:13:03 »
Was machst, wenn in der Replik auf dem Server schon ein Dokument mit dem Datum existiert, ein User aber in seiner lokalen Replik, wo dieses Dok. ev. noch nicht da ist, ein neues Dokument erstellt? Dann funktioniert Dein Code nicht. ;)

Weiters ist der Vergleich @DbLookup("Notes":"NoCache";"":"kvam1.nsf";"staerke";staerke_datum;1)=staerke_datum unnötig. Vielmehr solltes Du - wie bei jedem @DBLookup - auf eventuelle Fehler prüfen. Wenn das @DBLookup einen Fehler zurücklieftert, gibt es noch kein Dokument mit dem Datum von staerke_datum. Wenn kein Fehler auftritt, ist schon ein Dok. vorhanden.
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 Raptor

  • Frischling
  • *
  • Beiträge: 3
  • Geschlecht: Männlich
Re: Dokument nur einmal pro Tag zur Bearbeitung zulassen.
« Antwort #2 am: 19.04.06 - 15:45:00 »
Die Datenbank soll später nur auf dem Server laufen ohne lokale Replik auf dem Client, ich habe die Datenbank nur zur Zeit lokal am laufen um besser mit ihr arbeiten zu können.

Das mit der Fehlerabfrage habe ich jetzt wie folgt umgesetzt:

Code
@If(@IsError(@DbLookup("Notes":"NoCache";"":"staerke.nsf";"staerke";staerke_datum;1));(@Command([FileSave]));(@Prompt([Ok];"Hinweis";"Sie haben bereits für heute eine Stärke gemeldet!")))

es funzt auch soweit, bis auf die Tatsache, dass jetzt mein @PROMPT nicht mehr ausgeführt wird???

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: Dokument nur einmal pro Tag zur Bearbeitung zulassen.
« Antwort #3 am: 19.04.06 - 15:58:37 »
Ev. weil Dein DB-Lookup wirklich einen Fehler wirft? Liegt die staerke.nsf wirklich im Root Deiner lokalen Notes-Installation? Gibts die View "staerke" wirklich?

Wie garantierst Du, dass niemand eine lokale Kopie der DB vorhält?  >:D  ;)
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 Raptor

  • Frischling
  • *
  • Beiträge: 3
  • Geschlecht: Männlich
Re: Dokument nur einmal pro Tag zur Bearbeitung zulassen.
« Antwort #4 am: 19.04.06 - 16:08:23 »
Vielen Dank für deine Hilfe konnte das Problem lösen.

Der code lautet jetzt, wie folgt:

Code
@If(@IsError(@DbLookup("Notes":"NoCache";"":"staerke.nsf";"staerke";staerke_datum;1));(@Command([FileSave]));(@Prompt([Ok];"Hinweis";"Sie haben bereits eine Stärke gemeldet!")):FIELD saveoptions:=0)

Das mit der Replizierung vom Server kann man doch bestimmt durch ACLs unterbinden??

MfG

Raptor

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz