Создан фильтр кол-во остаток чтобы видеть товары которых мало на складе. В отчёте есть детализация товара по характеристикам, и здесь идёт отбор именно по детализации, а нужно чтобы шёл просто по номенклатуре. В прикрепленном изображении фильтр выставлен не больше 4, но он отработал для каждого размера отдельно, а мне нужно чтобы отрабатывал для всей группы Футболка Smart Youth (2021)(белый). Фильтр прописан в форме отчёта и выглядит так.
Есть ли какое нибудь направление где можно изменить отбор для всей номенклатуры?
&НаСервере
Процедура ПриИзмененииФильтров()
// Вставить содержимое обработчика.
УстановтьОтборПоПолюКомпоновки("КоличествоОстаток",ОстатокОт,ВидСравненияКомпоновкиДанных.БольшеИлиРавно);
УстановтьОтборПоПолюКомпоновки("КоличествоОстаток",ОстатокДо,ВидСравненияКомпоновкиДанных.МеньшеИлиРавно);
УстановтьОтборПоПолюКомпоновки("КоличествоТоваров",ПродажиОт,ВидСравненияКомпоновкиДанных.БольшеИлиРавно);
УстановтьОтборПоПолюКомпоновки("КоличествоТоваров",ПродажиДо,ВидСравненияКомпоновкиДанных.МеньшеИлиРавно);
СкомпоноватьРезультат();
КонецПроцедуры
&НаСервере
Процедура УстановтьОтборПоПолюКомпоновки(Имя,Значение,ВидСравнения)
Для Каждого ЭлементОтбора Из Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл
Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(Имя) И ЭлементОтбора.ВидСравнения = ВидСравнения Тогда
Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы.Удалить(ЭлементОтбора);
КонецЕсли;
КонецЦикла;
ЭлементОтбора = Отчет.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(Имя);
ЭлементОтбора.ВидСравнения = ВидСравнения;
ЭлементОтбора.ПравоеЗначение = Значение;
ЭлементОтбора.Использование = Значение<>0;
КонецПроцедуры
&НаКлиенте
Процедура ОстатокОтПриИзменении(Элемент)
ПриИзмененииФильтров();
КонецПроцедуры
&НаКлиенте
Процедура ОстатокДоПриИзменении(Элемент)
ПриИзмененииФильтров();
КонецПроцедуры
&НаКлиенте
Процедура ПродажиОтПриИзменении(Элемент)
ПриИзмененииФильтров();
КонецПроцедуры
&НаКлиенте
Процедура ПродажиДоПриИзменении(Элемент)
ПриИзмененииФильтров();
КонецПроцедуры
&НаКлиенте
Процедура ДетализацияПоХарактеристикамПриИзменении(Элемент)
Отчет.КомпоновщикНастроек.Настройки.Структура[0].Строки[0].Структура[0].Использование=ДетализацияПоХарактеристикам;
СкомпоноватьРезультат();
КонецПроцедуры
ПоказатьЕсть ли какое нибудь направление где можно изменить отбор для всей номенклатуры?
Прикрепленные файлы:
По теме из базы знаний
- Обработка «Групповое изменение реквизитов номенклатуры в 1С для УТ 11 / КА 2»
- Групповое изменение наименований и групп элементов справочников с отбором по любому реквизиту, в том числе по части наименования и группе (управляемая форма)
- Анализ (сравнение) цен номенклатуры (текущей с предыдущей) (ERP 2, КА 2, УТ 11, Розница 2.2 - 2.3)
- Расширение: Быстрые отборы через буфер [Alt+C] Копировать список, [Alt+V] Вставить список, [Ctrl+C] Копировать из файлов
- Программная установка отборов в типовых отчетах
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(6) я беру номенклатуру из регистра накопления.товары на складах.остатки, группировка не срабатывает
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ПродажиОбороты.Склад КАК Склад,
ПродажиОбороты.Номенклатура КАК Номенклатура,
ПродажиОбороты.Характеристика КАК Характеристика,
ЕСТЬNULL(ПродажиОбороты.КоличествоОборот, 0) КАК КоличествоТоваров,
0 КАК КоличествоОстаток
ПОМЕСТИТЬ Вт_Таб
{ВЫБРАТЬ
Номенклатура.* КАК Номенклатура,
Характеристика.* КАК Характеристика,
КоличествоТоваров КАК КоличествоТоваров,
КоличествоОстаток,
Склад.*}
ИЗ
РегистрНакопления.Продажи.Обороты({(&НачалоПериода)}, {(&КонецПериода)}, Авто, {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (Характеристика).* КАК Характеристика}) КАК ПродажиОбороты
{ГДЕ
ПродажиОбороты.КоличествоОборот КАК КоличествоТоваров,
ПродажиОбороты.Склад.*,
ПродажиОбороты.Номенклатура.*}
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Склад,
ТоварыНаСкладахОстатки.Номенклатура,
ТоварыНаСкладахОстатки.Характеристика,
0,
ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки({(&КонецПериода)}, {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура, (Характеристика).* КАК Характеристика}) КАК ТоварыНаСкладахОстатки
{ГДЕ
ТоварыНаСкладахОстатки.КоличествоОстаток,
ТоварыНаСкладахОстатки.Номенклатура.*,
ТоварыНаСкладахОстатки.Склад.*}
СГРУППИРОВАТЬ ПО
ТоварыНаСкладахОстатки.Номенклатура,
ТоварыНаСкладахОстатки.Характеристика,
ТоварыНаСкладахОстатки.Склад,
ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
Вт_Таб.Склад КАК Склад,
Вт_Таб.Номенклатура КАК Номенклатура,
ХарактеристикиНоменклатуры.Ссылка КАК Характеристика,
0 КАК КоличествоТоваров,
0 КАК КоличествоОстаток
ИЗ
Вт_Таб КАК Вт_Таб
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
ПО Вт_Таб.Номенклатура = ХарактеристикиНоменклатуры.Владелец
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
Вт_Таб.Склад,
Вт_Таб.Номенклатура,
Вт_Таб.Характеристика,
Вт_Таб.КоличествоТоваров,
Вт_Таб.КоличествоОстаток
ИЗ
Вт_Таб КАК Вт_Таб
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот