Время в документе

Тема в разделе "Lotus - Программирование", создана пользователем Guest_Den_*, 8 ноя 2005.

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

    Guest_Den_* Гость

    Это кусок кода который выполняется при сохранении документа (формирование лога):
    Set NewDoc = New notesdocument (db)
    newdoc.form = "log"
    newdoc.logaction = "Создание"
    newdoc.logautor = session.CommonUserName
    newdoc.logDate = Date$
    newdoc.logTime = Time$
    newdoc.logCategory = doc.Category
    newdoc.logTitle = doc.FormName
    newdoc.logAutorDoc = doc.Autor
    newdoc.logDateDoc = doc.created

    Хочу чтоб функция Date$ и Time$ возвращала дату с сервака. А то получается не красиво - берет с клиента! Возможно ли это?

    Спасибо! :lol:
     
  2. Domino6

    Domino6 Гость

    Выполняй код на сервере (агенты)

    А в общем какая разница или у тебя времена разные на клиенте и на сервере?
     
  3. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    Да, это принципиально. Я формирую лог на действия пользователя. И мне надо время точное, а то был прецендент неприятный. Как можно сделать?
     
  4. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Код (Text):
    Dim servertime As Variant
    servertime = Evaluate({@Now([SERVERTIME]; @ServerName)})
     
  5. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    <!--QuoteBegin-Medevic+9:11:2005, 12:39 -->
    <span class="vbquote">(Medevic @ 9:11:2005, 12:39 )</span><!--QuoteEBegin-->
    Код (Text):
    Dim servertime As Variant
    servertime = Evaluate({@Now([SERVERTIME]; @ServerName)})
    [snapback]26825" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    Вот такой результ:
    Error in EVALUATE macro
     
  6. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: DNT
    Параметры у функция @Now появились только с 6-ой версии. Если у тебя ниже, значит облом.
     
  7. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: DNT
    Не пойму, почему ты не хочешь агентом время устанавливать ?
     
  8. Domino6

    Domino6 Гость

    <!--QuoteBegin-DNT+9:11:2005, 12:29 -->
    <span class="vbquote">(DNT @ 9:11:2005, 12:29 )</span><!--QuoteEBegin-->И мне надо время точное, а то был прецендент неприятный. Как можно сделать?
    [snapback]26823" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    Как может быть точное время если его у тебя нет нигде точного. Возми просто синхронизируй сервер по премени а пользователи пусть автоматом синхронизируются с сервером(серверами) и все.

    Все чаще получается что за огрехи организации ИТ-пространства приходится расплачиватся программистам и админам.
     
  9. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    Спасибо. Я понял. Пробовать через агент буду. Просто прикольно получается формула @Date(@Created) тянет время серваковое, а аналог на скрипте Date$ - локальное. Почему?
     
  10. Domino6

    Domino6 Гость

    <!--QuoteBegin-DNT+9:11:2005, 16:24 -->
    <span class="vbquote">(DNT @ 9:11:2005, 16:24 )</span><!--QuoteEBegin-->@Date(@Created) тянет время серваковое, а аналог на скрипте Date$ - локальное. Почему?
    [snapback]26847" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    Формула срабатывае в объекте на сервере а объект из памяти сервера передается пользователю

    а скрипт код который отрабатывает в памяти пользовательской машины вот и вся разница

    если сделать вычисление на скриптах в постопене формы то тоже будет серверное время
     
  11. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    Вопрос в тему: как из скриптов запустить существующий агент? (Я недавно в Лотусе работаю - поэтому вопрос комуто покажется наверно глупым)
     
  12. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: DNT
    NotesAgent.RunOnServer
     
  13. Domino6

    Domino6 Гость

    <!--QuoteBegin-Medevic+9:11:2005, 16:32 -->
    <span class="vbquote">(Medevic @ 9:11:2005, 16:32 )</span><!--QuoteEBegin-->Для: DNT
    NotesAgent.RunOnServer
    [snapback]26850" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    А может ему просто надо перевети тип запуска на периодическое выполнение


    Для: DNT - что именно надо
    1- запустить агент который должен выполнять что-то периодически
    2. агент написан не на скрипте просто его надо запустить

    Ваш выбор
     
  14. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    <!--QuoteBegin-Domino6+9:11:2005, 16:35 -->
    <span class="vbquote">(Domino6 @ 9:11:2005, 16:35 )</span><!--QuoteEBegin-->А может ему просто надо перевети тип запуска на периодическое выполнение
    Для: DNT - что именно надо
    1- запустить агент который должен выполнять что-то периодически
    2. агент написан не на скрипте просто его надо запустить

    Ваш выбор
    [snapback]26852" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    2
     
  15. Domino6

    Domino6 Гость

    Опции запуска агента какие?
    На каких документахъ отрабатывет ?
     
  16. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: Domino6
    Я думаю, ему нужно установить серверное время с помощью агента.
     
  17. Domino6

    Domino6 Гость

    <!--QuoteBegin-Medevic+9:11:2005, 16:41 -->
    <span class="vbquote">(Medevic @ 9:11:2005, 16:41 )</span><!--QuoteEBegin-->Я думаю, ему нужно установить серверное время с помощью агента.
    [snapback]26856" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Для: DNT

    Если вернутся к протоколированию то вот вариант

    Использовать класс NotesLog с типом протоколирования в базу.
    Там будет дата записи протоколирования(от кода) + дата создания документа (от сервера) И все будет тип-топ

    Для: DNT посмотри внимательнне этот класс
     
  18. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    Интересно... Разобраться надо с этим класом. А в 5-ке он есть?

    А по поводу агента сам хотел вопрос задать: какие параметры ему выставить если мне нужно его запускать из скрипта, и хочу чтоб он создал документ, куда вставит долгожданное серваковое время?
     
  19. DNT

    DNT Постоялец форума
    Lotus team

    Регистрация:
    12 окт 2005
    Сообщения:
    592
    Симпатии:
    7
    Кстати сейчас всё работает на событии ПОСТСЕЙВ формы и устраивает такая работа. Только вот со временем в создаваемом документе лога лажа!
     
  20. Medevic

    Medevic Что это ? :)
    Lotus team

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    <!--QuoteBegin-DNT+9:11:2005, 17:22 -->
    <span class="vbquote">(DNT @ 9:11:2005, 17:22 )</span><!--QuoteEBegin-->А по поводу агента сам хотел вопрос задать: какие параметры ему выставить если мне нужно его запускать из скрипта, и хочу чтоб он создал документ, куда вставит долгожданное серваковое время?
    [snapback]26861" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    В качестве параметра можно указать NotesID существующего документа. Потом в агенте можно получить этот документ и произвести над ним действие - установить время в твоем случае.
     
Загрузка...
Статус темы:
Закрыта.

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