Autor Thema: Anhänge nicht in $File speichern  (Gelesen 2169 mal)

Offline oxyd21

  • Senior Mitglied
  • ****
  • Beiträge: 371
  • Geschlecht: Männlich
Anhänge nicht in $File speichern
« am: 19.04.07 - 13:07:54 »
Servus,

ich stehe vor dem Problem, dass ich eine Maske verändern muss. Das Problem dabei ist, das ich den Großteil des Codes nicht sehe. Da in der Maske eine Datei gespeichert wird, scheint der Code so gestrickt zu sein, dass er das $File Item killt und neu beschreibt oder so ähnlich. Zumindest werden Dateien, die ich in ein RTItem lege, nach dem ändern des anderen Dokumentes nicht übernommen. Das Symbol bleibt erhalten, die Datei wird jedoch nicht mehr gefunden.

Kann mir jemand nen Tipp geben, ob ich den Anhang irgendwie anderweitig speichern könnte?

Gruß, Michael

klaussal

  • Gast
Re: Anhänge nicht in $File speichern
« Antwort #1 am: 19.04.07 - 13:13:54 »
Ich verstehe da nur "Bahnhof"... :-:

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Anhänge nicht in $File speichern
« Antwort #2 am: 19.04.07 - 13:29:58 »
D.h. also das Design der DB ist versteckt? oder warum siehst Du den Code nicht?
Wenn das Design versteckt wurde, hatte das wahrscheinlich seine Gründe und ich würde da die Finger davon lassen.
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Offline oxyd21

  • Senior Mitglied
  • ****
  • Beiträge: 371
  • Geschlecht: Männlich
Re: Anhänge nicht in $File speichern
« Antwort #3 am: 19.04.07 - 13:35:09 »
@klauss

Kommt in den besten Familien vor...  ;D

Die Skriptlibraries sind versteckt, da Maske gekauft. Der eigentliche Sinn der Maske ist das erstellen, bearbeiten und dann das abspeichern von Worddokumenten. Ich will in der Maske aber noch andere Dokumente speichern.
In den Skriptlibraries wird vermutlich ein remove oder replaceitem auf das $file gemacht. Ich möchte meinen Anhang aber behalten und am liebsten woanders, aber in der gleichen Form unterbringen.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Anhänge nicht in $File speichern
« Antwort #4 am: 19.04.07 - 13:50:41 »
Ohne den anderen Code hast Du da keine Chance. Vor allem siehst Du das Konfliktmaterial nicht - und das scheint ja durchaus zu bestehen!

Bernhard

Offline thomson666

  • Senior Mitglied
  • ****
  • Beiträge: 285
  • Geschlecht: Männlich
  • niemand hats leicht, aber leicht hats oan...
Re: Anhänge nicht in $File speichern
« Antwort #5 am: 20.04.07 - 08:25:15 »
das symbol ist da und der anhang weg...
du kannst versuchen ihn mit script zu finden und zu lösen. wir hatten ein ähnliches problem allerdings bei einer offenen db.

passiert ist es bei uns als wir das RTITEM gelöscht haben und neu angelegt, dadurch konnte der client klarerweise nicht mehr den anhang zuordnen. er zeigt ein graues symbol im dokument an, man kann dieses aber nicht mehr lösen weil er das embedded object nicht mehr bekommt!?
es wurden dann seitens des ServiceCenters noch andere Felder gelöscht.

wenn du das ganze dokument durchforschst dann bekommst es irgendwie wieder...

so was hab ich dann gemacht...
   Dim db As NotesDatabase
   Dim col As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim ses As New NotesSession
   Dim body2 As NotesRichTextItem
   Dim values As String
   Dim anhaenge As Variant
   Dim i As Integer
   Dim s As String
   Dim rtitem As NotesRichTextItem
   
   Redim anhaenge(0)
   Set db = ses.CurrentDatabase
   Set col = db.UnprocessedDocuments
   Set doc = col.GetFirstDocument
   
   i = 0
   Set rtitem = doc.GetFirstItem("body2")
         'If rtitem.Type = RICHTEXT Then
   Forall o In rtitem.EmbeddedObjects
      If i = 0 Then
         anhaenge(0) = o.name
      Else
         Redim Preserve anhaenge(i)
         anhaenge(i) = o.name
         
         Dim object As NotesEmbeddedObject
         Set object = rtitem.GetEmbeddedObject( o.name )
      'If Not ( object Is Nothing ) Then
      '   If object.Type = EMBED_ATTACHMENT Then
      '      s = doc.GetItemValue("pfad")(0)
      '   End If
      End If
      i = i + 1
   End Forall
   
   Call doc.ReplaceItemValue("dateien",anhaenge)
   Call doc.ReplaceItemValue("dateienSel",anhaenge)
   Call doc.Save(True,True)


Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Anhänge nicht in $File speichern
« Antwort #6 am: 20.04.07 - 10:03:51 »
... die $File-Felder werden nicht neu beschrieben - das Anlegen der Felder übernimmt Notes.

Folgendes ist normalerweise der Fall, wenn man mittels Programmierung Attachments eines RT-Feldes aktualisiert:

... zuerst werden alle $File-Felder gelöscht
... dann wird das RT-Feld gelöscht
... dann wird entweder ein Quellfeld aus einem anderen Dokument kopiert, bzw. wird ein neues Feld erstellt und anschließend ein Attchment angehängt.

Das wäre der "normale" RT-Refresh mit Attachments...

Wenn du nun die Attachments als Symbol sehen kannst, beim Öffnen aber die Meldung erhälst, daß das Notes-Item nicht gefunden werden kann - dann sieht das nach fehlenden $File-Feldern aus, in denen das Attachment digital abgelegt wird.

Wenn das Design verborgen ist, hast du keine Chance daran was zu ändern...

Toni
Grüßle Toni :)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz