Страница 1 из 1

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

Добавлено: 10 июн 2008, 12:31
Sergaent
День добрый.

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

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

Добавлено: 18 июн 2008, 08:35
Sergaent
Sergaent писал(а):День добрый.

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

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

Добавлено: 19 июн 2008, 06:47
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

Спасибо.

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

Добавлено: 23 июн 2008, 05:32
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, а это будет исправляться в последующих версиях?

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

Добавлено: 23 июн 2008, 14:44
Vital
Здравствуйте,

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

Спасибо.