Как такое может быть?!

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

  1. fedotxxl

    fedotxxl Well-Known Member

    Регистрация:
    9 ноя 2005
    Сообщения:
    614
    Симпатии:
    0
    Прошу прощения за название темы, но подругому никак... Вот такой простой код
    Код (Text):
    Dim ns As New NotesSession
    Dim db As NotesDatabase

    Dim ndTemp As NotesDocument
    Dim nv As NotesView

    Set db = ns.CurrentDatabase
    Set ndTemp = db.CreateDocument

    Call ndTemp.Save(True, True)

    Set nv = db.GetView("(UNID)")
    Call nv.Refresh
    nv.AutoUpdate = False

    Set ndTemp = nv.GetDocumentByKey(ndTemp.UniversalD, True)
    Вид отбирает все документы, первый столбец сортирован, код столбца @Text(@DocumentUniqueID). Метод nv.GetDocumentByKey(ndTemp.UniversalD, True) возвращает nothing... ПОЧЕМУ?!
     
  2. D!m@n

    D!m@n Гость

    Попробуйте
    :)

    Либо уберите в свойствах представления галочку Show responce documents in hierarchy.
     
  3. fedotxxl

    fedotxxl Well-Known Member

    Регистрация:
    9 ноя 2005
    Сообщения:
    614
    Симпатии:
    0
    D!m@n
    Галка не стоит
    Во-вторых в хелпе написано - If the force parameter is True, the createResponse parameter has no effect.
     
  4. allex

    allex Гость

    Такая же проблема, дебагеом смотрю

    Dim col As NotesDocumentCollection
    Set view = db.GetView( "view" )
    Set col = view.GetAllDocumentsByKey(name_field_curdoc, True)
    name_field_curdoc - string величина, и она определена
    во view первый столбец показывает значения, с данным ключем во view есть 3 док-та

    Но коллекция пустая

    ????
     
  5. D!m@n

    D!m@n Гость

    Хм, да... Встречный вопрос - зачем тогда второй аргумент в True выставили? :ph34r:
    Кстати, а Вы вручную не проверяли - создаваемые документы во вьюхе есть?
     
  6. K-Fire

    K-Fire Гость

    Попробуйте немного модифицировать код, а именно после Call ndTemp.Save(True, True):
    Dim unid as String
    unid = ndTemp.UniversalID
    Set ndTemp = Nothing

    и в конце уже Set ndTemp = nv.GetDocumentByKey(unid)

    Кстати, еще вариант попробуйте nv.GetDocumentByKey(ndTemp.UniversalD, True) заменить на nv.GetDocumentByKey(ndTemp.UniversalD)
     
  7. fedotxxl

    fedotxxl Well-Known Member

    Регистрация:
    9 ноя 2005
    Сообщения:
    614
    Симпатии:
    0
    D!m@n
    Что-то туда вставить нужно было

    K-Fire
    Если nv.GetDocumentByKey(ndTemp.UniversalD), то находился вообще какой-то бредовый документ

    Вобщем взял из другой базы данных такое же по смыслу представление и проблема решилась...
     
Загрузка...

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