Autor Thema: Falsche oder keine Rückgabewerte über Dialogbox  (Gelesen 1833 mal)

Offline zhermann

  • Aktives Mitglied
  • ***
  • Beiträge: 129
  • Geschlecht: Männlich
  • Wenn Notes es kann, kann ich es auch!
    • Factory system
Hallo Leute,

Ein Teil der Felder in meinen Form sollen über eine Dialogbox gefüllt werden.
Leider bekomme ich für ein/die Felder den falschen/keinen Wert zurückgeliefert.

Hier mal der Aufruf der Dialogbox:


REM{Alle relevanten Felder leer machen};
@SetField("tmp_Land"; "");
@SetField("tmp_BLZ"; "");
@SetField("tmp_KontoNr"; "");
@SetField("tmp_Institut"; "");
@SetField("tmp_BIC"; "");
@SetField("tmp_IBAN"; "");
@SetField("F_RBZ_VZweckVar"; "");
@SetField("F_RBZ_VZweckFest"; "");
@SetField("tmp_DialogAnswer"; "Cancel");
@Command([ViewRefreshFields]);

REM {Dialogbox aufrufen};
@DialogBox("(Konto)"; [AutoHorzFit] : [AutoVertFit] : [NoCancel] : [NoNewFields] :[SizeToTable] : [NoOkCancel]; "Neues Konto anlegen");

REM {Ergebnis auswerten und bearbeiten};
@If(tmp_DialogAnswer = "OK";
   @Do(
      entry := tmp_Land + "~" + tmp_BLZ + "~" + tmp_KontoNr + "~" + tmp_Institut + "~" + tmp_BIC + "~" + tmp_IBAN + "~" +F_RBZ_VZweckVar + "~" + F_RBZ_VZweckFest;
      @Prompt([Ok]; "Debbuig"; entry);
      lastperson_1 := @If( Kontolistenum = ""; 0; @TextToNumber( @Subset( Kontolistenum; -1 ))) + 1;
      lastperson := @If( lastperson_1 < 10; "0" + @Text(lastperson_1); @Text(lastperson_1));
      itemnum := @Trim( Kontolistenum : lastperson );

      @SetField("Kontoliste"; @Trim(@Unique(Kontoliste : entry)));
      @SetField("Kontolistenum"; @Subset(itemnum; @Elements(Kontoliste)))
   );
"");
REM{Felder wieder zurücksetzen};
@SetField("tmp_Land"; "");
@SetField("tmp_BLZ"; "");
@SetField("tmp_KontoNr"; "");
@SetField("tmp_Institut"; "");
@SetField("tmp_BIC"; "");
@SetField("tmp_IBAN"; "");
@SetField("F_RBZ_VZweckVar"; "");
@SetField("F_RBZ_VZweckFest"; "");
@Command([ViewRefreshFields])


hier das erste Problemfeld tmp_DialogAnswer. Wenn ich den Dialog aufrufe, wird das Feld auf "Cancel" gesetzt. Wenn der User auf Ok klickt, wird das Feld korrekt auf "OK" gesetzt.

Hier mal der Code für den OK-Button in der Dialogbox:

Sub Click(Source As Button)
   
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   
   Set uidoc = ws.CurrentDocument
   
   If uidoc.FieldGetText("tmp_Land") = "" Then
      Messagebox "Sie müssen ein Land auswählen", 16, "Fehler"
   Elseif  uidoc.FieldGetText("tmp_BLZ") = "" Then
      Messagebox "Sie müssen ein BLZ eingeben", 16, "Fehler"      
   Elseif  uidoc.FieldGetText("tmp_KontoNr") = "" Then
      Messagebox "Sie müssen ein Kontonummer eingeben", 16, "Fehler"      
   Elseif  uidoc.FieldGetText("tmp_Institut") = "" Then
      Messagebox "Sie müssen ein Institutnamen eingeben", 16, "Fehler"      
   Else
      Call uidoc.FieldSetText("tmp_DialogAnswer", "OK")
      Messagebox uidoc.FieldGetText("tmp_DialogAnswer") , 48, "Debbug"
      uidoc.Close
   End If
End Sub

Der Code ist mit Absicht in Script!, habe es erst mit Formel versucht, da wurde aber tmp_DialogAnswer gar nicht auf "OK" gesetzt.

Wenn ich aber jetzt zurück in dem Form bin, also nach dem Aufruf der Dialogbox, steht tmp_DialogAnswer immer noch/wieder  auf "Cancel".

Alle anderen Felder werden auch nicht auf die eingegebenen Werte gesetzt.
Das aufrunfende Form befindet sich im Edit-Modus und die Dialobbox besitzt die Eigenschaft "Formulas inherit values...." Der OK-Button in der Dialogbox steht auf Type = OK. Habe es auch schon mit Type=Normal versucht. kommt aber auf das selbe raus.

Sieht einer von Euch den Fehler???

Gruß

Zsolt

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Falsche oder keine Rückgabewerte über Dialogbox
« Antwort #1 am: 10.12.04 - 19:15:09 »
Hi,

auf den ersten Blick sehe ich keinen Fehler.

Was mir aufgefallen ist, ist das hier:

Zitat
...und die Dialobbox besitzt die Eigenschaft "Formulas inherit values...."

Das brauchst du bei einer Dialogbox eigentlich nicht. Nimm mal diese Option weg, vielleicht ändert sich was. Was andere fällt mir im mment nicht ein.

Hast du eine Chance mal einen Rumpf der DB (die Maske und der Dialog reicht) hier anzuhängen?


Axel



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

Offline zhermann

  • Aktives Mitglied
  • ***
  • Beiträge: 129
  • Geschlecht: Männlich
  • Wenn Notes es kann, kann ich es auch!
    • Factory system
Re: Falsche oder keine Rückgabewerte über Dialogbox
« Antwort #2 am: 14.12.04 - 12:16:56 »
Hallo,

nein leider nicht.

Habe jetzt alles auf Script umgestellt.

Komme irgendwie damit besser klar.

Gruß

Zsolt

Offline ..Andreas..

  • Junior Mitglied
  • **
  • Beiträge: 60
  • Geschlecht: Männlich
  • Brevity is the soul of wit.
Re: Falsche oder keine Rückgabewerte über Dialogbox
« Antwort #3 am: 14.12.04 - 20:16:48 »
Versuchs mal mit

call ws.RefreshParentNote( )

Danach sollten die Werte auch im "aufrufenden Dokument" verfügbar sein.

Andreas

Offline zhermann

  • Aktives Mitglied
  • ***
  • Beiträge: 129
  • Geschlecht: Männlich
  • Wenn Notes es kann, kann ich es auch!
    • Factory system
Re: Falsche oder keine Rückgabewerte über Dialogbox
« Antwort #4 am: 15.12.04 - 08:47:17 »
Hallo Andreas,

hatte ich auch schon versucht, ohne Erfolg.

Wie gesagt, ahbe jetzt alles auf Script umgestellt.
Jetzt läuft es super.

Gruß

Zsolt

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz