Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: trouble am 21.06.04 - 15:06:36

Titel: Formular nicht speichern aber als Mail senden
Beitrag von: trouble am 21.06.04 - 15:06:36
Hi!

Ich brauche eine Datenbank in der ein Formular ausgefüllt, aber nicht gespeichert sondern sofort per Mail verschickt wird. Ggf. auch an eine feste Adresse. Kann mir jemand sagen, wie ich das machen kann bzw. unter welchen Stichworten ich in der Designer-Hilfe suchen soll?

Jeder Hinweis wird dankbar angenommen.

Happy Monday!
Trouble
Titel: Re:Formular nicht speichern aber als Mail senden
Beitrag von: Markus Henke am 21.06.04 - 15:23:40
Damit das Dokument nicht gespeichert wird, muss Du in die Maske ein Feld einstellen, dass "SaveOptions" heißt. Das Feld machst Du berechnet und als Wert trägst Du "0" als String ein. Dann wird das Dokument beim Verlassen nicht gespeichert.

Markus
Titel: Re:Formular nicht speichern aber als Mail senden
Beitrag von: trouble am 21.06.04 - 16:03:18
Hi!
Danke für die Antwort, war sehr hilfreich.
Allerdings wird's jetzt doch noch komplizierter. Das Formular soll an eine Mail-in Datenbank geschickt werden, zu der wir keinen Quellcode haben und die den Mailbody in ein eigenes Feld konvertiert per Agent. Ich kann also das Formular nicht wirklich so wie es ist an die Datenbank schicken.

Jemand ne Idee (z. B. per Forward an ne feste Adresse?) wie ich meine Formular-Felder am sinnvollsten in nen Mailbody bekomme??????

Gruß,
trouble
Titel: Re:Formular nicht speichern aber als Mail senden
Beitrag von: trouble am 22.06.04 - 10:42:20
Moin!

Vielleicht ist das ja ne blöde Frage, habe keine Ahnung, aber - gibt es eine Möglichkeit meine Formularfelder irgendwie in einem Feld unter dem Namen "Body" zusammenzufassen, so daß es für unsere Mail-In Datenbank einfach wie ein Mail-Formular aussieht?? -> die Datenbank also die Informationen aus meinem Formular darstellen kann? :-\

Verzweifelte Grüße,
trouble
Titel: Re:Formular nicht speichern aber als Mail senden - neuer Ansatz
Beitrag von: trouble am 22.06.04 - 11:12:06
Hallo nochmal!

Hab nen anderen Ansatz genommen - lasse das Formular über Call notesUIDocument.Forward weiterleiten.

Jetzt hab ich ne andere Frage - kann ich über Script die Betreff-Zeile und die Adresse in dem dem Mail, daß über Call notesUIDocument.Forward erstellt wird, festlegen? Zumindest die Adresse??
Titel: Re:Formular nicht speichern aber als Mail senden
Beitrag von: ata am 22.06.04 - 13:10:36
... bevor du den Forward verwendest kannst du im UIDOC mit uidoc.FieldSetText( ... ) Inhalte von Feldern korrigieren. Du solltest aber asuf jeden Fall die Methode des SaveOptions = "0" verwenden, da dein UIDOC bearbeitet wird...

ata
Titel: Re:Formular nicht speichern aber als Mail senden
Beitrag von: trouble am 22.06.04 - 13:15:27
... die lektion hab ich gelernt und (hoffentlich) für die zukunft und weitere verwendung gespeichert.  ;)

in meinem formular ist ein "SendTo" field, aber wie kann ich den inhalt in die forward-memo einfügen?

und kann ich über script auch abfragen, ob ein feld gefüllt ist, um den user zu "zwingen", es auszufüllen bevor er's abschickt?

bin soooo froh, daß es euch gibt....  :)
trouble
Titel: Re:Formular nicht speichern aber als Mail senden
Beitrag von: ata am 22.06.04 - 13:31:01
... ich arbeite in der Regel nicht über die Frontend-Klasse, sondern konvertiere das Dokument in das Backend

... um zu prüfen, ob ein Feld leer ist...
Code
Dim ws As New NotesUIWorkspace
Dim docThis As NotesDocument
Set docThis = ws.CurrentDocument.Document

If cstr( docThis.Feldname(0) ) = "" Then
   '# dann eben entsprechende Schritte einleiten...
End If

... wenn du mehrere Felder hintereinander abprüfen willst, dann würde ich den Weg über ein Array wählen...
Code
Dim ws As New NotesUIWorkspace
Dim docThis As NotesDocument

Dim i As Integer
Dim sField( 0 to 2 ) As String
Dim vWert as Variant
sField( 0 ) = "Feldname_1"
sField( 1 ) = "Feldname_2"
sField( 2 ) = "Feldname_3"
Set docThis = ws.CurrentDocument.Document

For i = 0 to UBound( sField )
   If docThis.HasItem( sField( i ) ) Then
      vWert = docThis.GetItemValue( sField( i ) )
      If IsArray( vwert ) Then
         If Cstr( vWert( i ) ) = "" Then
             bEmpty = True             
         End If
      Else
         If Cstr( vWert ) = "" Then
             bEmpty = True
         End If
      End If
      If bEmpty Then
         '#  ... eben was getan werden soll, zum Beispiel
         MsgBox "Das Feld " + sField( i ) " ist leer, geben Sie bitte einen Wert ein"
         If ws.CurrentDocument.EditMode Then ws.CurrentDocument.GoToField( sField(i) )
          Exit For
      End If
   End If
Next




... wären so Ansätze...

ata
Titel: Re:Formular nicht speichern aber als Mail senden
Beitrag von: trouble am 22.06.04 - 14:04:18
Hmmmmmm. das ist für einen script-dau dann schon etwas komplizierter........ noch nicht sicher, ob ich da durchblicke.
wenn ich ein feld abfrage und nach einer fehlermeldung die aktion abbrechen will - das hab ich jetzt noch nicht wirklich gefunden.

und wie bzw. ob ich die mail, die über forward erzeugt wird, per script adressieren kann....

trouble
Titel: Re:Formular nicht speichern aber als Mail senden
Beitrag von: trouble am 22.06.04 - 14:09:43
Kommando zurück, hab's gefunden wie ich die Aktion abbreche.

Nur das Adressieren fehlt mir also noch....

trouble
Titel: Re:Formular nicht speichern aber als Mail senden
Beitrag von: koehlerbv am 22.06.04 - 23:38:05
... aber das hatte doch Anton schon geschrieben:
Zitat
... bevor du den Forward verwendest kannst du im UIDOC mit uidoc.FieldSetText( ... ) Inhalte von Feldern korrigieren. Du solltest aber asuf jeden Fall die Methode des SaveOptions = "0" verwenden, da dein UIDOC bearbeitet wird...

Bernhard
Titel: Re:Formular nicht speichern aber als Mail senden
Beitrag von: trouble am 23.06.04 - 09:10:44
tja, womit ich wieder bewiesen hätte, daß ich absolut null ahnung von script habe - weil so wie ich das verstanden hatte, hätte ich damit den wert von feldern in meinem ursprünglichen formular, aber nicht in dem über forward neu erstellten mail... sorry.  :-[ werde mich nochmal mit der hilfe zu fieldsettext beschäftigen...

trouble