Вложения

  • Автор темы reload
  • Дата начала
R

reload

#1
Добрый день! Ситуация. Есть база документов, у всех документов есть по одному или несколько вложений, последнии для экономии места вынесены в отдельную базу. задача выгружать вложения находясь в первой (основной) базе, это возможно?
 
R

reload

#4
выгружать на жесткий диск конкретного рабочего места
 

morpheus

скриптописец
07.08.2006
3 915
1
#5
reload
читайте хэлп, вот яркий пример

This script goes through all the file attachments, object links, and embedded objects in the Body item of a document. Each time it finds a file attachment, it detaches the file to the SAMPLES directory on the C drive and removes the attachment from the document. The script has no effect on the object links or embedded objects in the Body item.
Код:
Dim doc As NotesDocument
Dim rtitem As Variant
'...set value of doc...
Set rtitem = doc.GetFirstItem( "Body" )
If ( rtitem.Type = RICHTEXT ) Then
Forall o In rtitem.EmbeddedObjects
If ( o.Type = EMBED_ATTACHMENT ) Then
Call o.ExtractFile( "c:\samples\" & o.Source )
Call o.Remove
Call doc.Save( False, True )
End If
End Forall
End If

Если надо на конкретное рабочее место выгружать, то соответственно скрипт должен выполнятясь на этом рабочем месте ( или через расшаренные ресурсы )
 
R

reload

#6
С этим всё, понятно, если бы вложения были в той же базе где и документы, тогда бы вопросов и не было. А так вложения находятся в соседней базе и добраться до них таким образом не получается. Поле "body" в основной базе пустое и никаких вложенных объектов там нет. Есть доп. поле в котором находится ссылка на вложенный объект в другой базе (тип набор строк, сервер, имя базы, UID документа с вложением) вот это вложение и надо достать. Можно таким образом: октрыть базу, получить документ getdocumentbyunid а потом от этого документа отцепить вложение?
 
Y

Yakov

#7
Конечно можно.
Код:
Dim database As New NotesDatabase("server", "path\to\db.nsf")
Dim doc As NotesDocument
Set doc = database.GetDocumentByUNID(unid)
 

morpheus

скриптописец
07.08.2006
3 915
1
#8
а потом от этого документа отцепить вложение?
именно , в скрипте ж есть коммент '...set value of doc... - вот здесь каким нам удобно образом мы и задаем документ откуда доставвать вложение, будь то тек. документ или любой другой ( тот же гетдокбайунид )
 
R

reload

#10
Цель - сохранить нужные вложения на диске пользователя для дальнейшей работы с ними, так как документов очень много и вложений ещё больше, отбор доков для выгрузки будет идти по выделенным документам. Вроде пробовал так - не получается, щас ещё раз посмотрю, может где оплошал :ph34r:)) Спасибо!!!