|
ZEN Осторожно с Timestamp InitialExpression!
|
|||
---|---|---|---|
#18+
Вроде простая штука: Property DateTime As %TimeStamp [ InitialExpression = {$zdt($zts,3)} ]; А вот нет. В БД окажется таймстамп, соответствующий времени ОТКРЫТИЯ ZEN-формы для заполнения, а не время СОХРАНЕНИЯ. Получается, что Timestamp лучше иметь без InitialExpression. Я огреб в ситуации, когда некий инструмент проверял "новые" записи (за последние 30 секунд) - дальше сами понимаете, как было печально ;) ЗЫ: Что-то мне подсказывает, что подобная история будет с любым MVC или подобным механизмом, не только с ZEN. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 05:30 |
|
ZEN Осторожно с Timestamp InitialExpression!
|
|||
---|---|---|---|
#18+
Всё правильно. Вызываешь форму, создается объект ZEN-формы и соответствующий хранимый объект. InitialExpression срабатывает на момент создания объекта. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 06:59 |
|
ZEN Осторожно с Timestamp InitialExpression!
|
|||
---|---|---|---|
#18+
vassilВсё правильно. Вызываешь форму, создается объект ZEN-формы и соответствующий хранимый объект. InitialExpression срабатывает на момент создания объекта. В том-то и дело, что не "соответствующий хранимый объект", а лишь проекция. Вроде и ИС правы, и ерунда в итоге... Несовместимы они, короче ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 08:37 |
|
ZEN Осторожно с Timestamp InitialExpression!
|
|||
---|---|---|---|
#18+
kolesov, Timestamp время сохранение объекта логично в %OnBeforeSave фиксировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2019, 12:27 |
|
ZEN Осторожно с Timestamp InitialExpression!
|
|||
---|---|---|---|
#18+
kolesovЯ огреб в ситуации, когда некий инструмент проверял "новые" записи (за последние 30 секунд) - дальше сами понимаете, как было печально ;) В такой ситуации логичнее вести внешний протокол, прописывая его в %OnAfterSave типа set ^Log($horolog,$classname(),..%Id())="" Тогда можно легко просмотреть с конца, что и сколько за последние 30 секунд создалось или изменилось. По флагу insert можно отличить новые записи от старых. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2019, 01:12 |
|
ZEN Осторожно с Timestamp InitialExpression!
|
|||
---|---|---|---|
#18+
ser_shuВ такой ситуации логичнее вести внешний протокол, прописывая его в %OnAfterSave типа set ^Log($horolog,$classname(),..%Id())="" Тогда можно легко просмотреть с конца, что и сколько за последние 30 секунд создалось или изменилось. По флагу insert можно отличить новые записи от старых. Извиняюсь, $horolog здесь неудобно, так как секунды через запятую, я имел в виду set ^Log((дата),(время в секундах),$classname(),..%Id())="" или можно set ^Log((дата),(время в секундах),$classname(),..%Id())=(время открытия объекта)($username), тогда можно узнать кто, когда и как долго терзал объект в ZENе :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2019, 01:50 |
|
|
start [/forum/topic.php?fid=39&msg=39808680&tid=1556190]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 130ms |
0 / 0 |