MinDate не работает при отсутствии данных

Обсуждение Stimulsoft Reports.NET
Ответить
Sergaent
Сообщения: 16
Зарегистрирован: 13 дек 2007, 04:01
Откуда: Moscow, Russia

MinDate не работает при отсутствии данных

Сообщение Sergaent »

День добрый.

Ситуация такова:
Я использую агрегат MinDate в нескольких колонках и не всегда в каких-нибудь колонках есть хотя бы одна дата, в таком случае генератор выдаёт ошибку:
Method: [SomeMethod]
Object reference does not set to an instance of an object
Sergaent
Сообщения: 16
Зарегистрирован: 13 дек 2007, 04:01
Откуда: Moscow, Russia

MinDate не работает при отсутствии данных

Сообщение Sergaent »

Sergaent писал(а):День добрый.

Ситуация такова:
Я использую агрегат MinDate в нескольких колонках и не всегда в каких-нибудь колонках есть хотя бы одна дата, в таком случае генератор выдаёт ошибку:
Method: [SomeMethod]
Object reference does not set to an instance of an object
?
Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

MinDate не работает при отсутствии данных

Сообщение Edward »

Здравствуйте.

Используйте, пожалуйста, следующее выражение:

1) Если Null-значения нужно игнорировать:

Код: Выделить всё

{MinDate(DataOrders,Orders["ShippedDate"])}
2) Если вместо null значений нужно использовать какую-то "базовую" дату.

Код: Выделить всё

{MinDate(DataOrders,IIF(IsNull(Orders,"ShippedDate"),DateTime.Parse("01/01/1990"),Orders["ShippedDate"]))}
Здесь пример отчета, который Вы можете посмотреть в программе 'Demo' из стандартной поставки:

MinDate.zip

Спасибо.
Sergaent
Сообщения: 16
Зарегистрирован: 13 дек 2007, 04:01
Откуда: Moscow, Russia

MinDate не работает при отсутствии данных

Сообщение Sergaent »

Edward писал(а):Здравствуйте.

Используйте, пожалуйста, следующее выражение:

1) Если Null-значения нужно игнорировать:

Код: Выделить всё

{MinDate(DataOrders,Orders["ShippedDate"])}
2) Если вместо null значений нужно использовать какую-то "базовую" дату.

Код: Выделить всё

{MinDate(DataOrders,IIF(IsNull(Orders,"ShippedDate"),DateTime.Parse("01/01/1990"),Orders["ShippedDate"]))}
Здесь пример отчета, который Вы можете посмотреть в программе 'Demo' из стандартной поставки:

MinDate.zip

Спасибо.
Спасибо за workaround, а это будет исправляться в последующих версиях?
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

MinDate не работает при отсутствии данных

Сообщение Vital »

Здравствуйте,

Проблема в том, что в поле даты встречаются нулевые значения. Собственно функция MinDate умеет работать с такими значениями. Но в ходе получения значения даты из поля генератор отчетов пытается преобразовать значения поля из типа object в тип datetime. В результате получается exception. Т.к. реально расчет итога производится в событии RenderingEvent этот exception не глотается ( в отличии от события GetValue). Подобрать значение по умолчанию для типа datetime тоже невозможно. Как вариант можно поставить тип данных в колонке равным object.

Спасибо.
Ответить