Имя: Пароль:
1C
1С v8
Странная ошибка при установке порядка по агрегатному полю в динамическом списке
0 TormozIT
 
гуру
28.10.14
17:44
Запрос динамического списка

ВЫБРАТЬ
    РегистрСведенийЖурналЗначенияПоказателейИис.Объект,
    РегистрСведенийЖурналЗначенияПоказателейИис.Инфобаза,
        МАКСИМУМ(РегистрСведенийЖурналЗначенияПоказателейИис.Значение) КАК Максимум,
    МИНИМУМ(РегистрСведенийЖурналЗначенияПоказателейИис.Значение) КАК Минимум,
    РегистрСведенийЖурналЗначенияПоказателейИис.Показатель
ИЗ
    РегистрСведений.ЖурналЗначенияПоказателейИис КАК РегистрСведенийЖурналЗначенияПоказателейИис
ГДЕ РегистрСведенийЖурналЗначенияПоказателейИис.Период МЕЖДУ &НачалоПериода И &КонецПериода
СГРУППИРОВАТЬ ПО
    РегистрСведенийЖурналЗначенияПоказателейИис.Объект,
    РегистрСведенийЖурналЗначенияПоказателейИис.Инфобаза,
    РегистрСведенийЖурналЗначенияПоказателейИис.Показатель

Устанавливаю порядок "Максимум Убыв" в настройках списка и получаю ошибку

Ошибка при выполнении запроса. Ошибка при выполнении запроса.
по причине:
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(22, 2)}: Поле не входит в группу "РегистрСведенийЖурналЗначенияПоказателейИис.Значение"
<<?>>РегистрСведенийЖурналЗначенияПоказателейИис.Значение УБЫВ

Похоже на баг платформы. Как обойти?
1 mikecool
 
28.10.14
17:46
а не использовать резервные слова не судьба?
2 TormozIT
 
гуру
28.10.14
17:49
(1) Мимо =) Та же ошибка.
3 hhhh
 
28.10.14
17:52
(2) найти строчку

РегистрСведенийЖурналЗначенияПоказателейИис.Значение УБЫВ

и прибить. НАверно она не видна, где-то в углу или за углом.
4 hhhh
 
28.10.14
17:53
а, посмотри в сортировке, наверно задал сортировку по Значение
5 TormozIT
 
гуру
28.10.14
17:54
(3)(4) Мимо
6 mikecool
 
28.10.14
17:54
Поле не входит в группу "РегистрСведенийЖурналЗначенияПоказателейИис.Значение"
возможно - поле для группировки на включено в спичок выбранных
7 TormozIT
 
гуру
28.10.14
17:56
(6) На это поле наложен агрегат. Его нельзя включать в выбранные поля, т.к. тогда пришлось бы по нему группировку делать.
8 TormozIT
 
гуру
28.10.14
17:58
Ребята давайте скорее еще идеи. Сроки горят.
9 mikecool
 
28.10.14
18:00
(7) добавь тогда в список полей группировки )
10 mikecool
 
28.10.14
18:00
+9 оно не обязательно будет выводимым, но ошибка может исчезнуть
11 TormozIT
 
гуру
28.10.14
18:03
(9) Мне нужен агрегат по этому полю. Поэтому группировка по нему недопустима. Не знаю как еще объяснить =)
12 vde69
 
28.10.14
18:08
используй ПРЕДСТАВЛЕНИЕ
13 TormozIT
 
гуру
28.10.14
18:09
(12) На что применять это заклинание?
14 Гёдза
 
28.10.14
18:09
вложенная выборка?
15 vde69
 
28.10.14
18:09
или ВЫРАЗИТЬ

ихмо тут дело в типах значений
16 vde69
 
28.10.14
18:10
МАКСИМУМ(ВОТ ТУТ КОЛДОВАТЬ !!! РегистрСведенийЖурналЗначенияПоказателейИис.Значение) КАК Максимум,
17 Гёдза
 
28.10.14
18:12
может отключить динамичность списка?
18 TormozIT
 
гуру
28.10.14
18:13
(17) Мимо. Ее первым делом отключаю всегда при любой непонятной ошибке.
19 TormozIT
 
гуру
28.10.14
18:13
Значение имеет составной тип БУЛЕВО, ЧИСЛО, ДАТА. Сам запрос прекрасно упорядочивается вне динамического списка.
20 Гёдза
 
28.10.14
18:14
(18) А (14) ?
21 TormozIT
 
гуру
28.10.14
18:15
(16) Мимо. Так выдает ожидаемую ошибку "Неверные параметры "МАКСИМУМ""
22 TormozIT
 
гуру
28.10.14
18:19
(20) Попал. Вложенный запрос опять решил проблему. Кому интересно тут есть про эту особенность https://partners.v8.1c.ru/forum/topic/716885 и ее лечение вложенным запросом.
23 Timon1405
 
28.10.14
18:19
Обернуть во вложенный запрос как в (14) советуют пробовал?
24 TormozIT
 
гуру
29.10.14
09:56
ИТС  http://its.1c.ru/db/v83doc#bookmark:dev:TI000001334
7.1.3.2. Ограничения и особенности
...
Не поддерживается сортировка в динамическом списке, если запрос содержит агрегатные функции.
25 TormozIT
 
гуру
29.10.14
09:58
Получается, что баг описан в документации и потому платформе даже не надо проверять опасную ситуацию. Просто выдавай непонятные ошибки направо и налево.