Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: cash am 26.04.07 - 13:52:29

Titel: Querysave (Speicher-Button) und LS
Beitrag von: cash am 26.04.07 - 13:52:29
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
Titel: Re: Querysave (Speicher-Button) und LS
Beitrag von: it898ur am 26.04.07 - 13:57:02
Ja die Abfrage @if(@command([FileSave]) ... bereits beim ersten Speichern ggf mit @return(void) verlassen, wenn das QuerySave schief geht.

Gruß

André
Titel: Re: Querysave (Speicher-Button) und LS
Beitrag von: cash am 26.04.07 - 14:38:42
wofür steht denn das (void)

habe ich in der Hilfe nicht gefunden?

Thomas
Titel: Re: Querysave (Speicher-Button) und LS
Beitrag von: koehlerbv am 26.04.07 - 14:41:33
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
Titel: Re: Querysave (Speicher-Button) und LS
Beitrag von: cash am 04.05.07 - 14:06:39
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
Titel: Re: Querysave (Speicher-Button) und LS
Beitrag von: MadMetzger am 04.05.07 - 14:19:05
Womit befüllst du strArbeitsauftrag?
Titel: Re: Querysave (Speicher-Button) und LS
Beitrag von: cash am 04.05.07 - 15:00:22
mit der Optionsschaltfläche Arbeistauftrag

per

DIm strArbeitsauftrag As String

strArbeitsauftrag = Source.FieldGetText("Arbeitsauftrag")

Das sollte ja laufen denn sonst würde er bei

strArbeitsauftrag = "" nicht die MsgBox bringen. (Also dann wenn ich die Optionsschaltsfläche nicht anfasse)

Unter Eigenschaften steht auch beim Feld Arbeitsauftrag "1" sofern ich den ersten Eintrag auswähle...

Gruß

Thomas
Titel: Re: Querysave (Speicher-Button) und LS
Beitrag von: MadMetzger am 04.05.07 - 15:02:18
Aliasse sind nicht über die Frontendklassen zu sehen. An dieser Stelle müsstest du mit dem tatsächlich vorhandenen Wert arbeiten. Das kannst du im Debugger auch so beobachten...
Titel: Re: Querysave (Speicher-Button) und LS
Beitrag von: cash am 04.05.07 - 15:22:50
Super das wars...