Имя: Пароль:
1C
 
Нельзя использовать производные от полей составного типа...
0 TormozIT
 
гуру
24.02.25
10:00
При выполнении запроса
ВЫБРАТЬ
    ВЫБОР
        КОГДА данные.группировка.Ссылка = 1
            ТОГДА СУММА(данные.значение)
        ИНАЧЕ МАКСИМУМ(данные.значение)
    КОНЕЦ КАК значение,
    данные.группировка КАК группировка
ИЗ
    (ВЫБРАТЬ
        1 КАК значение,
        ВЫБОР
            КОГДА ИСТИНА
                ТОГДА значение(Справочник.Валюты.ПустаяСсылка)
            ИНАЧЕ значение(Справочник.ИдентификаторыОбъектовМетаданных.ПустаяСсылка)
        КОНЕЦ КАК группировка) КАК данные
СГРУППИРОВАТЬ ПО
    данные.группировка,
    данные.группировка.Ссылка

получаю ошибку
Нельзя использовать производные от полей составного типа в выражениях не присутствующих полностью в предложении СГРУППИРОВАТЬ ПО "данные.группировка.Ссылка"
КОГДА <<?>>данные.группировка.Ссылка = 1

Почему?
1 1Снеговик
 
гуру
24.02.25
10:05
(0) ну все правильно, у тебя в одном поле и "данные.группировка.Ссылка" и агрегатные функции.
3 1Снеговик
 
гуру
24.02.25
10:13
(2) нужно разделить на две ВТ таблицы по условию "данные.группировка.Ссылка = 1" и группировать считать СУММА и МАКСИМУМ отдельно.
4 TormozIT
 
гуру
24.02.25
15:16
(0) Отправил отчет о проблеме разработчику https://www.hostedredmine.com/issues/1001968
Мне кажется это - некорректная диагностика в платформе.
(1) Уверен? Сходи по ссылке и скачай мой тест. Думаю ты изменишь свое мнение.
5 Широкий
 
24.02.25
16:03
Проблема в том, что несколько агрегатных функций под конструкцией выбор.
Предположу, что проверка не ожидает, что кто-то такую ересь может написать с составным типом :) Ну и на всякий случай посылает
6 СвинТуз
 
24.02.25
16:11
"Нельзя использовать производные от полей составного типа..."

Это потому что производная она в основном на непрерывных функциях определена.
7 СвинТуз
 
24.02.25
16:14
бизнес по-русски:
За работу взять спиртным, заработанное продать, а деньги пропить.
8 Конструктор1С
 
24.02.25
16:23
(0) вот зачем всё это комкать в один запрос? Ну и зачем ты ссылку справочника сравниваешь с единичкой?
9 СвинТуз
 
24.02.25
16:31
(8)
Боты уже ГУРУ взламывают
10 TormozIT
 
гуру
24.02.25
17:10
(8)
- Доктор, кажется у меня сломана рука. Можете посмотреть?
- Ууу, да у вас же ногти на ней не пострижены. И вообще зачем вам рука?

Это минимальный воспроизводимый тест.
11 TormozIT
 
гуру
24.02.25
17:13
(3) Таких условий много, а остальная часть запроса большая. Поэтому такое размножение будет очень неудобным, т.к. будет много дублирования кода.
12 DTX 4th
 
24.02.25
17:48
(0) КОГДА МАКСИМУМ(данные.группировка.Ссылка) = 1?
13 Fragster
 
гуру
24.02.25
18:04
(0) а если число в составной тип добавить?
14 Fragster
 
гуру
24.02.25
18:05
вернее может быть ошибка из-за сравнения числа со ссылками составными
15 Fragster
 
гуру
24.02.25
18:05
просто текст кривой
16 TormozIT
 
гуру
24.02.25
18:17
(14) Мимо. Проверить то недолго.
17 eddy_n
 
24.02.25
18:23
(0) - Доктор, Я буду жить? - А смысл?
18 Rovan
 
гуру
24.02.25
19:01
(0) ".Ссылка" в запросе там замчем ?
данные.группировка - это разве уже не ссылочный тип ?

https://github.com/1c-syntax/bsl-language-server/issues/1371?ysclid=m7j8vfcgm8852318502
19 Voronve
 
24.02.25
19:31
(0) В ВЫБРАТЬ данные.группировка.Ссылка добавь отдельным полем
20 TormozIT
 
гуру
25.02.25
09:07
(19) Изменилось ничего
21 Ёпрст
 
25.02.25
09:18
(0) Только изврат, только хардкор

ВЫБРАТЬ
	СУММА(ВЫБОР
			КОГДА 1 = данные.группировка.Ссылка
				ТОГДА 1
			ИНАЧЕ 0
		КОНЕЦ) + МАКСИМУМ(ВЫБОР
			КОГДА 1 = данные.группировка.Ссылка
				ТОГДА 0
			ИНАЧЕ данные.значение
		КОНЕЦ) КАК Хрень,
	данные.группировка КАК группировка
ИЗ
	(ВЫБРАТЬ
		1 КАК значение,
		ВЫБОР
			КОГДА ИСТИНА
				ТОГДА ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)
			ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ИдентификаторыОбъектовМетаданных.ПустаяСсылка)
		КОНЕЦ КАК группировка) КАК данные

СГРУППИРОВАТЬ ПО
	данные.группировка