Добавление аттачментов в документ

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

  1. lionk

    lionk Well-Known Member

    Регистрация:
    5 апр 2007
    Сообщения:
    308
    Симпатии:
    3
    Тема обсуждалась много раз и почти везде,
    но немогу удержатся и пофлужу немного (простите админы :) )

    Задача:
    дуальная база (открывается с веба и с клиента),
    одно из функциональных назначений сбор документов(вордовский файлик),
    транспортировка (соданый док с вложением видят два чела, адресат и адресант, находящиеся в разных точках города)

    понятно что работа с аттачментами должна быть комфортной.

    формы веб и клиентские должны быть максимально схожи, а как известно в вебе файл аттачится через fileupload а в клиенте разными методами (собаками или лотусскрипт) в RichText поле.
    и документ созаный в вебе с атачем в клиенте открывается с добавлением горизонтальной полоски под которой и лежит файлик атачмент.
    скреативлений в лотусе документик с атачем в вебе можно считать только если сгенерить сылку (а её непонятно как генерить бо неизвестно де лежит файлик, хотя логику придумать можно)
    можно ещё конечно пререраспредилять атачмент после сохранения дока в вебе и ложить его в ричтекс, но я-дмин, себе-програмеру запретил это метод так как он требует промежуточной записи файлика на серваке что непозволительно с ракурся информационной безопастности.

    праскинув мозгами, с помошю привязаной к голове гранаты я зделал такое
    с веба файл аплодится стандартно через fileupload, после сохранения док переоткрывается и сылку на атачмент формирую
    Код (Text):
    out:="";
    att:=@AttachmentNames;
    @For(n := 1;n <=@Attachments;n := n + 1;
    out:=out+"<a href=\"/"+@WebDbName+"/0/" +@Text(@DocumentUniqueID)+"/$file/"+att[n]+"\" class=\"date\" target=\"_blank\">"+att[n]+"</a>");
    @If(@IsNewDoc;"";out)
    появившуюся внизу картинку атачмента скрываю <div style="visibility: hidden;font-size: 0px;" id="xxx">

    в лотусе же файл добавляю
    Код (Text):
    Dim ws As New NotesUIWorkspace
    Dim rtitem As NotesRichTextItem
    Dim object As NotesEmbeddedObject
    Dim filename As Variant
    Set rtitem = New NotesRichTextItem( doc, "$file" )
    filename = ws.OpenFileDialog(False, "Оберіть документ",, "")
    If Not(Isempty(filename)) Then
    Set object = rtitem.EmbedObject     ( EMBED_ATTACHMENT, "", filename(0))
    Call Doc.ReplaceItemValue ("attname",filename(0))
    End If
    и он после переоткрытия в клиенте (кстати это можно както побороть) отображаетс я снизу документа как атач который можно удалить сохранить посмотреть, и онже открывается в вебе со всем удобством.

    что прикольно после переоткрытися $file появляется в двух видах как ричтекс и как атачмент, а при обращении всегда отдаёт файл(аттачмент)

    вот такой флуд...
     
  2. Sandr

    Sandr Гость

    Чет я не понял, а вчем вопрос? Или это был пример?
     
Загрузка...

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