Гость
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ZEN Осторожно с Timestamp InitialExpression! / 6 сообщений из 6, страница 1 из 1
01.05.2019, 05:30
    #39808667
kolesov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN Осторожно с Timestamp InitialExpression!
Вроде простая штука:

Property DateTime As %TimeStamp [ InitialExpression = {$zdt($zts,3)} ];

А вот нет. В БД окажется таймстамп, соответствующий времени ОТКРЫТИЯ ZEN-формы для заполнения, а не время СОХРАНЕНИЯ.

Получается, что Timestamp лучше иметь без InitialExpression.

Я огреб в ситуации, когда некий инструмент проверял "новые" записи (за последние 30 секунд) - дальше сами понимаете, как было печально ;)

ЗЫ: Что-то мне подсказывает, что подобная история будет с любым MVC или подобным механизмом, не только с ZEN.
...
Рейтинг: 0 / 0
01.05.2019, 06:59
    #39808671
vassil
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN Осторожно с Timestamp InitialExpression!
Всё правильно. Вызываешь форму, создается объект ZEN-формы и соответствующий хранимый объект. InitialExpression срабатывает на момент создания объекта.
...
Рейтинг: 0 / 0
01.05.2019, 08:37
    #39808680
kolesov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN Осторожно с Timestamp InitialExpression!
vassilВсё правильно. Вызываешь форму, создается объект ZEN-формы и соответствующий хранимый объект. InitialExpression срабатывает на момент создания объекта.

В том-то и дело, что не "соответствующий хранимый объект", а лишь проекция. Вроде и ИС правы, и ерунда в итоге... Несовместимы они, короче ;)
...
Рейтинг: 0 / 0
01.05.2019, 12:27
    #39808764
ser_shu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN Осторожно с Timestamp InitialExpression!
kolesov,

Timestamp время сохранение объекта логично в %OnBeforeSave фиксировать.
...
Рейтинг: 0 / 0
02.05.2019, 01:12
    #39809022
ser_shu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN Осторожно с Timestamp InitialExpression!
kolesovЯ огреб в ситуации, когда некий инструмент проверял "новые" записи (за последние 30 секунд) - дальше сами понимаете, как было печально ;)
В такой ситуации логичнее вести внешний протокол, прописывая его в %OnAfterSave типа
set ^Log($horolog,$classname(),..%Id())=""
Тогда можно легко просмотреть с конца, что и сколько за последние 30 секунд создалось или изменилось. По флагу insert можно отличить новые записи от старых.
...
Рейтинг: 0 / 0
02.05.2019, 01:50
    #39809023
ser_shu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ZEN Осторожно с Timestamp InitialExpression!
ser_shuВ такой ситуации логичнее вести внешний протокол, прописывая его в %OnAfterSave типа
set ^Log($horolog,$classname(),..%Id())=""
Тогда можно легко просмотреть с конца, что и сколько за последние 30 секунд создалось или изменилось. По флагу insert можно отличить новые записи от старых.
Извиняюсь, $horolog здесь неудобно, так как секунды через запятую, я имел в виду
set ^Log((дата),(время в секундах),$classname(),..%Id())=""

или можно set ^Log((дата),(время в секундах),$classname(),..%Id())=(время открытия объекта)($username),
тогда можно узнать кто, когда и как долго терзал объект в ZENе :)
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / ZEN Осторожно с Timestamp InitialExpression! / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]