Выборка вариаций и подсчет итогов по ним СКД
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Выбрать
Количество(обед),
ВидБлюдо,
Блюдо
ИЗ Регистр
Сгруппировать по ВидБлюдо,Блюдо
На выходе количество обедов, содержащих различные "видблюдо+блюдо".
Если же обед содержит разные блюда, и нужно посчитать, какие виды обедов сколько раз встречались, то уже сложнее, т.к. для получения набора нам нужны для каждого блюда разные колонки. Если все они являются разными вариациями "видблюдо", то нужно столько левых соединений, сколько у нас "видблюдо":
Выбрать
т1.Обед,
т1.Блюдо б1,
т2.Блюдо б2,
т3.Блюдо б3,
тН.Блюдо бН
ПОМЕСТИТЬ ВТБлюдаОбедов
ИЗ Регистр т1
ЛЕВОЕ СОЕДИНЕНИЕ Регистр т2
ПО т1.Обед = т2.Обед И т2.видБлюдо = &вид2
// далее остальные левые соединения по видам блюдей с тН.видБлюдо = &видН
ГДЕ
т1.видБлюдо = &вид1;
ВЫБРАТЬ
Количество(обед),
б1,б2,б3,...бН
ИЗ ВТБлюдаОбедов
СГРУППИРОВАТЬ ПО б1,б2,б3,...бН
Показать
(2)
Не совсем мне понятно.
Необходимо не виды обедов посчитать, а именно создать набор. Допустим, по регистратору были проданы: борщ, жаркое, компот - это 3 записи в регистре, возможно и больше вариаций.
В итоге в отчете, это должна быть одна строка "борщ/жаркое/компот. И именно под группировкой обед.
тН.Блюдо бН
Не совсем мне понятно.
Необходимо не виды обедов посчитать, а именно создать набор. Допустим, по регистратору были проданы: борщ, жаркое, компот - это 3 записи в регистре, возможно и больше вариаций.
В итоге в отчете, это должна быть одна строка "борщ/жаркое/компот. И именно под группировкой обед.
(5)
Ну или написать код на языке программирования без всяких там запросов.
Ну или переработать структуру хранения данных - произвести денормализацию. Например, сделать еще один регистр, в котором два поля: обед и соединенные строки блюд. Тогда все решается количеством различных. Главное - это блюда через разделитель писать, например "суп;макарноы;котлета;компот;" Совсем упоротые делают для этого справочник ключей аналитики, но я их презираю...
данная конструкция
Ее можно руками собрать. Имею ввиду текст запроса.
Ну или написать код на языке программирования без всяких там запросов.
Ну или переработать структуру хранения данных - произвести денормализацию. Например, сделать еще один регистр, в котором два поля: обед и соединенные строки блюд. Тогда все решается количеством различных. Главное - это блюда через разделитель писать, например "суп;макарноы;котлета;компот;" Совсем упоротые делают для этого справочник ключей аналитики, но я их презираю...
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот