powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Ограничения по датам и работа с ними (Date, Datetime)
4 сообщений из 4, страница 1 из 1
Ограничения по датам и работа с ними (Date, Datetime)
    #38080992
Iworb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
1. У меня есть некий класс, в котором есть DateBegin и DateEnd, как мне выставить ограничение, чтобы 2я дата была больше 1й? Только переопределяя %OnBeforeSave() и Триггер перед добавлением, либо можно сделать что-то типа MAXVAL?
2. И еще вопросик - есть 2 поля DateTimeBegin и DateTimeEnd, добавляю вычисляемое поле Duration, в котором хочу посчитать интервал в минутах (Float), как подобное реализовать?

Буду благодарен за помощь! 1й вопрос сейчас для меня актуальнее.
...
Рейтинг: 0 / 0
Ограничения по датам и работа с ними (Date, Datetime)
    #38081065
Iworb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Перепутал, не Datetime, а TimeStamp
...
Рейтинг: 0 / 0
Ограничения по датам и работа с ними (Date, Datetime)
    #38081340
Iworb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И еще, у меня $r в OnPopulate не работает. Я пишу $r(86400) - выдает порой и 600000 и 400000, а через консоль нормально - ума не приложу в чем дело =(
...
Рейтинг: 0 / 0
Ограничения по датам и работа с ними (Date, Datetime)
    #38085093
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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, а через консоль нормально - ума не приложу в чем дело =(Код в студию.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Ограничения по датам и работа с ними (Date, Datetime)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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