Показать сообщение отдельно
Старый 20.04.2010, 18:51   #16  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,711 / 1201 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от Ulyxess Посмотреть сообщение
А смысл можете объяснить? Какой группировки не было?
Так у Вас еще и запрос с группировкой? Тогда надо было включить CreatedTime в список полей группировки.

Тут проблема в том, что запрос, может возвращать не все поля таблицы. Ну, например, запрос вида

X++:
select salesId, CustAccount from salesTable where salesTable.SalesId = "12345"
Очевидно вернет значения только 2 полей, указанных в списке полей. Но результат этой выборки будет записан в табличную переменную SalesTable, которая, что также очевидно, содержит все поля таблицы. Разумеется, не пустые значения будут только у тех полей, которые были указаны в запросе. А все остальные поля табличной переменной получат пустые значения. Ведь их значения никто не извлекал из таблицы.

Но в подобном запросе это как-бы "очевидно". Просто видно. Однако в запросе еще автоматически подтягиваются значения полей из группировки. Например

X++:
select maxOf(CustAccount) from salesTable group by SalesId where salesTable.SalesId = "12345"
Вроде бы, значения поля salesId в списке полей явно не указано. Тем не менее, если прочитать его значение в в табличной переменной, то оно будет не пустое. Просто потому, что это поле является признаком группировки. Так что, его значение тоже можно будет прочитать.

Ну, а Query - это создания анлогичных запросов другими средствами. Так что, к нему также применимы все эти рассуждения.

Вероятно, Query, построенный по Вашему отчету либо имел явно указанный список извлекаемых полей таблицы SalesTable (узел Fields), либо был задан список полей группировки (узел Sorting и свойство OrderMode = GroupBy), что также автоматически оставляет только поля группировки и поля с аггрегирующими функциями (sum(), maxOf(), minOf())

Как следствие, для решения проблемы надо будет либо добавить CreatedTime в список Field, либо в список Sorting. Либо и то, и другое.