Autor Thema: QuerySave Formelgesteuert  (Gelesen 2552 mal)

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
QuerySave Formelgesteuert
« am: 23.11.05 - 15:06:49 »
Hi,

In der DesignerHelp sind nur LS Beispiele, aber das müsste ja mit Formelsprache analog funktionieren. Ich versuche also mit:
Continue := False
das speichern zu verhindern, das klappt aber nicht. Das Doc wird trotzdem gepspeichert.

So habe ich das eingebunden:
@If( ConformDelivery != "" & ( ConformDelivery2 = "" | DeliveryForm = "") ; Continue := False & @Prompt([Ok];"ungültige Angaben";"Die Angaben zum bestätigten Liefertermin sind nicht vollständig!") & @Return("zu wenig Angaben") ;  "" );

...
weiterer Code der dann auch nicht mehr ausgeführt werden soll wenn continue = false
...


Hab schon mit der Art der Wertzuweisung gespielt aber noch nichts gefunden das klappt. Was mache ich falsch?

Grüße,

Andreas

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: QuerySave Formelgesteuert
« Antwort #1 am: 23.11.05 - 15:18:40 »
Continue steht Dir nur im LS-Event zur Verfügung. Mit Formeln kannst Du da nichts vernünftiges anstellen.
Du müsstest im Fehlerfall ein Feld füllen, welches dann mit einer Fehlermeldung das Speichern verhindert.

Warum willst Du das aber überhaupt mit Formeln machen ?

Bernhard

Offline VB3Bernd

  • Junior Mitglied
  • **
  • Beiträge: 90
  • Geschlecht: Männlich
  • Danke!
Re: QuerySave Formelgesteuert
« Antwort #2 am: 23.11.05 - 15:20:04 »
Hi,

benutze die Formel so:

@If( ConformDelivery != "" & ( ConformDelivery2 = "" | DeliveryForm = "") ; @return(Prompt([Ok];"ungültige Angaben";"Die Angaben zum bestätigten Liefertermin sind nicht vollständig!")) ;  @success )

Grüße
Bernd
SYSTEM
Domino 9.0.1 FP10 HF983
Client Win10 mit Notes 12.0.0
(Revision 20210514.0921)
Mail-Schablone 9.1.0 (20.03.18)
-----------------------------------
Man wird nicht zwischen Weihnachten und Neujahr dick, sondern zwischen Neujahr und Weihnachten! ;-)

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: QuerySave Formelgesteuert
« Antwort #3 am: 24.11.05 - 07:31:24 »
Hallo Bernhard, hallo Bernd,

@ Bernd:
Leider wird das Dokument trotzdem noch gespeichert, auch wenn die Kriterien dafür nicht erfüllt werden.

@ Bernhard:
Weil danach noch folgender Code im Event steht den ich nicht so leicht auf LS umsetzen kann:

Code
_Subject := "ERINNERUNG:    " + "Kunde:   " + Customer + "  / Neuer Entwicklungsauftrag ";
_Email := @DbLookup("":"NoCache"; ""; "AnsKonfiguration";"1";"txtCoordinatorErinnerung");

@If(@IsNewDoc ; @MailSend(_Email ; "" ; "" ; _Subject ; "Dokumenten-Link:  " ; "" ; [IncludeDoclink]) ; "" )


Wie könnte ein Feld das eine Fehlermeldung ausgibt das speichern doch noch verhindern?
Werd mal versuchen wie weit ich komme das in LS umzusetzen, aber ich befürchte daß die Feld-Lösung eher meinen Notes-Fähigkeiten Rechnung trägt.

@dbLookup hat keine LS Entsprechung, oder?

Gruß,

Andreas
« Letzte Änderung: 24.11.05 - 07:41:29 von Andreas Huhn »

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: QuerySave Formelgesteuert
« Antwort #4 am: 24.11.05 - 09:31:38 »
du kannst das in Script umschreiben.
Notesview.getDocumentByKey

ist qasi sowas wie ein dblookup
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: QuerySave Formelgesteuert
« Antwort #5 am: 24.11.05 - 10:57:16 »
Hallo Kennwort,

komm damit nicht ganz klar. Versuch das umzuschreiben:

   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim views As Variant
   Dim ansView As NotesView
   Dim konfigDoc As NotesDocument
   
   Set db = session.CurrentDatabase
   
   views = db.Views
   
   Forall v In views
      If v.Name = "(AnsKonfiguration)" Then ansView = v
   End Forall
End Sub




Für Notesview.getDocumentByKey muß ich ja erstmal Notesview die richtige View zuweisen. Das würde ich in dem Code oben versuchen, aber die Zuweisung klappt noch nicht.

Als Parameter keyArray der Methode getDocumentByKey würde ich dann wie beim dblookup eine "1" übergeben, oder?

Zugriff auf das Feld zum auslesen des Wertes würde ich dann über:
Notesview.getDocumentByKey.Feldname(0)
erhalten?

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: QuerySave Formelgesteuert
« Antwort #6 am: 24.11.05 - 13:10:01 »
Ich bekomm das einfach nicht hin... :-[

Könntest du deinen Feldansatz bitte nochmal etwas genauer beschreiben, Bernhard? Wie müsste ich das umsetzen?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: QuerySave Formelgesteuert
« Antwort #7 am: 24.11.05 - 13:45:41 »
Warum arbeitest Du eigentlich nicht mit den Eingabevalidierungen der von Dir genannten Felder ? Das ist doch der simpelste Weg, das Speichern zu verhindern.

Bernhard

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: QuerySave Formelgesteuert
« Antwort #8 am: 24.11.05 - 13:57:10 »
Mein Gott, das ist Script Programmierung erstes Lehrjahr.

Alle dims vorausgesetzt:

if source.fieldgettext("conformDelivery") <> "" AND (source.fieldgettext("ConformDelivery2) = "" OR source.fieldgettext("DeliveryForm") = "") then
MessageBox "Die Angaben zum bestätigten Liefertermin sind nicht vollständig!", MB_OK, "ungültige Angaben"
Continue = false
Exit Sub
End if

set view = db.getview("Viewname")
set configdoc = view.getdocumentbyKey("Deinkey")

subject = "ERINNERUNG:    Kunde:   " + source.fieldgettext("Customer") + "  / Neuer Entwicklungsauftrag "

set maildoc = new NotesDocument(db)

maildoc.form = "Memo"
maildoc.sendto = configdoc.txtCoordinatorErinnerung(0)
maildoc.subject = subject
set bodyitem = maildoc.creatertitem("Body")
Call bodyitem.AppendText("DocLinks:")
Call bodyitem.AppendDocLink(source.document, "")

call maildoc.send(false)


Programmierfehler und Schreibfehler sind Absicht und können behalten werden.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: QuerySave Formelgesteuert
« Antwort #9 am: 24.11.05 - 14:01:34 »
Im Validierungsereignis von ConformDelivery hatte ich anfangs die Formel drin:

@If( ConformDelivery != "" & ( ConformDelivery2 = "" | DeliveryForm = "") ; @Failure("Die Angaben zur Art des Termins und der Lieferung fehlen!") ; @Success )


ConformDelivery vom Typ Datum/Zeit
ConformDelivery2 vom Typ Optionsschaltfläche
DeliveryForm vom Typ Optionsschaltfläche

Wählt nun ein Nutzer ein Datum aus ohne vorher bei den beiden Optionsschaltflächen was gesetzt zu haben dann kommt die Fehlermeldung. Versucht er nun die Optionen zu setzen ist das nicht erfolgreich weil er ja den Fokus aus dem Datumsfeld gar nicht mehr rauskriegt. Es sei denn er löscht den darin enthaltenen Text zuerst von Hand. Auf diese Idee würden hier aber nicht alle Anwender von sich aus kommen  ::)

Deshalb hab ich nach einer anderen Lösung gesucht......


{
So hats auch nicht geklappt:

@If( ConformDelivery != "" & ( ConformDelivery2 = "" | DeliveryForm = "") ;  @SetField("ConformDelivery" ; "") & @Failure("Die Angaben zur Art des Termins und der Lieferung fehlen!") ; @Success )
}



Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: QuerySave Formelgesteuert
« Antwort #10 am: 24.11.05 - 14:41:26 »
Hallo Thomas!

du scheinst das ja wirklich ohne IDE programmiert zu haben.

Habs damit jetzt hingekriegt. Ein paar Schreibfehler waren wirklich drin. Vielen Dank auf jeden Fall.

Script-Programmierung erstes Lehrjahr?
Bei mir ist das immer noch alles Learning by doing. Bin hier der einzige der den DominoDesigner überhaupt kennt und außer ein paar Büchern und diesem Forum bin ich auf mich gestellt. Ich google viel, hab 2 Bücher schon komplett gelesen, aber es fällt mir einfach trotzdem noch schwer. Hoffe du kannst etwas Verständnis aufbringen.

Danke!

Viele Grüße,

Andreas

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: QuerySave Formelgesteuert
« Antwort #11 am: 24.11.05 - 15:01:41 »
Da gibt es nur eins. Herdt Verlag, Kurse abgreifen, anschließend zwei Wochen einsperren und mit niemand reden. Dann wieder rauskommen und programmieren anfangen.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Andreas Huhn

  • Senior Mitglied
  • ****
  • Beiträge: 251
  • Geschlecht: Männlich
    • Private Homepage + eigene Software-Tools
Re: QuerySave Formelgesteuert
« Antwort #12 am: 24.11.05 - 15:07:29 »
Vom Herdt Verlag hab ich etwas hier. Werd ich wohl auch nachm Praktikum behalten dürfen. 7 Wochen sinds noch, dann ist meine Notes Karriere zumindest beruflich erstmal beendet. Privat werd ich schon noch etwas damit machen, denk ich.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz