Autor Thema: Frage an die Profis - brauche Hilfe für SetFiueld:=...  (Gelesen 10459 mal)

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Frage an die Profis - brauche Hilfe für SetFiueld:=...
« Antwort #20 am: 29.05.08 - 14:32:53 »
Zitat
ich beherrsche keine höherer Programmiersprache

ICh auch nicht. Wer beherrscht schone eine Programmiersprache ?! Nicht viele . (Viele meinen es ;-) )

Aber die Designerhilfe ist schon hilfreich .....
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Driri

  • Gast
Re: Frage an die Profis - brauche Hilfe für SetFiueld:=...
« Antwort #21 am: 29.05.08 - 17:14:49 »
Zitat
ich beherrsche keine höherer Programmiersprache ...

Die einzige Sprache, die ein Programmierer perfekt beherrscht ist Fluchen.


Sorry, konnte es mir nicht verkneifen  ;D

Offline pur_berger

  • Aktives Mitglied
  • ***
  • Beiträge: 116
Re: Frage an die Profis - brauche Hilfe für SetFiueld:=...
« Antwort #22 am: 30.05.08 - 08:54:50 »
So - besten Dank mal - so kleppt es schließlich:

Sub Click(Source As Button)
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   Set uidoc = workspace.CurrentDocument
   
   Dim WarningMessage As String
   Dim YesOrNo As Integer
   
   If ( uidoc.FieldGetText( "M_SelectConfirmationText" ) = ""  Or uidoc.FieldGetText( "M_SelectConfirmationText" ) = "Please Select Text" ) Then
      Messagebox( "*** Please Select confirmation Text ***" ), 0 + 16
      Call uidoc.GotoField( "M_SelectConfirmationText" )
      Continue = False
      Exit Sub
   End If
   
   If ( uidoc.FieldGetText( "M_AddEquipment" ) = "" ) Then
      WarningMessage = "Are you sure you don't want to add additional items (Powersupply for example)?"
      Set UIDoc = Workspace.CurrentDocument
   'UIDoc.signonsend=False
      YesOrNo=Workspace.Prompt (PROMPT_YESNO, "Warning", WarningMessage)
      If YesOrNo=0 Then
      'No was clicked
         Call uidoc.GotoField( "M_AddEquipment" )
         Continue = False         
         Exit Sub
      Else
         Continue = True
      End If   
   End If
   Set doc = uidoc.Document
   Set item=doc.ReplaceItemValue( "Hide","Yes")
   Set item=doc.ReplaceItemValue( "OPrincipal",uidoc.FieldGetText( "Principal" ))
   Set item=doc.ReplaceItemValue( "OFrom",uidoc.FieldGetText( "From"))
   Set item=doc.ReplaceItemValue( "OSendTo",uidoc.FieldGetText( "SendTo"))
   Set item=doc.ReplaceItemValue( "OSubject",uidoc.FieldGetText( "Subject"))
   Call uidoc.Send
   Call uidoc.Save
   Call uidoc.Close(True)
End Sub

klaussal

  • Gast
Re: Frage an die Profis - brauche Hilfe für SetFiueld:=...
« Antwort #23 am: 30.05.08 - 08:56:36 »
Na also, geht doch.

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Frage an die Profis - brauche Hilfe für SetFiueld:=...
« Antwort #24 am: 30.05.08 - 09:17:47 »
Ein Hinweis noch (wenn Du nichts dagegen hast) ..

Bau noch eine Fehlerbehandlung ein:

Code
....
on error goto ERROR_ME

....... Code .....


EXIT_ME:
Exit sub 'oder function

ERROR_ME:

msgbox |Fehler bei der Funktionsausführung:
| & error & " (" & err & ") in Zeile " & erl & |

Informieren Sie Ihren Datenbankbetreuer.| , 16 , "Unbehebbarer Fehler"

Err = 0
Resume EXIT_ME

.. 
End Sub 'oder Function
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline pur_berger

  • Aktives Mitglied
  • ***
  • Beiträge: 116
Re: Frage an die Profis - brauche Hilfe für SetFiueld:=...
« Antwort #25 am: 30.05.08 - 11:11:48 »
Na - blos ned dem User sagen er soll uns anrufen ;)

UNd Fluchen - jaaaaa - das kann ich jetzt auch :))

So - eine Kleinigkeit ist jetzt doch aufgetaucht: Um den User einbissal zu nerven hab ich in Terminate foldenes Script eingebaut:

Sub Terminate
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Set uidoc = workspace.CurrentDocument
   
   Call uidoc.Refresh
   
   If uidoc.FieldGetText( "Z_Status" ) = "" And uidoc.FieldGetText( "ReturnReceipt" ) = "0" Then
      Messagebox( "*** Please Note - You need to Accept or Decline the Handout!!! ***" ), 0 + 16
      Continue = False
      Call uidoc.close(False)
      Exit Sub
   End If
End Sub

Die Idee ist - das das je beim schließen läuft - das ich den ReturnRecipt Wert als indicator verwende (ich will ja nicht gepromted werden wenn ich das Document erstelle und versende). ReturnRecipt ist automatisch auf 1 (ich will ja wissen wenn der User das Document geöffnet hat).

So - aber - wenn der User das Dokument öffnet setzt der Client zwar den Wert auf "0" und schickt das RR Mail - nur die Routine erkennt nicht das ReturnRecipt schon auf "0" sthet - sprich - prompted erst dann wenn das Mail ein zweites Mal göffnet wird and über X wieder geschlossen wird ohne was zu machen ...

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Frage an die Profis - brauche Hilfe für SetFiueld:=...
« Antwort #26 am: 30.05.08 - 11:14:31 »
Versuch es mal im Queryclose.
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Frage an die Profis - brauche Hilfe für SetFiueld:=...
« Antwort #27 am: 30.05.08 - 11:16:30 »
Wo/Wie setzt Du denn "ReturnReceipt" ??

Etwa so wie in deinem o.g. Script:

Code
Set doc = uidoc.Document
   Set item=doc.ReplaceItemValue( "Hide","Yes")
   Set item=doc.ReplaceItemValue( "OPrincipal",uidoc.FieldGetText( "Principal" ))
   Set item=doc.ReplaceItemValue( "OFrom",uidoc.FieldGetText( "From"))
   Set item=doc.ReplaceItemValue( "OSendTo",uidoc.FieldGetText( "SendTo"))
   Set item=doc.ReplaceItemValue( "OSubject",uidoc.FieldGetText( "Subject"))
   Call uidoc.Send
   Call uidoc.Save
   Call uidoc.Close(True)

Wenn ja , dann schreibst Du den neuen wert ins Backend.
Im Terminate fragst Du aber das UI ab!!

Also: Entweder UI aktualisieren oder backend abfragen ...
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline pur_berger

  • Aktives Mitglied
  • ***
  • Beiträge: 116
Re: Frage an die Profis - brauche Hilfe für SetFiueld:=...
« Antwort #28 am: 30.05.08 - 11:36:31 »
Nep - das Feld ist default mit "1" befüllt.

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: Frage an die Profis - brauche Hilfe für SetFiueld:=...
« Antwort #29 am: 30.05.08 - 12:54:54 »
 ::)

Und wie wird der wert "0" gesetzt ???
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline pur_berger

  • Aktives Mitglied
  • ***
  • Beiträge: 116
Re: Frage an die Profis - brauche Hilfe für SetFiueld:=...
« Antwort #30 am: 30.05.08 - 13:02:45 »
Hehe - also die Rutiene bei Queryclose reinzuschreiben - hab noch nie so einen verzweifelten User gesehen ;) - führt dazu das das PopUp einfcah stehen bleibt und gar nix mehr geht ... Gut - das ist wohl etwas zuviel der Strafe :)

Offline pur_berger

  • Aktives Mitglied
  • ***
  • Beiträge: 116
Re: Frage an die Profis - brauche Hilfe für SetFiueld:=...
« Antwort #31 am: 30.05.08 - 13:04:40 »
ReturnRecipt wird vom Mailclient automatisch als Reciptanvorderung erkannt. Sobald das Mail geöffnet wird geht eine ReturnRecipt Message and den Sender und der Wert wird auf "0" gesetzt. Hatte eine Mail kein ReturnRecipt gesetzt gibt's das Feld beim Empfänger gar ned ...

Offline pur_berger

  • Aktives Mitglied
  • ***
  • Beiträge: 116
Re: Frage an die Profis - brauche Hilfe für SetFiueld:=...
« Antwort #32 am: 30.05.08 - 13:06:57 »
Hm - aber wenn ich Dich richtig verstehe wird wohl auch vom Mailclient der Wert im Backend geändert -
Das würde auch erklären warum beim nächsten Mal Client öffnen die Abfrage funzt ...

Frage: Kann ich im Terminate das Backend abfragen?

Offline Fedaykin

  • Aktives Mitglied
  • ***
  • Beiträge: 229
  • Geschlecht: Männlich
  • Ya Hya Chouhada!
Re: Frage an die Profis - brauche Hilfe für SetFiueld:=...
« Antwort #33 am: 30.05.08 - 14:01:43 »
Hi Pur_Berger

Programmiere nun schon ein Weilchen, kann Deine Frage aber nicht wirklich beantworten. Nur würde nie in einem Terminate (Objekt wird aus Speicher entfernt) noch irgendwo hin zugreifen. Ausser vielleicht brav irgend eine Variable noch auf Nothing zu setzen oder so. Der Vorschlag QueryClose war schon nicht so verkehrt, nur musst Dein Script halt wohl etwas anpassen. So könnte ich mir vorstellen, dass ein uidoc.close(False) in einem QueryClose auch nicht wirklich eine gute Idee ist.

Gruss
Remo
Ich sage Euch: "Man muss noch Chaos in sich haben, um einen tanzenden Stern gebären zu können."

Offline pur_berger

  • Aktives Mitglied
  • ***
  • Beiträge: 116
Re: Frage an die Profis - brauche Hilfe für SetFiueld:=...
« Antwort #34 am: 30.05.08 - 18:03:18 »
Bin ich voll bei Dir - die Frage ist - sowohl bei der "ich häng mich in mir selber auf" Queryclose Schleife als aucj im Terminte - geht bei beiden erst nach dem zeiten Mal öffen - also - ReturnReceipt wird korrekt ausgelöst - der Trigger (ReturnReceipt="0") greift aber nicht ... sofort (obwohl - wenn ich mir den Feldwert ansehe dieser defenitiv schon "0" ist).

Am liebsten wäre mir die Funktion ohnehin so das man das Mail gar nicht erst schlißen kann wenn die Aktion nicht ausgeführt ist - bzw - auch nicht wegcklicken kann - sprich sofort wieder ein Popup kommt wenn der User verucht die Abfrage zu umgehen.

Der Punkt ist - er soll die Form bearbeiten Müssen (und ned - ah - der Support hat ma was geschickt - is ma eh wurscht - interessiert mich nicht) - also - jeder Vorschlag bite gerne :)

Offline Fedaykin

  • Aktives Mitglied
  • ***
  • Beiträge: 229
  • Geschlecht: Männlich
  • Ya Hya Chouhada!
Re: Frage an die Profis - brauche Hilfe für SetFiueld:=...
« Antwort #35 am: 01.06.08 - 09:25:19 »
Hi pur_berger

Ich versuch mal etwas Queryclose zu erläutern, vielleicht geht ein Licht auf.
Sub Queryclose(Source As Notesuidocument, Continue As Variant)

Source gibt Dir das FontEnd Dokument zurück.
Continue kannst Du sagen ob wirklich dann geschlossen wird.

Dein Feldwert ist wohl bisher nur im Backend. So könntest schreiben.
uidoc.Reload
Sollte Werte von BackEnd ins FontEnd holen. (Designerhilfe steht mehr)

Um Feldwert dann im FontEnd zu checken reicht.
If Source.FieldGetText("ReturnReceipt")="0" then

Oder Du checkst direkt im BackEnd. Ungefähr so.

Set doc=Source.Document
If doc.GetItemValue("ReturnReceipt")(0)="0" then

Um das schliessen zu verhindern folgendes.
Continue=False

Hoffe hilft etwas.

Gruss
Remo
Ich sage Euch: "Man muss noch Chaos in sich haben, um einen tanzenden Stern gebären zu können."

Offline pur_berger

  • Aktives Mitglied
  • ***
  • Beiträge: 116
Re: Frage an die Profis - brauche Hilfe für SetFiueld:=...
« Antwort #36 am: 02.06.08 - 10:55:34 »
Hm - nep - leider nein. Hab's auf alle Verainten versucht - wird einfach nicht erkannt das ReturnReceipt auf Null steht. Vielleicht ist diese Variable einfach ungeeignet?

Vielleicht sollte ich das Problem anders angehen - ich brauche ja in Wirklichkeit nur irgend eine Variable welche sich nach dem öffenen des Dokumentes verändert ...

Gesagt getan - hab jetzt noch eine Variable gebastelt - die ich mit Postopen umschreibe - dann funzt es - besten Dank nochmals an alle!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz