|
Сгруппировать наименование по группам | ☑ | ||
---|---|---|---|---|
0
alexsandrinia
16.04.12
✎
09:29
|
Вопрос, может и банален, но тем не менее...
Вывожу список товаров, скажем, холодильники, пылесосы, телевизоры. И весь список вразнобой. Хотелось бы его упорядочить по группам, кто куда входит. Например, чтоб выходил список Телевизоры, Холодильники и т.д. Нажимаю на Холодильники - показывает список всех холодильников. Вот сам код, собственно: Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОстаткиТоваровНаСкладах.Склад КАК СкладСсылка, | ОстаткиТоваровНаСкладах.Номенклатура КАК НоменклатураСсылка, | ОстаткиТоваровНаСкладах.Номенклатура.Представление КАК Номенклатура, | ОстаткиТоваровНаСкладах.Склад.Представление КАК Склад, | ОстаткиТоваровНаСкладах.Номенклатура.ОсновноеИзображение КАК ИзображениеСсылка, | ОстаткиТоваровНаСкладах.Номенклатура.ОсновноеИзображение.Представление КАК Изображение, | ОстаткиТоваровНаСкладах.Номенклатура.ДополнительноеОписаниеНоменклатуры КАК ДополнительноеОписаниеНоменклатуры, | ОстаткиТоваровНаСкладах.Номенклатура.Артикул КАК Артикул, | ОстаткиТоваровНаСкладах.КоличествоОстаток КАК Остаток |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКонца, ) КАК ОстаткиТоваровНаСкладах | |УПОРЯДОЧИТЬ ПО | Склад, | Номенклатура |ИТОГИ ПО | ОстаткиТоваровНаСкладах.Номенклатура.ВидНоменклатуры.Наименование"; ТекущееВремя = Формат(Текущаядата(), "ДЛФ=DD"); Запрос.УстановитьПараметр("ДатаКонца", КонецДня(РабочаяДата)); //Запрос.УстановитьПараметр("ДатаКонца", ); Выборка = Запрос.Выполнить().Выбрать(); // Получить поле табличного документа, в которое будем выводить результат ТабДок = ЭлементыФормы.ПолеТабличногоДокумента; // Очистить данные в табличном документе (возможно, данные уже выводились ранее) ТабДок.Очистить(); Макет = ПолучитьМакет("Макет"); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьШапка = Макет.ПолучитьОбласть("Шапка"); ОбластьСтрокаТаблицы = Макет.ПолучитьОбласть("СтрокаТаблицы"); ОбластьШапка.Параметры.ТекДата = Формат(ТекущаяДата(), "ДЛФ=DD"); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапка); Пока Выборка.Следующий() Цикл Если Выборка.Остаток > 0 Тогда Если Выборка.СкладСсылка.Наименование = "Свободные остатки" Тогда ОбластьСтрокаТаблицы.Параметры.Склад = Выборка.Склад; ОбластьСтрокаТаблицы.Параметры.Артикул = Выборка.Артикул; ОбластьСтрокаТаблицы.Параметры.Номенклатура = Выборка.Номенклатура; ОбластьСтрокаТаблицы.Параметры.Остатки = Выборка.Остаток; Попытка Если Не ЗначениеЗаполнено(Выборка.НоменклатураСсылка.ОсновноеИзображение) Тогда Картинка=Новый Картинка; Иначе Картинка = Выборка.НоменклатураСсылка.ОсновноеИзображение.Хранилище.Получить(); КонецЕсли; ОбластьСтрокаТаблицы.Рисунки.D1.Картинка = Картинка; Исключение КонецПопытки; ДополнительноеОписание = Выборка.НоменклатураСсылка.ДополнительноеОписаниеНоменклатуры; ОбластьСтрокаТаблицы.Параметры.ДополнительноеОписание = ДополнительноеОписание; ТабДок.Вывести(ОбластьСтрокаТаблицы); КонецЕсли; КонецЕсли; КонецЦикла; но при запуске выходит ошибка: {Форма.ФормаОтчета(47)}: Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата) Если Выборка.Остаток > 0 Тогда Получается, когда смотрю пошагово, на тот момент, когда определяется Выборка.Остаток - то он ещё не определён. Как сделать, чтоб выходило всё по группам, чтоб в дальнейшем можно было раскрывать группы? |
|||
1
butterbean
16.04.12
✎
09:31
|
какбы надо ИТОГИ СУММА(Остаток) ПО ...
|
|||
2
alexsandrinia
16.04.12
✎
09:32
|
(1) а причём ИТОГИ СУММА? Мне нужно количество.
|
|||
3
butterbean
16.04.12
✎
09:32
|
(2) соберись
|
|||
4
butterbean
16.04.12
✎
09:34
|
(3)+ а вообще конечно не код а ужас, зачем тебе ИТОГИ если ты не делаешь обход по группировкам??
|
|||
5
alexsandrinia
16.04.12
✎
09:38
|
(4) почему не код, а ужас? что не так?
|
|||
6
wise
16.04.12
✎
09:43
|
(5)|УПОРЯДОЧИТЬ ПО
| Склад, | Номенклатура.Родитель |
|||
7
wise
16.04.12
✎
09:44
|
6+ если у тебя родитель = холодильники, пылесосы, телевизоры.
|
|||
8
wise
16.04.12
✎
09:47
|
ОстаткиТоваровНаСкладах.Номенклатура.Родитель
просто номеклатура у тебя {.представление} |
|||
9
alexsandrinia
16.04.12
✎
09:59
|
(8) предлагаешь вообще убрать ОстаткиТоваровНаСкладах.Номенклатура.Представление?
|
|||
10
alexsandrinia
16.04.12
✎
10:27
|
(7) и как отобразить ещё Родитель?
|
|||
11
alexsandrinia
26.04.12
✎
10:25
|
есть ещё варианты?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |