Узнать Имя Shared Images

Cleric-Lviv

Well-known member
03.01.2008
603
0
BIT
6
Всем привет.

Имеем, форма. на форме поле рич-текст-лайт с указаным параметром Shared Images. Выбираем картинку - файл, и она устанавливается как картинка а не как файл.
В связи с етим мы не можем юзать @AttachmentNames.

Вопрос: Как можно узнать имя картинки?
 

savl

Lotus Team
28.10.2011
2 624
314
BIT
540
Думаю стандартными свойствами нет...
На картинке видно, что имя прописано во внутренней структуре RichTextLite.
Через CAPI достучаться возможно.
В dxl выгружать не пробовал, может через него можно.
 

Вложения

  • rtl.png
    rtl.png
    35,2 КБ · Просмотры: 213

savl

Lotus Team
28.10.2011
2 624
314
BIT
540
А вот кстати он поможет:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE document SYSTEM 'xmlschemas/domino_8_5_3.dtd'>
<document xmlns='http://www.lotus.com/dxl' version='8.5' maintenanceversion='3.0'
replicaid='44257A620026FDA7' form='Categ'>
<noteinfo noteid='92a' unid='59B66CD880DECBE944257BA3004C7BF8' sequence='4'>
<created><datetime>20130709T175524,72+04</datetime></created>
<modified><datetime>20130709T175531,32+04</datetime></modified>
<revised><datetime>20130709T175531,31+04</datetime></revised>
<lastaccessed><datetime>20130709T175531,32+04</datetime></lastaccessed>
<addedtofile><datetime>20130709T175530,20+04</datetime></addedtofile></noteinfo>
<updatedby><name></name></updatedby>
<revisions><datetime>20130709T175530,19+04</datetime><datetime>20130709T175530,94+04</datetime><datetime
>20130709T175531,14+04</datetime></revisions>
<item name='testRTL'><richtext>
<pardef id='1'/>
<par def='1'><picture width='14px' height='14px'><imageref name='Edit_yellow.jpg'/></picture></par></richtext></item>
<item name='$EncryptionStatus'><textlist><text>0</text></textlist></item>
<item name='$SignatureStatus'><textlist><text>0</text></textlist></item>
<item name='Category'><textlist><text>sdf</text></textlist></item>
<item name='SubCategory'><textlist><text/></textlist></item>
<item name='NameDoc'><textlist><text/></textlist></item></document>
Агент простенький, для выгрузки:

Код:
Option Public
Option Declare

Dim nline As string
Sub Initialize
Dim ws As New NotesUIWorkspace
Dim desSession As New notessession
Dim desDoc As NotesDocument
Dim dxlExp As NotesDXLExporter
Dim streamDxl As NotesStream
Dim filepth As String
Dim note As String

Set dxlExp = desSession.Createdxlexporter()
Set streamDxl = desSession.Createstream()
Set desDoc = ws.Currentdocument.Document
filepth = "c:\temp\1.xml" 

Call WriteLog("first",filepth)
If streamDxl.Open(filepth) Then
Call streamDxl.Truncate()
Call dxlExp.Setinput(desDoc)
Call dxlExp.Setoutput(streamDxl)
Call dxlExp.Process()
Call streamDxl.Close()
End If
End Sub

Sub WriteLog (strLog As String, logFileName As String )
On Error GoTo handler
Const FuncName = {Sub "WriteLog" }
Dim errStr As String

Dim fileName As String
Dim fileNum As Integer
fileNum% = FreeFile()
fileName$ = logFileName
Open FileName$ For Append As fileNum%
Write #fileNum% , strLog
Close fileNum%

GoTo endh
handler:
errStr = FuncName & {стр. } & Erl & nLine & Error$		
Error Err,ErrStr
endh:
End Sub
 

Cleric-Lviv

Well-known member
03.01.2008
603
0
BIT
6
savl

Огромное спасибо! dxl + xml парсер = решение проблем :rolleyes:
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
470
шож вы делаете-то :rolleyes: - "сказал А - говори Б"
кто мешал приляпать XSLT сразу, кот. и выдаст имя из атрибута?
а вы тут замутили файло (х-з где) да потом еще и парсить...

Добавлено: и да... проще (в данном случае) ваще сделать SAX
 

savl

Lotus Team
28.10.2011
2 624
314
BIT
540
lmike
да я сам с xml не очень, использую как пойдет. XSLT все никак не научусь применять :(
Sax конечно лучше, но готовый код был только такой.
 
Мы в соцсетях:

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