Как программно создать File Resource в дизайне базы данных?

fedotxxl

Well-known member
09.11.2005
614
0
#1
Всем привет
Есть элемент базы данных - File Resource. Туда можно добавлять файлы произвольного содержания. Как это можно сделать программно?
 

fedotxxl

Well-known member
09.11.2005
614
0
#4
Пока решил проблему сл. образом:
Для создания использую dxl:
Код:
Function createEmptyMercurialProperties(db As NotesDatabase) As FileResource

Dim ns As New NotesSession
Dim nd As NotesDocument

Dim importer As NotesDXLImporter
Dim dxl As String

Set db = ns.CurrentDatabase
Set nd = db.CreateDocument

dxl = {<?xml version='1.0'?>
<fileresource name='MercurialProperties.xml' xmlns='http://www.lotus.com/dxl'
version='8.0' maintenanceversion='2.0' replicaid='} + db.ReplicaID + {' publicaccess='false'
designerversion='8'>
<noteinfo noteid='8ca' unid='} + nd.UniversalID + {' sequence='3'>
<created><datetime dst='true'>20100916T121213,33+04</datetime></created>
<modified><datetime dst='true'>20100916T121253,86+04</datetime></modified>
<revised><datetime dst='true'>20100916T121253,85+04</datetime></revised>
<lastaccessed><datetime dst='true'>20100916T121253,85+04</datetime></lastaccessed>
<addedtofile><datetime dst='true'>20100916T121213,35+04</datetime></addedtofile></noteinfo>
<updatedby><name>} + ns.UserName + {</name></updatedby><filedata
>
SABlAGwAbABvACAAVwBvAHIAbABkAA==
</filedata></fileresource>

}

Set importer = ns.CreateDXLImporter
importer.DesignImportOption = DXLIMPORTOPTION_CREATE
Call importer.Import(dxl, db)

Set createEmptyMercurialProperties = FindFileResource(db, "file", "MercurialProperties.xml")
End Function
Для изменения содержимого - класс FileResource из LotusScript Gold Collection
Код:
Set db = session.CurrentDatabase
Set fr = findMercurialProperties(db)

Dim stream As NotesStream
Set stream = session.Createstream

Call stream.WriteText("Here is another content")
Call fr.UpdateFileData(stream)
Call fr.save
Call stream.close
Код:
Function findMercurialProperties(db As NotesDatabase) As FileResource
Dim fr As FileResource

Set fr = FindFileResource(db, "file", "MercurialProperties.xml")
If fr Is Nothing Then Set fr = createEmptyMercurialProperties(db)

Set findMercurialProperties = fr
End Function