СКД получить первый элемент массива #749435


#0 by andrey02
Есть, например, такой набор данных: Клиент | Товар | Количество Вася | Стол | 5 Вася | Диван | 10 Вася | Кровать | 1 Петя | Стол | 5 Петя | Стул | 3 Петя | Диван | 3 Нужно получить отчет по наиболее частым товарам в разрезе покупателей (либо другого поля отчета), т.е., например, такой: Вася | Диван Петя | Стол Добавил вычисляемое поле «НаиболееЧастыйТовар», в ресурсах для него пишу: ВычислитьВыражение(" Массив( ") Смысл выражения: получаем таблицу значений с итого количество по товарам, сортируем ее по убыванию количества, получаем массив товаров, первый элемент которого и есть нужный – с максимальным количеством в текущей группировке. А вот как этот первый элемент вытащить из массива – не могу найти. Варианты вроде вычисления самого частого товара в запросе не подходят, т.к. реальный отчет содержит больше полей, и пользователи могут произвольно настраивать структуру отчета. Вариант добавить группировку по товару, в ней сортировку по убыванию количества и ограничение количества записей 1 - тоже не подходит, т.к. нужен именно ресурс.
#1 by andrey02
ап
#2 by Elatiell
А если вместо упорядочивания попробовать Максимум?
#3 by andrey02
Не понял, как? Максимум не применяется к таблице значений (попробовал, никакого эффекта).
#4 by bootini
А тут?
#5 by andrey02
Если тут сделать "максимум", то получится по сути такая же таблица значений. Для набора данных из примера, получится точно такая же таблица значений. Вопрос, как из этой таблицы получить значение из первой строки остается.
#6 by andrey02
ап
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С

Back to top