0
rapashocker
26.11.19
✎
20:39
|
Привет, всем просьба помочь, была задача:
Надо выбрать Статус, Набор действий заказа клиентов, затем подсчитать, сколько документов имеют набор значений например
Статус: К выполнению, Действие: Выгрузить и соответственно так далее.
Статуса всего 2: К выполнению и на согласовании.
А действий: 7
Отгрузить, резервировать на складе, Обеспечить, не обеспечить.
Сделал вот так:
"ВЫБРАТЬ
| ЗаказКлиентаТовары.ВариантОбеспечения КАК Действия,
| ЗаказКлиентаТовары.Ссылка.Статус КАК Статус,
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЗаказКлиентаТовары.Ссылка) КАК Заказ
|ИЗ
| Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
|ГДЕ
| НЕ ЗаказКлиентаТовары.Ссылка.Статус = &Статус
| И ЗаказКлиентаТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
|
|СГРУППИРОВАТЬ ПО
| ЗаказКлиентаТовары.Ссылка.Статус,
| ЗаказКлиентаТовары.ВариантОбеспечения
|ИТОГИ
| СУММА(Заказ)
|ПО
| ОБЩИЕ";
Оказывается надо подсчитать количество документов с уникальным набором, например:
Статус: В резерве, а действий в заказе 2 : Отгрузить, обеспечить, то есть надо вывести сразу и отгрузить и обеспечить через слэш, что то типа отгрузить\обеспечить и количество таких заказов.
Как это проще всего сделать?
Я попытался так:
ВыборкаИтоги = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Если ВыборкаИтоги.Следующий() Тогда
ВыборкаСтатусов = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаСтатусов.Следующий() Цикл
МассивДействий = Новый Массив;
ВыборкаДействий = ВыборкаСтатусов.Выбрать();
Пока ВыборкаДействий.Следующий() Цикл
МассивДействий.Добавить(ВыборкаДействий.Действие);
КонецЦикла;
ТекстСообщения = СтрШаблон("%1 | %2 | %3",
Строка(ВыборкаСтатусов.Статус),
СтрСоединить(МассивДействий, "/"),
Строка(ВыборкаСтатусов.КоличествоЗаказов));
Сообщить(ТекстСообщения);
КонецЦикла;
КонецЕсли;
Но все объединяется в 1 строку, как сделать что шло по колонкам
1 колонка - статус.
2 колонка - действия
3 колонка - Количество
Заранее спасибо.
|
|