Autor Thema: Anhang direkt in der Maske  (Gelesen 2562 mal)

Offline mgeidl

  • Aktives Mitglied
  • ***
  • Beiträge: 224
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Anhang direkt in der Maske
« am: 28.04.11 - 11:09:48 »
Hallo zusammen,

ich hab mal eine Frage: ich hab eine Maske für eine Personalanforderung. In dieser Maske hab ich direkt drinnen einen Anhang erstellt. Wenn man nun ein Dokument mit dieser Maske erstellt und einen Doppelklick auf den Anhang macht, kann man diesen nur Öffnen, aber nicht bearbeiten :-( Und mit Öffnen werden die Änderungen ja nicht gespeichert.

Kennt da jemand eine Möglichkeit?

LG
Marietta

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Anhang direkt in der Maske
« Antwort #1 am: 28.04.11 - 11:13:52 »
Hinterleg den Anhang in einem Einstellungsdokument und kopiere ihn beim Erstellen der Dokumente in ein Richtextfeld

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Anhang direkt in der Maske
« Antwort #2 am: 28.04.11 - 11:16:44 »
Genau, das ist das allgemein übliche Vorgehen.

Ist das Attachment in der Maske gespeichert, dann steckt es ja im Design. Und logischerweise ist da nichts mit "Bearbeiten" ...  ;)

Bernhard

Offline mgeidl

  • Aktives Mitglied
  • ***
  • Beiträge: 224
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Re: Anhang direkt in der Maske
« Antwort #3 am: 28.04.11 - 11:23:14 »
und das Einstellungsdokument ist ein normales Dokument? Bin im Script noch in den Kinderschuhen ......

Danke jedenfalls für den Tipp

LG
Marietta

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Anhang direkt in der Maske
« Antwort #4 am: 28.04.11 - 11:25:09 »
Ja

Offline mgeidl

  • Aktives Mitglied
  • ***
  • Beiträge: 224
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Re: Anhang direkt in der Maske
« Antwort #5 am: 03.05.11 - 10:16:09 »
so, jetzt hab ich das ganze mal in einen agenten reingepackt. der agent wird mittels schaltfläche (neue anforderung - @ToolsRunMacro) aufgerufen und es funktioniert wunderbar.

allerdings steh ich jetz vor dem nächsten problem: in unserer mailschablone haben wir in der inbox sämtliche anträge drinnen. ich kann dort das @Toolsrunmacro aber net aufrufen, weil´s ja eine andere db is. für jede idee wär ich dankbar :-)

LG
Marietta

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Anhang direkt in der Maske
« Antwort #6 am: 03.05.11 - 10:30:36 »
Es funktioniert wunderbar, aber Du kannst es nicht aufrufen. Hm, erklär' Dein Problem bitte nochmal

Offline mgeidl

  • Aktives Mitglied
  • ***
  • Beiträge: 224
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Re: Anhang direkt in der Maske
« Antwort #7 am: 03.05.11 - 10:35:39 »
in der Datenbank selbst funktioniert es wunderbar.
da gibt´s eine aktion "neue Personalanforderung" und die ruft den Agenten mit u.a. Script auf

Nun soll die aktion "neue Personalanforderung" aber als aktion in die Inbox der Mailschablone - dort kann ich das aber nicht so machen :-((

Hoffe, jetzt is es verständlicher ....

LG

Sub Initialize
   Dim workspace As New notesuiworkspace
   Dim anforderung As notesdocument
   Dim anhang As notesdocument
   Dim typ As Variant
   Dim collection As notesdocumentcollection
   Dim options(4) As Variant
   
   options(0)="Mitarbeiter"
   options(1)="Leiharbeiter"
   options(2)="Ferienarbeiter"
   options(3)="geringfügig beschäftigt"
   
   typ = workspace.Prompt (PROMPT_OKCANCELLIST, "Type wählen", "Bitte wählen Sie den Type der Anforderung", options(0), options)
   
   If Not typ="" Then
      
      Set anforderung=workspace.currentdatabase.Database.CreateDocument
      Call anforderung.ReplaceItemValue("Form","Personalanforderung")
      Call anforderung.ReplaceItemValue("was",typ)
      
      
      Set collection=workspace.currentdatabase.Database.Search("select form='Anhang' & Anhangart='"+typ+"'",Nothing,1)
      If collection.count=1 Then
         Set anhang=collection.GetFirstDocument
         
         Dim data As NotesRichTextItem
         Dim body As New NotesRichTextItem(anforderung,"Body_MA")
         
         Set data=anhang.GetFirstItem("Anhang")
         Set body=anforderung.getfirstitem("Body_MA")
         Call body.AppendRTItem(data)
         Call body.Update
         
      End If
      
      
      Call workspace.EditDocument(True,anforderung)
      
   End If
   
   
   
   
End Sub




Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Anhang direkt in der Maske
« Antwort #8 am: 03.05.11 - 11:12:52 »
Hi.

Wenn Du das Script 1:1 übernimmst versuchst Du, das neue Dokument in der Mailbatenbank anzulegen und nicht in der Personaldatenbank.
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 Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Anhang direkt in der Maske
« Antwort #9 am: 03.05.11 - 11:25:35 »
Wie Andre schon geschrieben hat, bist Du einfach nur in der falschen Datenbank.

1. Tipp

Definiere saubere Variablen. Anstelle von mehrfacher Verwendung von

workspace.currentdatabase.Database

setze die in eine eigene Variable

Dim db As NotesDatabase
Set db = workspace.currentdatabase.Database

Wenn Du dann die db mal ändern musst, brauchst Du das nur ein einziges mal im Script tun

2. Tipp

Verwende nicht die CurrentDatabase vom workspace, denn das ist bei der Aktion in der Maildatenbank eben diese und nicht die Anforderungsdatenbank.

Setze stattdessen die db in Abhängigkeit des Agenten (ohne nachzuschauen über CurrentAgent (wohl in NotesSession) und Parent des Agenten). Dann ist die Datenbank immer die, in der der Agent gespeichert ist.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz