1. Мегаконкурс в апреле "Приведи друзей на codeby". Дарим деньги, подписку на журнал хакер и выдаем статус "Paid Access". Подробнее ...

    Скрыть объявление

Dialogbox вопрос про линк

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

Наш партнер Genesis Hackspace
  1. Cleric-Lviv

    Cleric-Lviv Well-Known Member
    Lotus team

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

    вопрос следующий:
    есть главний документА, визиваю Dialogbox и создаю новий документБ, делаю документБ документом ответом к документуА + хочу вставить линк на документБ в рт поле документаА. здесь глюк почемуто не хочет вставить линк:)

    плюс еще вопрос
    можно ли открить линк через Dialogbox?


    Код (Text):
    Sub Click(Source As Button)
    Dim ws As New NotesUIWorkspace
    Dim ses As New NotesSession
    Dim db As NotesDatabase
    Dim doc As NotesDocument
    Dim uidoc As NotesUIDocument
    Dim docres As NotesDocument
    Dim item As NotesRichTextItem

    Set db = ses.CurrentDatabase
    Set uidoc = ws.CurrentDocument
    Set doc = uidoc.Document
    Set item = doc.GetFirstItem("File")
    Set docres = New NotesDocument(db) 
    docres.Form = "Atach"  
    Call ws.DialogBox("Atach", True, True, False, False, False, False, "Приєднання документів", docres, True, False)

    Call docres.MakeResponse(doc)
    Call docres.Save (True, False)
    Call item.AppendDocLink(docres, "")
    End Sub
     
  2. nvyush

    nvyush Well-Known Member
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    КМК, нужно:
    1) добавить обработку ошибок, чтоб понять, где глючит.
    2) обрабатывать, что вернул ws.DialogBox — ведь пользователь может нажать отмену.
    3) проверить, действительно ли "File" является рт итемом. Может сделать так:
    Код (Text):
    if doc.HasItem("File") then doc.removeItem("File")
    set item = new notesRichTextItem(doc, "File")
    — это о чём?
     
  3. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.445
    Симпатии:
    8
    есть ли дефолтная вьюха, вообще код добавления работает без сообщений об ошибке?
    кстати, линк ведь к уи-доку текущему добавляется в бекенде.
    Возможно, нужен рт-апдейт или бекендное сохранение/переоткрытие, в зависимости от того, что там с документом...
     
  4. Cleric-Lviv

    Cleric-Lviv Well-Known Member
    Lotus team

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

    поле действительно рт.
    етот скрипт только тестовий, мне нужно увидеть результат. потом добавлю все варианти (что будет если нажать "ок" или "отмену")


    Добавлено: OKEN
    дефолтная вю есть, код ошибок не видает
     
  5. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.445
    Симпатии:
    8
    значит, пробуем item.update и
    если уи-документ в режиме редактирования, может помочь uidoc.refresh(True),
    если в режиме чтения - пробовать doc.save(True, True) doc.SaveOptions = "0", закрытие и переоткрытие уи-дока (взять doc по униду или из вьюшки).


    Добавлено: кстати, столкнулась недавно с интересным глюком (из-за области видимости переменных?).
    Код создания и заполнения рт-поля ссылкой и текстом был в одном методе, а бек-сохранение документа - в другом месте, где item было недоступно.
    и работало прикольно - создавало 2 рт-айтема - полностью пустой и тот, что нужно...(документ создавался в бекенде и в уи кодом не открывался)
    item.update не помогало в данном случае, помогла доступность item в момент сейва.
     
Загрузка...
Похожие Темы - Dialogbox вопрос про
  1. RenatAhmetshin
    Ответов:
    14
    Просмотров:
    787
  2. valmont
    Ответов:
    5
    Просмотров:
    945
  3. NickProstoNick
    Ответов:
    1
    Просмотров:
    899
  4. Cleric-Lviv
    Ответов:
    7
    Просмотров:
    2.107
  5. Kay
    Ответов:
    3
    Просмотров:
    1.819

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