Domino 9 und frühere Versionen > ND6: Entwicklung
Querysave (Speicher-Button) und LS
cash:
Ich habe ein kleines Problem:
In einer Aktion habe ich folgende Zeilen:
@If(@IsDocBeingEdited=1;"";@Command([EditDocument]));
_161 := "hier steht was";
_Name := Name_1;
_Leser := @If(Dokumentenstatus = "1"; "Alle" : Name_1 : Bereichsleiter : Vertreter ; Name_1 : Bereichsleiter : Vertreter);
FIELD Leser := _Leser;
FIELD Status := "4";
FIELD DatumGenehmigt := @Now;
FIELD Freigeber := @Name([CN];@UserName);
FIELD VetoSave := "1";
@Command([FileSave]);
@MailSend(_161 ; "" ; "" ; "Anforderungen " ;"Sehr geehrte Damen und Herren,"
+@NewLine+@NewLine
+"Text"
; "";[IncludeDoclink]);
FIELD Autoren := "[SQL]";
FIELD VetoSave := "1";
@If(@Command([FileSave]);@Do(@Command([CloseWindow]));@StatusBar("Speichervorgang fehlgeschlagen"))
im Quersave:
....
If strKurzbeschreibung = "" Then
Source.FieldClear("VetoSave")
Call source.fieldsettext("Status","0")
Call source.fieldsettext("Autoren",strName_1)
Msgbox "Bitte füllen Sie die Kurzbeschreibung aus...", 16, "Hinweis"
Continue = False
Goto Ende
....
Wenn ich jetzt das Feld Kurzbeschreibung nicht ausgefüllt habe und drücke den Button wird folgerichtig nicht gespeichert sondern es kommt die MsgBox...
Dumm ist das die 2 x mal kommt, da im Button auch 2 mal speichern steht. Wenn ich das Dokument aber nicht abspeicher kann ich auch nicht die Mail mit der Verknüpfung verschicken. Ein Teufelskreis ;-))
Gibt es einen Ausweg?
Gruß
Thomas
it898ur:
Ja die Abfrage @if(@command([FileSave]) ... bereits beim ersten Speichern ggf mit @return(void) verlassen, wenn das QuerySave schief geht.
Gruß
André
cash:
wofür steht denn das (void)
habe ich in der Hilfe nicht gefunden?
Thomas
koehlerbv:
void steht für "gar nichts" im wahrsten Sinne des Wortes.
Du kannst aber auch ohne weiteres ein @Return ("") oder ein @Return (0) verwenden (das steht dann auch in der Doku ;)).
Bernhard
cash:
ein neues Problem ist aufgetaucht:
Ich habe eine Optionsschaltfläche mit 2 Werten und Alias 1 und 2.
Im Quersave frage ich darauf ab doch leider ist ihm egal ob ich die Optionsschaltfläche "Arbeitsauftrag" mit dem Wert 1 befülle oder nicht.
Bzw. sofern ich dort garnichts ausfülle meckert er folgerichtig nur wenn ich es ausfülle zieht das unter Ende1 leider nicht.
Woran liegt das wohl?
Der Code im Queryclose:
....
Elseif strArbeitsauftrag = "" Then
Source.FieldClear("VetoSave")
Call source.fieldsettext("Status","0")
Call source.fieldsettext("Autoren",strName_1)
Msgbox "Ist der Arbeitsauftrag schon an die SI geschickt worden? Bitte füllen Sie das Feld aus..", 16, "Hinweis"
Continue = False
Goto Ende1
.....
Ende1:
If strArbeitsauftrag = "1" And strARSSI = "" Then
Source.FieldClear("VetoSave")
Call source.fieldsettext("Status","0")
Call source.fieldsettext("Autoren",strName_1)
Msgbox "Bitte Ticket-Nr ergänzen...", 16, "Hinweis"
Continue = False
Goto Ende
Elseif strArbeitsauftrag = "1'" And strANRSI = "" Then
Source.FieldClear("VetoSave")
Call source.fieldsettext("Status","0")
Call source.fieldsettext("Autoren",strName_1)
Msgbox "Bitte Auftrags-Nr ergänzen...", 16, "Hinweis"
Continue = False
Goto Ende
End If
Ende:
....
Gruß
Thomas
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln