Отбор строк с одинаковыми реквизитами в запросе

1. Дон Кихот 05.03.21 10:41 Сейчас в теме
В исходной таблице есть модели с одинаковыми реквизитами.
Необходимо одинаковые модели выводить в одной строке.
Подскажите пожалуйста как реализовать.
Прикрепленные файлы:
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Nubsdale 05.03.21 11:20 Сейчас в теме
(1)
В исходной таблице есть модели с одинаковыми реквизитами.

Если это нужно в 1с, тогда можно воспользоваться группировкой. Группируем по полю Длина и Ширина
3. Дон Кихот 05.03.21 11:44 Сейчас в теме
(2)Пока не вижу как поможет группировка
4. dhurricane 05.03.21 12:18 Сейчас в теме
(1) Это отчет на СКД? Печатная форма? Или что-то иное?
5. Дон Кихот 05.03.21 12:21 Сейчас в теме
(4)Это решение задания по запросам
6. dhurricane 05.03.21 14:43 Сейчас в теме
(5) Ну в лоб тогда:
ТабДокумент = Новый ТабличныйДокумент;

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|    Данные.Модель КАК Модель,
|    Данные.Ширина КАК Ширина,
|    Данные.Длина КАК Длина
|ИЗ 
|    ВтДанные КАК Данные
|
|ИТОГИ ПО
|    Длина, Ширина";

Результат = Запрос.Выполнить();

// Подсчет количества колонок в таблице без учета показателей длины и ширины.

МаксКоличествоМоделейВСтроке = 0;

ВыборкаПоДлине = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаПоДлине.Следующий() Цикл
	
	ВыборкаПоШирине = ВыборкаПоДлине.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
	Пока ВыборкаПоШирине.Следующий() Цикл
		
		ВыборкаМоделей = ВыборкаПоШирине.Выбрать();
		КоличествоМоделейВСтроке = ВыборкаМоделей.Количество();
		
		Если МаксКоличествоМоделейВСтроке < КоличествоМоделейВСтроке Тогда
			МаксКоличествоМоделейВСтроке = КоличествоМоделейВСтроке;
		КонецЕсли;
		
	КонецЦикла;
	
КонецЦикла;

// Вывод шапки таблицы.

НомерСтроки = 1;
НомерКолонки = 0;

Пока НомерКолонки < МаксКоличествоМоделейВСтроке Цикл
	
	НомерКолонки = НомерКолонки + 1;
	
	ОбластьШапки = ТабДокумент.Область(НомерСтроки, НомерКолонки);
	ОбластьШапки.Текст = СтрШаблон(НСтр("ru = 'Модель %1'"), НомерКолонки);
	
КонецЦикла;

ОбластьШапки = ТабДокумент.Область(НомерСтроки, НомерКолонки + 1);
ОбластьШапки.Текст = НСтр("ru = 'Длина'");

ОбластьШапки = ТабДокумент.Область(НомерСтроки, НомерКолонки + 2);
ОбластьШапки.Текст = НСтр("ru = 'Ширина'");

// Вывод строк таблицы.

ВыборкаПоДлине.Сбросить();
Пока ВыборкаПоДлине.Следующий() Цикл
	
	ВыборкаПоШирине = ВыборкаПоДлине.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
	Пока ВыборкаПоШирине.Следующий() Цикл
		
		НомерСтроки = НомерСтроки + 1;
		НомерКолонки = 0;
		
		ВыборкаМоделей = ВыборкаПоШирине.Выбрать();
		
		Пока ВыборкаМоделей.Следующий() Цикл
			
			НомерКолонки = НомерКолонки + 1;
			
			ОбластьСтроки = ТабДокумент.Область(НомерСтроки, НомерКолонки);
			ОбластьСтроки.Текст = ВыборкаМоделей.Модель;
			
		КонецЦикла;
		
		НомерКолонки = МаксКоличествоМоделейВСтроке;
		
		ОбластьСтроки = ТабДокумент.Область(НомерСтроки, НомерКолонки + 1);
		ОбластьСтроки.Текст = ВыборкаПоДлине.Длина;
		
		ОбластьСтроки = ТабДокумент.Область(НомерСтроки, НомерКолонки + 2);
		ОбластьСтроки.Текст = ВыборкаПоШирине.Ширина;
		
	КонецЦикла;
	
КонецЦикла;
	
Возврат ТабДокумент;
Показать
7. Дон Кихот 10.03.21 07:45 Сейчас в теме
(6) Спасибо, но задание полностью нужно было выполнить в запросе. Задачу я решил, но в данных задачи моделей с одинаковыми длиной и шириной не более двух. Какой будет алгоритм если моделей будет больше решение не искал. Хотя решение было бы интересно посмотреть.
8. dhurricane 10.03.21 08:22 Сейчас в теме
(7)
моделей с одинаковыми длиной и шириной не более двух
Это же ключевое условие, не находите? :-) Надо было обязательно написать его в посте, форумчане решение подсказали бы моментально.

Какой будет алгоритм если моделей будет больше решение не искал. Хотя решение было бы интересно посмотреть.
Полагаю, его нет.
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)