|
Как сгруппировать данные? | ☑ | ||
---|---|---|---|---|
0
ParamPamPam
14.12.18
✎
10:31
|
Есть запрос в ОтчетуПроизводстваЗаСмену по материалам
Столбцы: Номенклатура, СерияНоменклатуры, Количество и ЕдИзмерения Необходимо настроить цикл так, что бы Паспорта Материалов (СерияНоменклатуры) сортировалась по Номенклатуре. Т.е. 1 Номенклатуру входили все СерииНоменклатуры(Паспорта материалов) по этой номенклатуре. Сейчас реализовано через сотрудника, т.е. для каждого сотрудника отдельная номенклатура с сериями (https://c.radikal.ru/c07/1812/1a/3be699046280.png), а нужно что бы для всех сотрудников и их серий была 1 номенклатура. Скриншоты: Тут для одного сотрудника: https://b.radikal.ru/b06/1812/e6/4494dda5851f.png Тут для нескольких сотрудников: https://a.radikal.ru/a25/1812/e8/11f886815353.png Код: ТаблСотрудникМИмя=ТабРезультатМатериалы.Скопировать(); ТаблСотрудникМИмя.Свернуть("Сотрудник"); ТаблСотрудникМ=ТабРезультатМатериалы.Скопировать(); ТаблСотрудникМ.Свернуть("Сотрудник","Количество"); ТаблНоменклатураМ=ТабРезультатМатериалы.Скопировать(); ТаблНоменклатураМ.Свернуть("Сотрудник,Номенклатура,ЕдиницаИзмерения","Количество"); ТаблНоменклатураСерияМатериалов=ТабРезультатМатериалы.Скопировать(); ТаблНоменклатураСерияМатериалов.Свернуть("Сотрудник,Номенклатура,СерияНоменклатуры,ЕдиницаИзмерения","Количество"); Сам Цикл: ТабДокумент.НачатьАвтогруппировкуСтрок(); ОбластьСтрСотрудникСтолбСотрудник =Макет.ПолучитьОбласть("СтрСотрудник|СтолбСотрудник"); Для каждого СтрСотрудник из ТаблСотрудникМ Цикл ОбластьСтрСотрудникСтолбСотрудник.Параметры.Сотрудник = СтрСотрудник.Сотрудник; ТабДокумент.Присоединить(ОбластьСтрСотрудникСтолбСотрудник,0); КонецЦикла; Для каждого СтрНоменклатура из ТаблНоменклатураМ Цикл ОбластьНоменклатураМатериалыОбщий.Параметры.Материалы = СтрНоменклатура.Номенклатура; ОбластьНоменклатураМатериалыОбщий.Параметры.КоличествоМат = СтрНоменклатура.Количество; ОбластьНоменклатураМатериалыОбщий.Параметры.ЕдиницаИзмерения = СтрНоменклатура.ЕдиницаИзмерения; ТабДокумент.Вывести(ОбластьНоменклатураМатериалыОбщий,1); СчМ1=СчМ1+СтрНоменклатура.Количество; Для каждого СтрМатериалы из ТаблНоменклатураСерияМатериалов.НайтиСтроки(Новый Структура("Сотрудник,Номенклатура",СтрНоменклатура.Сотрудник,СтрНоменклатура.Номенклатура)) Цикл ОбластьНоменклатураМатериалПаспортОбщий.Параметры.МатериалПаспорт = СтрМатериалы.СерияНоменклатуры; ОбластьНоменклатураМатериалПаспортОбщий.Параметры.КоличествоМатП = СтрМатериалы.Количество; ОбластьНоменклатураМатериалПаспортОбщий.Параметры.ЕдиницаИзмерения = СтрМатериалы.ЕдиницаИзмерения; ТабДокумент.Вывести(ОбластьНоменклатураМатериалПаспортОбщий,2); СчМ2=СчМ2+СтрМатериалы.Количество; КонецЦикла; КонецЦикла; ТабДокумент.ЗакончитьАвтогруппировкуСтрок(); |
|||
1
ParamPamPam
14.12.18
✎
10:34
|
Скриншоты перепутал, там где для одно сотрудника - несколько, и наоборот
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |