|
Ограничения по датам и работа с ними (Date, Datetime)
|
|||
---|---|---|---|
#18+
Добрый день! 1. У меня есть некий класс, в котором есть DateBegin и DateEnd, как мне выставить ограничение, чтобы 2я дата была больше 1й? Только переопределяя %OnBeforeSave() и Триггер перед добавлением, либо можно сделать что-то типа MAXVAL? 2. И еще вопросик - есть 2 поля DateTimeBegin и DateTimeEnd, добавляю вычисляемое поле Duration, в котором хочу посчитать интервал в минутах (Float), как подобное реализовать? Буду благодарен за помощь! 1й вопрос сейчас для меня актуальнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2012, 14:26 |
|
Ограничения по датам и работа с ними (Date, Datetime)
|
|||
---|---|---|---|
#18+
Перепутал, не Datetime, а TimeStamp ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2012, 16:03 |
|
Ограничения по датам и работа с ними (Date, Datetime)
|
|||
---|---|---|---|
#18+
И еще, у меня $r в OnPopulate не работает. Я пишу $r(86400) - выдает порой и 600000 и 400000, а через консоль нормально - ума не приложу в чем дело =( ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2012, 00:45 |
|
Ограничения по датам и работа с ними (Date, Datetime)
|
|||
---|---|---|---|
#18+
IworbИ еще вопросик - есть 2 поля DateTimeBegin и DateTimeEnd, добавляю вычисляемое поле Duration, в котором хочу посчитать интервал в минутах (Float), как подобное реализовать? datediff timestampdiff $SYSTEM.SQL.DATEDIFF() IworbУ меня есть некий класс, в котором есть DateBegin и DateEnd, как мне выставить ограничение, чтобы 2я дата была больше 1й? Только переопределяя %OnBeforeSave() и Триггер перед добавлением, либо можно сделать что-то типа MAXVAL?Class del.tmp Extends %Persistent { Property a1 As %Date [ Required ]; Property a2 As %Date(MINVAL = "a1+1") [ Required ]; ClassMethod Test() { d ..%KillExtent() s a1=6200 s a2=a1-1 &sql(insert into del.tmp(a1,a2)values(:a1,:a2)) w "%ROWCOUNT=",%ROWCOUNT,! w "SQLCODE=",SQLCODE," text=",$system.SQL.SQLCODE(SQLCODE),! w "%msg=",%msg,! set obj=##class(del.tmp).%New() set obj.a1=a1 set obj.a2=a2 do $system.OBJ.DisplayError(obj.%Save()) } Method %OnValidateObject(force As %Integer) As %Status [ Private, ServerOnly = 1 ] { Quit $select(i%a1>=i%a2:$$$EMBEDERROR($$$ERROR($$$DTMinVal,i%a2,i%a1),$$$DatatypeValidationFailed,"a2",i%a2),1:$$$OK) } }IworbИ еще, у меня $r в OnPopulate не работает. Я пишу $r(86400) - выдает порой и 600000 и 400000, а через консоль нормально - ума не приложу в чем дело =(Код в студию. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2012, 14:07 |
|
|
start [/forum/topic.php?fid=39&fpage=30&tid=1557278]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 257ms |
total: | 435ms |
0 / 0 |