1. Акция на весь декабрь! Получай оплату х2 за уникальные статьи, объемом от 200 слов, если в заголовке темы и теле статьи присутствует слово Python
    Скрыть объявление

Представления С Выводом Документов На Несколько Строк

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

  1. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Столкнулся с следующей проблемой:

    Есть представление в котором выводится документу, причем на несколько строк (есть многозначное поле).

    Set notesViewEntry = notesViewNavigator.GetEntry(NotesDocment)'Такая конструкция не получает такой документ, view_notesViewEntry = Nothing

    Бегать по всему навигатору и отбирать строки принадлежащие NotesDocment капец как долго, представления большие.

    Есть ли какие варианты по другому получить значения из представления зная документ?
     
  2. lmike

    lmike нет, пердело совершенство
    Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    где-то делал связку вьюэнтрисколлекшн и нафигатора...
    через GetPos может туда копать?
     
  3. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    GetPos - чем может помочь? Если бегать им же по всей вьюхе скорость мало будет отличатся от GetFirst/GetNext.
     
  4. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Значения в представлении выводятся в соответствии со значениями полей документа. Зная документ, какие проблемы получить значения полей? Зачем использовать notesViewEntry & notesViewNavigator?
     
  5. Кирилл Шваб

    Кирилл Шваб Well-Known Member

    Регистрация:
    30 июн 2006
    Сообщения:
    143
    Симпатии:
    4
    kizarek,

    а если с помощью метода NotesViewEntry.ColumnValues(x), то тоже долго получается?
     
  6. lmike

    lmike нет, пердело совершенство
    Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    "обычно" нужно начать сканирование с опред. места
    дык вот - место находим по ключу, преобразуем энтрис и от него двигаемся дальше (по нафигатору)
    и док, кагбэ, нинужен :)
    получение дока для энтриса, как и обратная процедура - небыстрый процесс
     
  7. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Ну в общем то вариант, но не особо то) Ибо категорию так не сгенеришь.

    NotesViewEntry - ну так его получить то и не получается.

    Ну если б надо было с определенного места с него бы и искал.
    А наличие документа тут как раз обратная задача, найти по документу его значения в представлении.

    Немного поясню что делаю, мб у кого есть примеры)
    Делаю выгрузку выделенных документов в представлении в Excel.
    Надо чтобы подходило под все представления с сохранение форматирования.
     
  8. lmike

    lmike нет, пердело совершенство
    Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    еще раз... я предлагаю передавать notesViewEntry = notesViewEntryCollection.GetEntry(NotesDocument)
    а вот к навигаторской сучности переходить по GetPos
    или через notesViewNavigator.GetEntry(notesViewEntry)
    а позиция необходима для ограничения диапазона сканирования нафигатора

    Добавлено: универсальным сделать не получится, ибо...
    разнесение колумвэлью могет быть значительным (вплоть до границ вьюшки) и тогда сканировать таки придется всё, или перейти к методу поиска по ключу, что может не сработать (при отсут. сортировки)
     
  9. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    lmike,
    очень получиться если бегать по всей вьюхе)

    понятно что такая багофича имеет место быть, и должно быть 2а варианта выгрузки (при наличие вывода документа в несколько строк - медленно, и без оного быстро).

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

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