• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Вложения

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

reload

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

reload

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

morpheus

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

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

Yakov

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

morpheus

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

reload

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!