Не создается документ

Тема в разделе "Lotus - Программирование", создана пользователем azat20, 8 июн 2009.

  1. azat20

    azat20 Well-Known Member

    Регистрация:
    22 июл 2008
    Сообщения:
    244
    Симпатии:
    0
    Добрый день!
    Столкнулся с такой проблемой. Есть некий документ по форме. На ней кнопка. По нажатию на кнопку нужно открыть новый документ по той же самой форме. Кто-нибудь знает почему нельзя создать такой документ? Причем через ws.compose работает, но мне надо использовать ws.editdocument


    [codebox] Dim db As NotesDatabase
    Dim sess As New NotesSession
    Dim admindoc As NotesDocument
    Dim uidoc As NotesUIDocument
    Dim ws As New NotesUIWorkspace
    Set db = sess.CurrentDatabase
    Set admindoc = db.CreateDocument
    admindoc.Form = "request"
    Set uidoc=ws.EditDocument(True,admindoc,,,,)
    Call uidoc.Refresh(False,False,True)[/codebox]

    Не получаю объект uidoc. НО Если указываешь любую ответную (тип Response) форму, то документ создается.
     
  2. erdi

    erdi Well-Known Member

    Регистрация:
    20 авг 2008
    Сообщения:
    261
    Симпатии:
    36
    А зачем тебе надо именно ws.editdocument? при создании документа через ws.compose документ уже создается в режиме редактирования
     
  3. K-Fire

    K-Fire Гость

    Непонятно в чем проблема.
    ws.editdocument должно замечательно работать, и без разницы по той же форме новый док создается или по другой.

    Хотя попробуй вместо Set uidoc=ws.EditDocument(True,admindoc,,,,) написать просто Set uidoc=ws.EditDocument(True,admindoc), может быть в этом разница.
     
  4. azat20

    azat20 Well-Known Member

    Регистрация:
    22 июл 2008
    Сообщения:
    244
    Симпатии:
    0
    compose не подходит, т.к. там надо заранее заполнить несколько полей, одно из которых - по сути определяющее загрузку подформ, выбирается через листбокс. там в defaultvalue записано. мне надо чтобы окно с выбором не появлялось.

    to K-Fire: не помогает.
     
  5. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Может документ сразу же закрывается?
    Т.е. смотри события в форме request
     
  6. K-Fire

    K-Fire Гость

    еще попробуй поиграться с параметрами EditDocument. Например EditDocument(True,admindoc, false, "", true, false)

    Попробуй ws определять сразу перед EditDocument.
     
  7. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Проверь, что в QueryOpen формы request либо её подформах, не устанавливается Continue = false.
     
  8. AvasKvas

    AvasKvas Well-Known Member

    Регистрация:
    3 июн 2009
    Сообщения:
    78
    Симпатии:
    0
    А я думал что EditDocument - это открытие документа в режиме редактирования, а не создания!?
     
  9. azat20

    azat20 Well-Known Member

    Регистрация:
    22 июл 2008
    Сообщения:
    244
    Симпатии:
    0
    Спасибо, Всем! На QueryOpen по условию Not(Isnewdoc) переходил на continue=false :unsure: теперь буду знать. Еще раз всех благодарю за ответы!
     
  10. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    TIA - спасибо. Имел аналогичную проблему, проверил QueryOpen формы создаваемого документа и вот оно

    If Isnewdoc = False Then
    If Mode Then Continue = 0
    End If

    заменил на

    If Source.Document.IsNewNote = False Then
    If Mode Then Continue = 0
    End If
    и все заработало! +1

    P.S. Сия конструкция, чтоб юзеры не открывали доки сразу в режиме редактирования по Ctrl+E. Редактировать - только по кнопке, доступной избранным :unsure: .
     
  11. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    а авторс-поля не для этого придуманы?..
     
  12. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Не вдаваясь в подробности - юзеры могут изменить статус документа, но не должны трогать его содержимое. Разделы с управляемым доступом не везде удобны. Поля авторс здесь не катят.
     
  13. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    А Protected-поля тоже не катят?
     
  14. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Может быть катят, но в данном конкретном случае мне проще не дать юзеру на редактирование в УИ док целиком, чем заморачиваться с управляемыми разделами или защищенными полями.
     
  15. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Если реально не должны трогать данные в документе, то статус документа храните в респонсе.
     
  16. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Статус легко меняется агентом. :unsure:
     
  17. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Гут вариант, я бы так и сделал)
     
  18. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Желательно без RunOnServer. Тяжеловат.
     
  19. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    А кто ж им права даст агентов плодить? Пусть только кнопочки жмут "Да", "Нет", "Отложить" :unsure: .
     
  20. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    А зачем им плодить агентов? Агентов должен плодить дизайнер.
     
Загрузка...

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