0
ParamPamPam
14.12.18
✎
10:31
|
Есть запрос в ОтчетуПроизводстваЗаСмену по материалам
Столбцы: Номенклатура, СерияНоменклатуры, Количество и ЕдИзмерения
Необходимо настроить цикл так, что бы Паспорта Материалов (СерияНоменклатуры) сортировалась по Номенклатуре.
Т.е. 1 Номенклатуру входили все СерииНоменклатуры(Паспорта материалов) по этой номенклатуре. Сейчас реализовано через сотрудника, т.е. для каждого сотрудника отдельная номенклатура с сериями (), а нужно что бы для всех сотрудников и их серий была 1 номенклатура.
Скриншоты:
Тут для одного сотрудника:
Тут для нескольких сотрудников:
Код:
ТаблСотрудникМИмя=ТабРезультатМатериалы.Скопировать();
ТаблСотрудникМИмя.Свернуть("Сотрудник");
ТаблСотрудникМ=ТабРезультатМатериалы.Скопировать();
ТаблСотрудникМ.Свернуть("Сотрудник","Количество");
ТаблНоменклатураМ=ТабРезультатМатериалы.Скопировать();
ТаблНоменклатураМ.Свернуть("Сотрудник,Номенклатура,ЕдиницаИзмерения","Количество");
ТаблНоменклатураСерияМатериалов=ТабРезультатМатериалы.Скопировать();
ТаблНоменклатураСерияМатериалов.Свернуть("Сотрудник,Номенклатура,СерияНоменклатуры,ЕдиницаИзмерения","Количество");
Сам Цикл:
ТабДокумент.НачатьАвтогруппировкуСтрок();
ОбластьСтрСотрудникСтолбСотрудник =Макет.ПолучитьОбласть("СтрСотрудник|СтолбСотрудник");
Для каждого СтрСотрудник из ТаблСотрудникМ Цикл
ОбластьСтрСотрудникСтолбСотрудник.Параметры.Сотрудник = СтрСотрудник.Сотрудник;
ТабДокумент.Присоединить(ОбластьСтрСотрудникСтолбСотрудник,0);
КонецЦикла;
Для каждого СтрНоменклатура из ТаблНоменклатураМ Цикл
ОбластьНоменклатураМатериалыОбщий.Параметры.Материалы = СтрНоменклатура.Номенклатура;
ОбластьНоменклатураМатериалыОбщий.Параметры.КоличествоМат = СтрНоменклатура.Количество;
ОбластьНоменклатураМатериалыОбщий.Параметры.ЕдиницаИзмерения = СтрНоменклатура.ЕдиницаИзмерения;
ТабДокумент.Вывести(ОбластьНоменклатураМатериалыОбщий,1);
СчМ1=СчМ1+СтрНоменклатура.Количество;
Для каждого СтрМатериалы из ТаблНоменклатураСерияМатериалов.НайтиСтроки(Новый Структура("Сотрудник,Номенклатура",СтрНоменклатура.Сотрудник,СтрНоменклатура.Номенклатура)) Цикл
ОбластьНоменклатураМатериалПаспортОбщий.Параметры.МатериалПаспорт = СтрМатериалы.СерияНоменклатуры;
ОбластьНоменклатураМатериалПаспортОбщий.Параметры.КоличествоМатП = СтрМатериалы.Количество;
ОбластьНоменклатураМатериалПаспортОбщий.Параметры.ЕдиницаИзмерения = СтрМатериалы.ЕдиницаИзмерения;
ТабДокумент.Вывести(ОбластьНоменклатураМатериалПаспортОбщий,2);
СчМ2=СчМ2+СтрМатериалы.Количество;
КонецЦикла;
КонецЦикла;
ТабДокумент.ЗакончитьАвтогруппировкуСтрок();
|
|