Проблема перестроения индекса представления

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

Статус темы:
Закрыта.
  1. ̸

    ̸ Гость

    Доброе время суток.

    Помогите разобраться со следующей ситуацией. Имеется представление, в котором отображаются документы, сгруппированные по категориям "СЕГОДНЯ", "ВЧЕРА" и "ДРУГИЕ".

    Вот собственно формула столбца. Так сказать единичный пример :unsure:

    dt:=@TextToTime("TODAY");
    @If(@Date(dt)=@Date(@Created); "СЕГОДНЯ"; @Date(dt)=@Date(@Adjust(@Created; 0; 0; 1; 0; 0; 0)); "ВЧЕРА"; "ДРУГИЕ")

    Проблема заключается в том, что после создания документа - он попадает в категорию "СЕГОДНЯ". После этого над документом не производится никаких действий.

    На следующий день документ, остается в категории СЕГОДНЯ, хотя по идее должен переходить в категорию ВЧЕРА. Если ручками обновить представление комбинацией Shift+F9, то документ попадает в нужную категорию.

    Решений проблемы существует несколько
    1) можно каждый день прокладывать агентом текущую дату в определенное поле и затем использовать его в формуле столбца вместо @TextToTime
    2) можно запустить, задачу обновления индекса вьюшек (как долго будет отрабатываться для одной или всех баз мной не опробывано)
    3) что то другое может есть еще ))

    Но вопрос стоит как сделать правильно. Представления, пляшущие от текущей даты, частенько используются. Но не всегда отображаются корректно (
    При использовании @today все работает четко, но очень долго и не эффективно. Так что.... Поделитесь мыслями, кто встречался с такой ситуацией.

    Спасибо ;)
     
  2. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    я делаю как указанно в п.1
    тоесть ночью агентом проставляю дату, чего и Вам советую
     
  3. ̸

    ̸ Гость

    Morpheus Спасибо за совет. Если других достойных вариантов не будет, буду писать такой агент ) А пока же хотелось бы просто получить как можно больше информации для саморазвития :unsure:
     
  4. abbatik

    abbatik Lotus team
    Lotus team

    Регистрация:
    20 окт 2008
    Сообщения:
    277
    Симпатии:
    0
    Вот агент:

    Код (Text):
    Forall v In db.Views
    Call v.Refresh ()
    End Forall
    Если нужно обновлять определенные виды, то можно список видов сделать.

    И еще, если данных в базе много, то советую перед этим еще зашедулить compact и fixup этой базы в администраторе, перед выполнением агента.
     
  5. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    Мой вариант: ночным агентом "подкладывать" дату не в поля документов, а в ФОРМУЛУ СТОЛБЦА вьюшки!
    Т.е. вместо
    dt:=@TextToTime("TODAY");
    подставлять сегодня что-то вроде
    dt:=[15.11.2008];
    завтра
    dt:=[16.11.2008]; и т.д..
     
Загрузка...
Похожие Темы - Проблема перестроения индекса
  1. c0de3r
    Ответов:
    4
    Просмотров:
    109
  2. DobermannTT
    Ответов:
    10
    Просмотров:
    130
  3. SoulPaladin
    Ответов:
    3
    Просмотров:
    118
  4. Artael
    Ответов:
    1
    Просмотров:
    106
  5. ENSLER
    Ответов:
    0
    Просмотров:
    100
Статус темы:
Закрыта.

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