Autor Thema: mail send --> Fehlermeldung spezielles Datenbankobjekt nicht gefunden  (Gelesen 7839 mal)

Offline harrymatty

  • Frischling
  • *
  • Beiträge: 37
Hallo Profis

ich habe von einer bestehenden DB mir eine lokale Kopie gezogen und sie abgeänder. Es klappt soweit alles bis zum finalen Ende.
Ich habe einen Button Mail senden und wenn der gedrückt wird kommt die Fehlermeldung: spezielles Datenbankobjekt nicht gefunden.

Formel die ausgef. werden soll:
@MailSend(SendTo;"";"";"Non Stage Gate Dokument: "+Registriernummer;"document constructed by  "+Author_G8;"please have a look to the new  Non Stage Gate document !";[IncludeDoclink])

ich habe hier schon die diversesten Kommentare angeschaut aber bin mit diesen Lösungsvorschlägen leider nicht klar gekommen.

Weiss jemand was und kann mir helfen. Ich bin nur ein Netzwerkadmin der nur sehr einfach gestrickte DB kann. Bitte eure Antworten so einfach wie möglich damit ich sie verstehe mit dem hier gefundenen kam ich nicht klar.

Danke für eure Hilfe schon mal vorab bis jetzt wars immer supi Harry
 

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Ist eine Vorgabeansicht und -maske gesetzt?

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

Offline harrymatty

  • Frischling
  • *
  • Beiträge: 37
Hallo,

meinst du wenn man die Kachel anklickt
Datenbank Eigenschaften angegebene Rahmengruppe öffnen
Name der Rahmendruppe.

Bzw. wo finde ich das

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Hallo,

Nein.

Eine Vorgabeansicht erkennst Du nur im Designer in der Uebersicht der in der Datenbank enthaltenen Ansichten.
(meist ein Stern vor der betreffenden Ansicht)

Das Dokument, welches als Dok-Link versendet werden soll, ist aber schon gespeichert?


Andreas

Offline harrymatty

  • Frischling
  • *
  • Beiträge: 37
Danke für deine Antwort !!

habe bis jetzt nur eine Ansicht und die hat keinen Stern

das Doc ist nicht vorher gespeichert

habe es so probiert funkt aber auch nicht gleiche Fehlermeldung

@Command([FileSave]);
@MailSend(SendTo;"";"";"Non Stage Gate Dokument: "+Registriernummer;"document constructed by  "+Author_G8;"please have a look to the new  Non Stage Gate document !";[IncludeDoclink])

Offline oxyd21

  • Senior Mitglied
  • ****
  • Beiträge: 371
  • Geschlecht: Männlich
Speichern sollte egal sein, die Ansicht wird das Problem sein.

https://www-304.ibm.com/support/docview.wss?uid=swg21090662&wv=1

VG, Michael

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Zitat
Speichern sollte egal sein, die Ansicht wird das Problem sein.
Soweit stimme ich dem zu.

Es muss schon eine Standardansicht (Defaultview) vorhanden sein.

Wenn ich jedoch einen Dokulink auf diese Art und Weise versende un ddas Dokument letztendlich nicht in der Datenbank gespeichert wird, so kommt es spaetestens beim Empfanger der Mail zu einem Fehler, wenn er den Link aufrufen moechte.


Andreas

Offline harrymatty

  • Frischling
  • *
  • Beiträge: 37
Hallo Michael,

Danke für deine Hilfe

der Link hats gebracht

1. There is no default view present in the database.

Designate one of the views in the database as the default by enabling the view property, 'Default when database is first opened'. Once this change is made, the @MailSend will work both with and without the [IncludeDocLink] parameter.

Euch beiden nochmals herzlichen Dank jetzt kann ich die Datenbank endlich fertig stellen.

Bin immer wieder begeistert von diesem Forum selbst absolute Notes Laien können mit einwenig Unterstützung aus dem Forum relativ schöne Datenbanken erstellen.

Nochmals vielen vielen Dank

Offline harrymatty

  • Frischling
  • *
  • Beiträge: 37
Hallo Axel,

Danke für deinen Hinweis habe den Befehl zum Doc send nur vereinfacht dargestellt.

in der Datenbank wird das Dokument so versendet:

@If(@IsNewDoc; @MailSend(SendTo;"";"";"Non Stage Gate Dokument: "+Registriernummer;"document constructed by  "+Author_G8;"please have a look to the new  Non Stage Gate document !";[IncludeDoclink]);"");
@Command([FileSave]);@Command([FileCloseWindow])

so und jetzt frisch motiviert und glücklich über eure Hilfe frisch ans fertig stellen der DB

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Dann hast Du hoffentlich keine Eingabevalidierung in Deiner Maske...

Im dümmsten Fall passiert folgendes:

- Anwender klickt Button
- Mail mit DocLink wird versendet
- Beim speichern wird die EIngabevalidierung getriggert, bringt ne Fehlermeldung, und das speichern schlägt fehlt
- Der anschliessende FileCloseWindow bringt die Meldung "Dokument wurde noch nicht gespeichert. Jetzt speichern?"
- Der Benutzer klickt "Ja"- und dreht sich im Kreis, weil ja das speichern fehl schlägt...
- Der Benutzer klickt "Nein" und das Dokument wird geschlossen, ohne gespeichert worden zu sein. Aber der Doclink wurde schon lange versendet...

Richtig wäre:
- flag merken, ob Dokument neu ist
- Wenn speichern nicht ok -> Verarbeitung abbrechen
- Wenn flag -> Mail senden
- Dokument schliessen

Ist eigentlich nur eine weitere Variablendekalaration, ein weiteres IF und das Umstellen der Formel... aber das solltest Du auf jeden Fall tun...
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 harrymatty

  • Frischling
  • *
  • Beiträge: 37
Hallo Torsten,

werde deinen Hinweis beachten bis jetzt ist immer alles gut gegangen mit der Formel aber man weiss ja nie so fange ich es auf jedenfall ab.

Danke dir für deinen Hinweis !!  :D

Offline harrymatty

  • Frischling
  • *
  • Beiträge: 37
Hallo Torsten,

bist du Hellseher lach musste jetzt tatsächlich eine Eingabevalidierung eingeben und dann passierte genau das was du gesagt hast.

habe es jetzt so gelöst und getestet und es funkt

@If(Technologie=""; @Prompt([Ok]; "Response Creation Error"; "Bitte wählen Sie eine Technologie aus, sonst wird Ihr Non Stage Gate Projekt nicht gespeichert !")& @Return("");@Success);
@If(@IsNewDoc; @MailSend(SendTo;"";"";"Non Stage Gate Dokument: "+Registriernummer;"document constructed by  "+Author_G8;"please have a look to the new  Non Stage Gate document !";[IncludeDoclink]);"");
@Command([FileSave]);@Command([FileCloseWindow])

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Und wenn eine zweite Validierung dazu kommt, dann trägst Du die in Deinen Button nochmal ein? UNd eine Dritte und eine vierte?

SO geht es universell:
Code
isNew := @IsnewDoc ;
@If( @Command([FileSave]) ; "" ; @Return( "" ) );
@If( isNew ; @MailSend(SendTo;"";"";"Non Stage Gate Dokument: "+Registriernummer;"document constructed by  "+Author_G8;"please have a look to the new  Non Stage Gate document !";[IncludeDoclink]);"");
@Command([FileCloseWindow]);
Ohne den Mailsend- Stunt sollte man den "Save & Close" - Button immer so machen:

@If( @Command([FileSave]); @COmmand([FileCloseWIndow]) ; "" );

Ach ja: Ein Benutzer, der das Dokument via STRG + S abspeichert macht Dir -so ganz nebenbei- Dein Mailsend kaputt, weil dann beim Button @IsNewDoc = @False ist.

Typischerweise arbeitet man bei sowas mit einem Flag- Feld, das man nach erfolgreichem Versand setzt... Aber danach muss das Dokument nochmal gespeichert werden, es sei denn man arbeitet mit einem Berechnet zur Anzeige- Flag- Feld und einigen Formel- Tricks...

Aber das findest Du sicher alles selbst auch raus...
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 harrymatty

  • Frischling
  • *
  • Beiträge: 37
Danke dir Torsten für deine Anregungen

in diesem Beispiel habe ich nur eine Validierung aber es ist bestimmt für andere Aufgaben sehr hilfreich

Danke dir

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Es ist EGAL wie viele Valdierungen Du hast. Auch eine halbe Validierung würde NIEMALS in einen Button gehören...
Ein Button ist etwas, was ein Benutzer klickt (oder halt nicht) und kann -besonders beim speichern- so leicht "umgangen" werden.

Hier die gängigsten Methoden, um ein Dokument zu speichern, ohne dass Dein Button auch nur angeschaut wird:
- User Drückt Strg + S
- User drückt Escape oder auf das "x" des Fensters und beantwortet die Frage, ob gespeichert werden soll mit "Ja"
- User Geht auf Datei -> Speichern
- User drückt auf das Diskettensymbol in der Symbolleiste

Eine Validierung gehört an einen von zwei Orten (da gibt es regelrechte Philosophie- Debatten drüber welche der beiden die "richtigere" ist, deshalb spare ich mir eine Wertung hier:

1. In die Eingabevalidierung des jeweiligen Feldes, wo der Fehler per @Failure ausgegeben wird (Verabreitung der Maske bricht ab, Dok kann nicht gespeichert werden)
2. Ins QuerySave Event der Maske (hier kann ich selbst entsacheiden, ob ich nach dem ersten Fehler abbrechen will, oder erst alle Felder prüfen will, und dem Benutzer eine Liste der Fehler zukommen lassen will): Abbruch über Continue = False, geht aber nur, wenn man LotusScript verwendet, für Formelsprache im QuerySave gibt es KEIN continue=False
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)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz