Узнать Имя Shared Images

Тема в разделе "Lotus - Программирование", создана пользователем Cleric-Lviv, 9 июл 2013.

  1. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    Всем привет.

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

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

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    Думаю стандартными свойствами нет...
    На картинке видно, что имя прописано во внутренней структуре RichTextLite.
    Через CAPI достучаться возможно.
    В dxl выгружать не пробовал, может через него можно.
     

    Вложения:

    • rtl.png
      rtl.png
      Размер файла:
      63,3 КБ
      Просмотров:
      54
  3. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    savl

    с dxl никогда не работал .....
     
  4. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    А вот кстати он поможет:
    <?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>
    Агент простенький, для выгрузки:

    Код (LotusScript):
    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
     
  5. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    savl

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

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.079
    Симпатии:
    300
    шож вы делаете-то :rolleyes: - "сказал А - говори Б"
    кто мешал приляпать XSLT сразу, кот. и выдаст имя из атрибута?
    а вы тут замутили файло (х-з где) да потом еще и парсить...

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

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    lmike
    да я сам с xml не очень, использую как пойдет. XSLT все никак не научусь применять :(
    Sax конечно лучше, но готовый код был только такой.
     
Загрузка...

Поделиться этой страницей