Открыть Документ Из Внешнего Приложеия

Тема в разделе "Lotus - Программирование", создана пользователем vitte, 13 дек 2011.

  1. vitte

    vitte Well-Known Member

    Регистрация:
    17 ноя 2011
    Сообщения:
    55
    Симпатии:
    0
    Есть задача: из внешнего приложения открыть лотусовую базу, найти в ней документ по UNID и показать его пользователю. Сейчас копаю COM на этот предмет, но пока ещё не разобрался в реализации последовательности действий. Подскажите, вообще в том направлении двигаюсь? или правильней по другому ?
     
  2. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    vitte
    вполне подойдёт NotesURL (это РидОнли свойство документа - почитайте в хелпе)
    При условии что лотус установлен "правильно", а не скопирован
     
  3. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Что имеется ввиду под "показать документ пользователю" — открыть его в клиенте Lotus Notes или показать значения полей документа во внешнем приложении? Если первое — делайте как Morpheus предложил, если второе — продолжайте копать COM, хотя это не единственный вариант.
     
  4. vitte

    vitte Well-Known Member

    Регистрация:
    17 ноя 2011
    Сообщения:
    55
    Симпатии:
    0
    Да, показывать планирую в Лотусе..
     
  5. vitte

    vitte Well-Known Member

    Регистрация:
    17 ноя 2011
    Сообщения:
    55
    Симпатии:
    0
    а как проверить "правильность"?
     
  6. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Например, копируете из окна свойств к-либо документа его notesURL (закладка "< + >") и вставляете в адресную строку любимого браузера. Если откроет документ в LN — значит LN установлен правильно. Браузер может задать вопрос, каким приложением открывать ссылку, в списке должен присутствовать LN.

    Добавлено
    Рабочий макрос для открытия документа из Excel:
    Код (LotusScript):
    Sub OpenURI(uri As String)
    Call ActiveWorkbook.FollowHyperlink(uri)
    End Sub
     
  7. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    я просто "вставляю" гипер-линк в ячейку. Для отчетов самое оно

    Код (LotusScript):
     Call exSH.Hyperlinks.Add (exSH.Range( exSH.Cells(Row, Coll) , exSH.Cells(Row, Coll) ) , doc.NotesURL, , "Клацніть мишею, щоб перейти до документу", "Видимый текст в ячейке" )
     
  8. vitte

    vitte Well-Known Member

    Регистрация:
    17 ноя 2011
    Сообщения:
    55
    Симпатии:
    0
    ага, открывает.. Спасибо.
    А чтобы снаружи получить цифровой код сервера и БД в строке URL
    (Notes:///4725794B00166630/097DE62711C4E9F64725795F003BFE85/33C540936F670008C62578A2002A5852)
    мне все равно нужно как-то влезть в свойства объектов Лотуса (на случай переименования/смены сервера/БД ). Или я неправильно понимаю?
     
  9. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    vitte

    только если Вы сменили имя сервера или создали базу заново (читай "сменился" ReplicaID свойство базы данных )
     
  10. vitte

    vitte Well-Known Member

    Регистрация:
    17 ноя 2011
    Сообщения:
    55
    Симпатии:
    0
    Понятно, спасибо.
    Я тут нашел, что оказывается в строке URL не только ID писать можно, но и наименование базы/сервера (типа: имя_базы.nsf). А где бы про синтаксис строки прочитать?

    а вот нашел.. может кому интересно будет:
    http://www-10.lotus.com/ldd/dominowiki.nsf/dx/notes-urls
     
  11. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    оченб важно - не наименование базы, а именно репликИД - и тогда названия файла базы уже побоку.

    кстати если очень не вмоготу - вот тут я баловался с СОМ нотеса
     
Загрузка...

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