Респонсы в новом документе

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

  1. Ogion7

    Ogion7 Гость

    Такая проблемка. Создаю новый документ, через кнопку в форме создаю к нему ответ. Жму сохранить в основном документе(форму не закрываю). Выполняю по некой кнопке действие с ответными документами. Но коллекция doc.Responses пустая. Почему?
     
  2. Ronchik

    Ronchik Гость

    Для: Ogion7
    перед тем как создавать ответ нужно обязательно сохранить главный документ.....
     
  3. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: Ogion7
    Такая же фигня. После сохранения NotesDocument.NotesID равен 0 (как и свойство NotesDocument.IsNewNote равно True). Пока принудительно не вызовешь NotesUIDocument.Save или NotesDocument.Save.
     
  4. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Там даже интереснее.
    Создаем кнопку:
    Код (Text):
    Sub Click(Source As Button)
    Dim ws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument

    Set uidoc = ws.CurrentDocument
    Msgbox uidoc.Document.NoteID
    End Sub
    Вот если её нажать после сохранения документа, то выведет нормальный ID.
    Если нажать до сохранения, то выведет 0. Всё правильно. Но если сохранить после этого документ, то кнопка всё равно будет выводить 0. Причем во всех событиях Source.NotesDocument.NoteID после этого всё равно будет 0. Хоть сто раз сохранись.

    Короче, бакэнд документ не обновляется в памяти после сохранения. :)
     
  5. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: Medevic
    Что же это кеширование юзерового пространства?
     
  6. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: Morpheus
    Не знаю что это.
    Давно словил эту багофичу. На форуме IBM копался и ничего не нашел. Решил добавлением строки в PostSave: If Source.Document.IsNewNote Then Call Source.Document.Save(True, True). Что коряво, но работает.
    Благо настройки прав доступа это позволяли (т.е. сохранять после сохранения). Иначе пользователь с доступом Depositor словит ошибку

    Причем даже без нажатия на эту кнопку NoteID в событии PostSave иногда был равен 0.
    Долго я искал проблему, почему у некоторых пользователей в PostSave не вызывается серверный агент, а у других всё нормально. Пока случайно не нашёл.
     
  7. Ogion7

    Ogion7 Гость

    Спасибо всем, мине сохранять документ не подходит, посему я наверно решу энту проблему с помощью вюва(катег-о по $Ref), где буду искать все ответы :)
     
Загрузка...
Похожие Темы - Респонсы новом документе
  1. NickProstoNick
    Ответов:
    3
    Просмотров:
    2.249
  2. wowa
    Ответов:
    9
    Просмотров:
    3.924
  3. ded2015
    Ответов:
    0
    Просмотров:
    773
  4. erhe
    Ответов:
    2
    Просмотров:
    2.153
  5. tuxer
    Ответов:
    1
    Просмотров:
    1.730

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