Изменить отбор номенклатуры

1. user1697411 17.01.22 08:52 Сейчас в теме
Создан фильтр кол-во остаток чтобы видеть товары которых мало на складе. В отчёте есть детализация товара по характеристикам, и здесь идёт отбор именно по детализации, а нужно чтобы шёл просто по номенклатуре. В прикрепленном изображении фильтр выставлен не больше 4, но он отработал для каждого размера отдельно, а мне нужно чтобы отрабатывал для всей группы Футболка Smart Youth (2021)(белый). Фильтр прописан в форме отчёта и выглядит так.
&НаСервере
Процедура ПриИзмененииФильтров()
	// Вставить содержимое обработчика.
	УстановтьОтборПоПолюКомпоновки("КоличествоОстаток",ОстатокОт,ВидСравненияКомпоновкиДанных.БольшеИлиРавно);
	УстановтьОтборПоПолюКомпоновки("КоличествоОстаток",ОстатокДо,ВидСравненияКомпоновкиДанных.МеньшеИлиРавно);
	УстановтьОтборПоПолюКомпоновки("КоличествоТоваров",ПродажиОт,ВидСравненияКомпоновкиДанных.БольшеИлиРавно);
	УстановтьОтборПоПолюКомпоновки("КоличествоТоваров",ПродажиДо,ВидСравненияКомпоновкиДанных.МеньшеИлиРавно);
	
	СкомпоноватьРезультат();


КонецПроцедуры

&НаСервере
Процедура УстановтьОтборПоПолюКомпоновки(Имя,Значение,ВидСравнения)
	Для Каждого ЭлементОтбора Из Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
		Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(Имя) И ЭлементОтбора.ВидСравнения = ВидСравнения Тогда
			Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы.Удалить(ЭлементОтбора);
		КонецЕсли;
	КонецЦикла;
	
	ЭлементОтбора = Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(Имя); 
	ЭлементОтбора.ВидСравнения = ВидСравнения; 
	ЭлементОтбора.ПравоеЗначение = Значение; 
	ЭлементОтбора.Использование = Значение<>0; 
КонецПроцедуры

&НаКлиенте
Процедура ОстатокОтПриИзменении(Элемент)
	ПриИзмененииФильтров();
КонецПроцедуры

&НаКлиенте
Процедура ОстатокДоПриИзменении(Элемент)
	ПриИзмененииФильтров();
КонецПроцедуры

&НаКлиенте
Процедура ПродажиОтПриИзменении(Элемент)
	ПриИзмененииФильтров();
КонецПроцедуры

&НаКлиенте
Процедура ПродажиДоПриИзменении(Элемент)
	ПриИзмененииФильтров();
КонецПроцедуры

&НаКлиенте
Процедура ДетализацияПоХарактеристикамПриИзменении(Элемент)
			Отчет.КомпоновщикНастроек.Настройки.Структура[0].Строки[0].Структура[0].Использование=ДетализацияПоХарактеристикам;
          	СкомпоноватьРезультат();

КонецПроцедуры
Показать

Есть ли какое нибудь направление где можно изменить отбор для всей номенклатуры?
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
2. STELEICE 17.01.22 11:20 Сейчас в теме
(1) В запросе нужно группировать по номенклатуре а уже при выводе отбирать из запроса характеристики где Владелец номенклатура и выводить циклом.
В любом случае нужно начинать с группировок
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. STELEICE 17.01.22 11:20 Сейчас в теме
(1) В запросе нужно группировать по номенклатуре а уже при выводе отбирать из запроса характеристики где Владелец номенклатура и выводить циклом.
В любом случае нужно начинать с группировок
4. THEBESTolo4b 10 17.01.22 12:09 Сейчас в теме
(1) Либо группировать по номенклатуре, либо рпопустить характеристики
5. user1697411 17.01.22 12:25 Сейчас в теме
(4) Простите, я просто чайник, группировать вот так?
Прикрепленные файлы:
6. THEBESTolo4b 10 18.01.22 07:11 Сейчас в теме
(5) где ты писал отчет в скд (в конфигураторе, там есть СгруппироватьПО добавь справочник номенклатура туда
7. user1697411 18.01.22 07:57 Сейчас в теме
(6) я беру номенклатуру из регистра накопления.товары на складах.остатки, группировка не срабатывает
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	ПродажиОбороты.Склад КАК Склад,
	ПродажиОбороты.Номенклатура КАК Номенклатура,
	ПродажиОбороты.Характеристика КАК Характеристика,
	ЕСТЬNULL(ПродажиОбороты.КоличествоОборот, 0) КАК КоличествоТоваров,
	0 КАК КоличествоОстаток
ПОМЕСТИТЬ Вт_Таб
{ВЫБРАТЬ
	Номенклатура.* КАК Номенклатура,
	Характеристика.* КАК Характеристика,
	КоличествоТоваров КАК КоличествоТоваров,
	КоличествоОстаток,
	Склад.*}
ИЗ
	РегистрНакопления.Продажи.Обороты({(&НачалоПериода)}, {(&КонецПериода)}, Авто, {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (Характеристика).* КАК Характеристика}) КАК ПродажиОбороты
{ГДЕ
	ПродажиОбороты.КоличествоОборот КАК КоличествоТоваров,
	ПродажиОбороты.Склад.*,
	ПродажиОбороты.Номенклатура.*}

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	ТоварыНаСкладахОстатки.Склад,
	ТоварыНаСкладахОстатки.Номенклатура,
	ТоварыНаСкладахОстатки.Характеристика,
	0,
	ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)
ИЗ
	РегистрНакопления.ТоварыНаСкладах.Остатки({(&КонецПериода)}, {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (Характеристика).* КАК Характеристика}) КАК ТоварыНаСкладахОстатки
{ГДЕ
	ТоварыНаСкладахОстатки.КоличествоОстаток,
	ТоварыНаСкладахОстатки.Номенклатура.*,
	ТоварыНаСкладахОстатки.Склад.*}

СГРУППИРОВАТЬ ПО
	ТоварыНаСкладахОстатки.Номенклатура,
	ТоварыНаСкладахОстатки.Характеристика,
	ТоварыНаСкладахОстатки.Склад,
	ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Вт_Таб.Склад КАК Склад,
	Вт_Таб.Номенклатура КАК Номенклатура,
	ХарактеристикиНоменклатуры.Ссылка КАК Характеристика,
	0 КАК КоличествоТоваров,
	0 КАК КоличествоОстаток
ИЗ
	Вт_Таб КАК Вт_Таб
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
		ПО Вт_Таб.Номенклатура = ХарактеристикиНоменклатуры.Владелец

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	Вт_Таб.Склад,
	Вт_Таб.Номенклатура,
	Вт_Таб.Характеристика,
	Вт_Таб.КоличествоТоваров,
	Вт_Таб.КоличествоОстаток
ИЗ
	Вт_Таб КАК Вт_Таб
Показать
8. user1697411 18.01.22 13:05 Сейчас в теме
(4) а что значит пропустить характеристики?
3. user790708 17.01.22 11:32 Сейчас в теме
Отбор следует применять в группировке по Номенклатуре.
https://expert.chistov.pro/public/298703/
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот