Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Bellerophon am 09.03.09 - 15:42:35

Titel: Maske schließen, wenn Ansicht EIN Dokument enthält?
Beitrag von: Bellerophon am 09.03.09 - 15:42:35
*greetz* aus Köln!

Ich möchte beim öffnen einer Maske abfragen, ob in einer bestimmten Ansicht EIN Dokument vorhanden ist, wenn JA, dann soll sich die Maske nach einem Hinweis dazu wieder schließen.

Habe es schon mit folgender FORMEL versucht:

Code
@If(@Prompt([Ok];"Anzahl der vorhandenen Dokumente in dieser Datenbank: ";@Text(@Elements(@DbColumn( "" : "NoCache" ; "" : "" ; "NameAnsicht" ; Spaltennummer ))))=1;
@Prompt([Ok];"ACHTUNG";"Es gibt schon ein Dokument! Löschen, oder Editieren Sie dieses! Es darf NUR 1 Dokument geben!");"")

Leider ohne Erfolg! Die Meldung kommt zwar, aber die kommt auch wenn es KEIN Dokument in dieser Ansicht gibt.

Hat da einer ne Idee?




/Moderator-EDIT: Anpassung Code an Bildschirmgrösse
Titel: Re: Maske schließen, wenn Ansicht EIN Dokument enthält?
Beitrag von: koehlerbv am 09.03.09 - 15:46:43
@Prompt hat keinen Rückgabewert.

Mach das ganze in LotusScript und frage im QueryOpen die Anzahl der Dokumente ab. Vor allem solltest Du nur auf <> 0 testen, sonst funktioniert das ja auch bei mehr als einem Dokument nicht.

Bernhard
Titel: Re: Maske schließen, wenn Ansicht EIN Dokument enthält?
Beitrag von: Bellerophon am 09.03.09 - 15:58:19
Hi!

Naja, da waren Sie wieder, meine 11 Probleme:

L o t u s S c r i p t

KANN ich leider nicht ;-(
(OK, Formelsprache wohl auch nicht *grins*)
Titel: Re: Maske schließen, wenn Ansicht EIN Dokument enthält?
Beitrag von: pram am 09.03.09 - 19:30:42
Da hilft nur lernen, aber ich bin mal so nett und mach mal Hausaufgaben für dich.  ;)

Im Queryopen machst du folgendes rein

dim sess as new NotesSession
dim view as NotesView
set view = sess.currentDatabase.getView("NameAnsicht")
if view.EntryCount = 1  then
  msgbox "Es gibt nur ein Dokument"
  continue = false
end if

(ungetestet!)
Gruß
Roland
Titel: Re: Maske schließen, wenn Ansicht EIN Dokument enthält?
Beitrag von: Bellerophon am 10.03.09 - 07:35:59
Hallo aus Köln!

DAAAAANKKEEEEEE funzt Prima soweit.  :)

A-BÄR:
Jetzt kann ich das Dokument NICHT mehr Editieren  :-[ Kann man da etwas basteln, dass danach eine Abfrage kommt wie "Wollen Sie das Dokument bearbeiten" und sich das Dokument dann auch "Bearbeiten" lässt?
ODER sich das vorhandene Dokument im Bearbeitungsmodus öffnet?

PS:
Naja, habe es schon OFT mit Script versucht, war schon auf Lehrgang, aber da macht es bei mir einfach nicht "Klick"   :-:
Titel: Re: Maske schließen, wenn Ansicht EIN Dokument enthält?
Beitrag von: C_T am 10.03.09 - 08:17:14
HI,

bist du den Notesentwickler bei euch? Wenn ja solltest du vielleicht gucken, das du dich dennoch dadurch kämpfst, den du wirst sonst immer wieder an die Problematik kommen "In Formelsprache klappt das nicht!"

Dennoch war gerade motiviert: ;)

Im Queryopen machst du folgendes rein

dim sess as new NotesSession
dim view as NotesView
set view = sess.currentDatabase.getView("NameAnsicht")
if view.EntryCount = 1  then
  if Messagebox("Es gibt nur ein Dokument, wollen Sie es dennoch bearbeiten?",4) <> 6 then
  continue = false
end if

(ungetestet)

P.S. @Pram sry habe deinen Code als Vorlage genommen
Titel: Re: Maske schließen, wenn Ansicht EIN Dokument enthält?
Beitrag von: Kadlec am 10.03.09 - 09:16:09
Unabhängig davon dass Ihr natürlich Recht habt in Bezug auf Script warum nicht so:?
Temp := @Subset(@DbColumn("Notes" : "NoCache"; "";"CatNoOnHold_V" ; 6 );1);
@If(Temp != "";
@prompt([ok];"ACHTUNG";"Es gibt schon ein Dokument! Löschen, oder Editieren Sie dieses! Es darf NUR 1 Dokument geben!");@success)

Boris
Titel: Re: Maske schließen, wenn Ansicht EIN Dokument enthält?
Beitrag von: dirk_2909 am 10.03.09 - 09:28:12
Evtl. weil @Prompt kein Rückgabewert zurück gibt, um Continue auf False zu setzen?
Titel: Re: Maske schließen, wenn Ansicht EIN Dokument enthält?
Beitrag von: Kadlec am 10.03.09 - 09:34:20
OK ich habe jetzt das ganze Scenario nicht geprüft.
Aaaaber die Formel reagiert auf alle Fälle dahin, wenn Dokumente in der Ansicht entsprechende Meldung und wenn keine da sind keine Meldung.
Und da haperts ja schon beim Ersteller ds Freds, oder??
Titel: Re: Maske schließen, wenn Ansicht EIN Dokument enthält?
Beitrag von: dirk_2909 am 10.03.09 - 10:11:45
Oder!

Zitat
Ich möchte beim öffnen einer Maske abfragen, ob in einer bestimmten Ansicht EIN Dokument vorhanden ist, wenn JA, dann soll sich die Maske nach einem Hinweis dazu wieder schließen.

dann soll sich die Maske nach einem Hinweis dazu wieder schließen.
Titel: Re: Maske schließen, wenn Ansicht EIN Dokument enthält?
Beitrag von: Kadlec am 10.03.09 - 10:38:48
Ja das war schon klar und (bzw.) ich habe nur auf das Problem mit der falschen Rückgabe des @DbColumn geantwortet...weil.
Hatte in der Vergangenheit (schon lange her) gleiches Problem, hatte es so gelöst das ich den Button mit der Formel versteckt hatte, somit wenn Dok vorhanden kein Button zum erstellen.