Проблема с аттачем

Тема в разделе "Lotus - Программирование", создана пользователем twister, 6 ноя 2007.

  1. twister

    twister Гость

    Имеется вот такая функция:
    Код (Text):
    Public Function InsertFileToField(uSrcDocument As NotesDocument, sFieldName As String, _
    sPathName As String) As Boolean
    On Error Goto Error_

    InsertFileToField = False
    Dim uDocument As NotesDocument
    If (uSrcDocument Is Nothing) Then
    Dim uUIWorkSpace As New NotesUIWorkspace
    Dim uUIDocument As NotesUIDocument
    Set uUIDocument = uUIWorkSpace.CurrentDocument
    Set uDocument = uUIDocument.Document
    Else
    Set uDocument = uSrcDocument
    End If

    Dim uRTItem As NotesRichTextItem
    Dim uObject As NotesEmbeddedObject
    If uDocument.HasItem(sFieldName) Then
    Set uRTItem = uDocument.GetFirstItem(sFieldName)
    If (uRTItem.Type = RICHTEXT) And (uDocument.HasEmbedded) Then
    Forall uObjTmp In uRTItem.EmbeddedObjects
    If (Format(uObjTmp.Name, ">") = Format(ExtractFileName(sPathName), ">")) Then
    Set uObject = uObjTmp
    End If
    End Forall
    End If
    Else
    Set uRTItem = uDocument.CreateRichTextItem(sFieldName)
    End If
    If Not(uObject Is Nothing) Then
    Dim sTmp As String
    sTmp = "In field '" & sFieldName & _
    "' already exist attach with filename '" & ExtractFileName(sPathName) & _
    "'" & sLN & "Do you want to replace it?"
    If (Messagebox(sTmp, MB_YESNO + MB_ICONQUESTION, "Continue?") = IDYES) Then
    Call uObject.Remove
    Else
    Goto Exit_
    End If
    End If
    Call uRTItem.EmbedObject(EMBED_ATTACHMENT, "", sPathName)

    If (uSrcDocument Is Nothing) Then
    Dim uUIDocumentNew As NotesUIDocument
    Set uUIDocumentNew = uUIWorkSpace.EditDocument(True, uDocument)
    Call uDocument.ReplaceItemValue("SaveOptions", "0")
    Call uUIDocument.Close
    Set uDocument = uUIDocumentNew.Document
    Call uDocument.ReplaceItemValue("Form", uDocument.GetItemValue("Form")(0))
    End If

    InsertFileToField = True

    Exit_:
    Exit Function

    Error_:
    Messagebox sError & Error$ & " (#" & Trim(Str(Err())) & ": line: " & Trim(Cstr(Erl())) & ")" _
    & " in subroutine " & Cstr(Getthreadinfo(LSI_THREAD_PROC)) _
    & " from subroutine " & Cstr(Getthreadinfo(LSI_THREAD_CALLPROC))
    Resume Next
    End Function
    Вопрос: Файл сразу не аттачится к полю. Если в документ перезайти - аттач висит снизу, а не в нужном нам поле.
     
  2. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    А вызов ф-ции сложно было описать?

    sFieldName - какой передаёте?

    <!--QuoteBegin-twister+6:11:2007, 14:57 -->
    <span class="vbquote">(twister @ 6:11:2007, 14:57 )</span><!--QuoteEBegin-->Если в документ перезайти
    [snapback]84439" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Это фишка работы с РТ полем
     
  3. twister

    twister Гость

    <!--QuoteBegin-Morpheus+6:11:2007, 18:00 -->
    <span class="vbquote">(Morpheus @ 6:11:2007, 18:00 )</span><!--QuoteEBegin-->А вызов ф-ции сложно было описать?
    [snapback]84440" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    InsertFileToField(curdoc,"Body","d:\1.doc")
     
  4. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Ну значит в документе скорее всего нету этого поля, это раз,

    во вторых без перезахода в документа у Вас вложения точно не появяться - это факт
     
  5. Sandr

    Sandr Гость

    Причина несколько друга... :)

    Файл пытаемся атачить на бекенде, и хотим сразу же его увидить? Да и потом его не увидитеЮ, так как если атачить файл на бекенде, он формально атачится к РТ итему, но фактически к документу... Попробуйте ради эксперимента получить аттачь из этого итема после переоткрытия документа - не получите... Выход - атачьте файл на уи... @Command( [EditInsertFileAttachment] ; file ; compress ) вам в помощь... :D
     
Загрузка...
Похожие Темы - Проблема аттачем
  1. c0de3r
    Ответов:
    5
    Просмотров:
    113
  2. DobermannTT
    Ответов:
    10
    Просмотров:
    132
  3. SoulPaladin
    Ответов:
    3
    Просмотров:
    120
  4. Artael
    Ответов:
    1
    Просмотров:
    109
  5. ENSLER
    Ответов:
    0
    Просмотров:
    102

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