1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

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

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

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

    ̸ Гость

    Репутация:
    0
    Доброе время суток.

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

    Вот собственно формула столбца. Так сказать единичный пример :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 скриптописец

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

    ̸ Гость

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

    abbatik Well-Known Member
    Lotus team

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

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

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

    Constantin A Chervonenko Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    30 май 2006
    Сообщения:
    1.322
    Симпатии:
    4
    Мой вариант: ночным агентом "подкладывать" дату не в поля документов, а в ФОРМУЛУ СТОЛБЦА вьюшки!
    Т.е. вместо
    dt:=@TextToTime("TODAY");
    подставлять сегодня что-то вроде
    dt:=[15.11.2008];
    завтра
    dt:=[16.11.2008]; и т.д..
     
Загрузка...
Похожие Темы - Проблема перестроения индекса
  1. pack
    Ответов:
    5
    Просмотров:
    64
  2. Alex1994
    Ответов:
    7
    Просмотров:
    124
  3. PingvinPingvin
    Ответов:
    10
    Просмотров:
    131
  4. Free2playman
    Ответов:
    14
    Просмотров:
    157
  5. Дмитрий17
    Ответов:
    10
    Просмотров:
    210
Статус темы:
Закрыта.

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