• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы Guest_Den_*
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

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:
 
D

Domino6

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

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

DNT

Да, это принципиально. Я формирую лог на действия пользователя. И мне надо время точное, а то был прецендент неприятный. Как можно сделать?
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Код:
Dim servertime As Variant
servertime = Evaluate({@Now([SERVERTIME]; @ServerName)})
 
D

DNT

<!--QuoteBegin-Medevic+9:11:2005, 12:39 -->
<span class="vbquote">(Medevic @ 9:11:2005, 12:39 )</span><!--QuoteEBegin-->
Код:
Dim servertime As Variant
servertime = Evaluate({@Now([SERVERTIME]; @ServerName)})
[snapback]26825" rel="nofollow" target="_blank[/snapback]​
[/quote]

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

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Для: DNT
Параметры у функция @Now появились только с 6-ой версии. Если у тебя ниже, значит облом.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Для: DNT
Не пойму, почему ты не хочешь агентом время устанавливать ?
 
D

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]

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

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

DNT

Спасибо. Я понял. Пробовать через агент буду. Просто прикольно получается формула @Date(@Created) тянет время серваковое, а аналог на скрипте Date$ - локальное. Почему?
 
D

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]

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

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

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

DNT

Вопрос в тему: как из скриптов запустить существующий агент? (Я недавно в Лотусе работаю - поэтому вопрос комуто покажется наверно глупым)
 
D

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. агент написан не на скрипте просто его надо запустить

Ваш выбор
 
D

DNT

<!--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
 
D

Domino6

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

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Для: Domino6
Я думаю, ему нужно установить серверное время с помощью агента.
 
D

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 посмотри внимательнне этот класс
 
D

DNT

Интересно... Разобраться надо с этим класом. А в 5-ке он есть?

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

DNT

Кстати сейчас всё работает на событии ПОСТСЕЙВ формы и устраивает такая работа. Только вот со временем в создаваемом документе лога лажа!
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
<!--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 существующего документа. Потом в агенте можно получить этот документ и произвести над ним действие - установить время в твоем случае.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!