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

Getallentriesbykey, не находит все Entry

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

  1. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    Есть вью. Вней 5 столбцов. Четвертый не отсортирован
    Мне нужно получить все ентри, зная значение первого и пятого столбца.

    Делаю так:

    Код (Text):
    Dim vKey_2(3) As Variant

    vKey_2(0) = "WWWW"
    vKey_2(1) = ""
    vKey_2(2) = ""
    vKey_2(3) = "LLLLLL"

    Set dc = view.GetAllEntriesByKey(vKey_2,False)
    В коллекции всегда только один Энтри. В чем может быть проблема?
     
  2. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    GetAllEntriesByKey method
    ...
    The method returns all entries whose column values match each key in the array - может в этом проблема?
     
  3. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    в хелпе есть и такое:
     
  4. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    nvy , да я думал об этом, но насколько я помню, раше с "" работало. Да и если так, то в этом случае ничего не должно было найти
     
  5. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    кстати, категоризацию в представлении не вводили, доступ на чтение к документам категории не менялся?
     
  6. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    OKEN , что это может значить?

    Можно ли найти нужные мне документы или Энтри другим способом?
    например FTSearch?

    Код (Text):
    ststring = {FIELD Country = "} & stKey_1 & {" FIELD Sponsor = "} & stKey_2 & {"}
    mm = viewSponsor.FTSearch( ststring , 0 )
    правда что-то моя строка не правильная

    Добавлено: OKEN , кстати, в первом столбики есть категория....
     
  7. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    с категориями глючит. Может, пройтись через навигатор, перепроектировать представление или добавить отдельное для поиска...
    в фт-поиске оператор AND забыли.
     
  8. wowa

    wowa Well-Known Member

    Регистрация:
    1 фев 2007
    Сообщения:
    842
    Симпатии:
    0
    OKEN , спасибо, буду пробывать FTSearch. Т.к. более подходящих вью нет. А FTSearch вроде правильно нашел.
    +1
     
  9. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    "вроде" - єто только начало :D
     
  10. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0

    Например,
    1) получаете все entry по первому ключу "WWWW", а потом скриптом отфильтровываете только те, у которых в .ColumnValues(3) = "LLLLLL"
    2) получаете через getFirstDocument и ключу "WWWW" первый документ во вьюшке. Потом view.getNextDocument пока в .ColumnValues(0) = "WWWW". Обрабатываете только те, у которых в .ColumnValues(3) = "LLLLLL".
    3) db.Search надёжнее FTSearch
     
  11. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    TIA
    Тут еще непонятно, полный ли ключ WWWW или нужны все документы по шаблонам WWWW* и LLLLLL*.
    Т.е., если есть категории WWWW1, WWWW12 и WWWW2, то может не сработать получение всех нужных документов (или ентри), надо внимательней.
    не помню точно, что глючило, давно было.
    Но все равно лучше серча.
     
  12. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    Не суть. Ищите с False. Скриптом отфильтровываете как надо.

    Не всегда. Когда большая вероятность получить почти все документы БД, сёрч всё же лучше.
     
  13. lmike

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

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

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

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