Ребят подскажите плиз

1. _Enot_ 10 27.09.19 17:06 Сейчас в теме
Вывожу с помощью конструктура зарпроса с выводом результат. Получается раскрываю группу и как бы она в наименование дублируются. Как убрать эти строки(удалить)

Макет = ПолучениеМакета();
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	Спр.Артикул КАК Артикул,
		|	Спр.Код КАК Код,
		|	Спр.Ссылка КАК Ссылка,
		|	Спр.Наименование КАК Наименование,
		|	СУММА(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)) КАК Остаток,
		|	СУММА(ЦеныНоменклатурыСрезПоследних.Цена) КАК Цена
		|ИЗ
		|	Справочник.Номенклатура КАК Спр
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
		|		ПО Спр.Ссылка = ТоварыНаСкладахОстатки.Номенклатура
		|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦен) КАК ЦеныНоменклатурыСрезПоследних
		|		ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура = Спр.Ссылка)
		|ГДЕ
		|	Спр.ПометкаУдаления = ЛОЖЬ
		|
		|СГРУППИРОВАТЬ ПО
		|	Спр.Артикул,
		|	Спр.Код,
		|	Спр.Ссылка,
		|	Спр.Наименование
		|
		|УПОРЯДОЧИТЬ ПО
		|	Спр.ЭтоГруппа УБЫВ,
		|	Спр.Наименование
		|ИТОГИ ПО
		|	Ссылка ИЕРАРХИЯ
		|АВТОУПОРЯДОЧИВАНИЕ";
	
	Запрос.УстановитьПараметр("Период", ТекущаяДата());
	Запрос.УстановитьПараметр("ВидЦен", ВидЦены);
	Р = Запрос.Выполнить().Выгрузить();
	
	РезультатЗапроса = Запрос.Выполнить();

	
	ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
	ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
	ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
	ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
	ОбластьСсылкаИерархия = Макет.ПолучитьОбласть("СсылкаИерархия");
	ОбластьСсылка = Макет.ПолучитьОбласть("Ссылка");
	УровеньГруппировки = 0;
	ТабДок.Очистить();
	ТабДок.Вывести(ОбластьЗаголовок);
	ТабДок.Вывести(ОбластьШапкаТаблицы);
	
	ТабДок.НачатьАвтогруппировкуСтрок();
	
	ВыборкаСсылка = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
	
	Пока ВыборкаСсылка.Следующий() Цикл
		Если ВыборкаСсылка.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоИерархии Тогда
			Область = ОбластьСсылкаИерархия;
	 
		Иначе
			
			Область = ОбластьСсылка;
		КонецЕсли;
	
		Область.Параметры.Заполнить(ВыборкаСсылка);
		ТабДок.Вывести(Область, ВыборкаСсылка.Уровень());
	КонецЦикла;
	
	ТабДок.ЗакончитьАвтогруппировкуСтрок();
	
	КоличествоУровней = ТабДок.КоличествоУровнейГруппировокСтрок();
      Для Уровень = 1 По КоличествоУровней - 1 Цикл
        ТабДок.ПоказатьУровеньГруппировокСтрок(КоличествоУровней - Уровень);
	 КонецЦикла;
	 
	ТабДок.Вывести(ОбластьПодвалТаблицы);
	ТабДок.Вывести(ОбластьПодвал);
	
	ТабДок.ПоказатьУровеньГруппировокСтрок(УровеньГруппировки);
Показать
Прикрепленные файлы:
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Den75Ch 27.09.19 17:12 Сейчас в теме
(1) а почему бумага туалетная различается? просто туалетная бумага и бумага туалетная окская ...... может это не наименование, а что-то еще откуда-то лезет? и где названия колонок?
3. Den75Ch 27.09.19 17:18 Сейчас в теме
(1)
СГРУППИРОВАТЬ ПО
| Спр.Артикул,
| Спр.Код,
| Спр.Ссылка,
| Спр.Наименование


попробуй убрать ссылку или наименование. должно быть что-то одно
4. _Enot_ 10 27.09.19 17:21 Сейчас в теме
(3)не выходит. Полностью убрал группировку.
6. Den75Ch 27.09.19 17:24 Сейчас в теме
(4) и в самом запросе убрал какой-то 1 реквизит полностью?
10. _Enot_ 10 27.09.19 17:27 Сейчас в теме
8. _Enot_ 10 27.09.19 17:24 Сейчас в теме
(3)Бумажно-гигиенические товары она не различаеться, она находиться в этой группы. Такой разброс получился у меня, правильно иерархию не получаеться выбрать
7. VmvLer 27.09.19 17:24 Сейчас в теме
(1) котлеты отдельно - мухи отдельно

ВЫБРАТЬ
| Спр.Ссылка КАК Ссылка, 
| СУММА(ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0)) КАК Остаток,
| 0 КАК Цена 
|ИЗ
| Справочник.Номенклатура КАК Спр
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки 
|СГРУППИРОВАТЬ ПО
| Спр.Ссылка
| 
| ОБЪЕДИНИТЬ ВСЕ
Показать

....
9. _Enot_ 10 27.09.19 17:26 Сейчас в теме
25. independ 1538 27.09.19 18:53 Сейчас в теме +0.16 $m
(1) Для этого есть СКД
Прикрепленные файлы:
ВнешнийОтчет2.erf
5. _Enot_ 10 27.09.19 17:23 Сейчас в теме
Мне нужно выгрузить весь справочник номенклатура с иерархией, в табличный документ.
Прикрепленные файлы:
11. Den75Ch 27.09.19 17:30 Сейчас в теме
(5) а зачем ты цену то суммируешь? посмотри результат в отладчике

Запрос.УстановитьПараметр("Период", ТекущаяДата());
Запрос.УстановитьПараметр("ВидЦен", ВидЦены);
Р = Запрос.Выполнить().Выгрузить();

что в Р?
14. _Enot_ 10 27.09.19 17:33 Сейчас в теме
(11)р я для себя писал, посмотреть что в запросе в самом
15. Den75Ch 27.09.19 17:34 Сейчас в теме
(14) ну и посмотрел что в запросе самом?
16. _Enot_ 10 27.09.19 17:37 Сейчас в теме
(15)Получается идёт первая группа он видит ее и правильно добавляет, оэпоьом опять же она идёт и он ее в наименование записывает. Думаю где то в запросе беда.Давай скину обработку позже посмотришь
17. Den75Ch 27.09.19 17:38 Сейчас в теме
(14) а ты не думаешь, что цен могут быть несколько по другим реквизитам регистра "ЦеныНоменклатуры"?
19. _Enot_ 10 27.09.19 17:40 Сейчас в теме
(17)так я параметр вида цены задаю, он отрабатывает отлично как и по остатку
12. 603692 3 27.09.19 17:30 Сейчас в теме
13. _Enot_ 10 27.09.19 17:33 Сейчас в теме
28. viplelik 34 27.09.19 23:19 Сейчас в теме +0.16 $m
(5) а что мешает сохранить его в *.xlsx ?
Прикрепленные файлы:
ВнешнийОтчет2.erf
29. viplelik 34 28.09.19 00:16 Сейчас в теме
Запрос можно сделать так
ВЫБРАТЬ
	Спр.Родитель КАК Родитель,
	Спр.Артикул КАК Артикул,
	Спр.Код КАК Код,
	Спр.Наименование КАК Наименование,
	ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
	ТоварыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
ИЗ
	Справочник.Номенклатура КАК Спр
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
		ПО (Спр.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура)
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
		ПО (Спр.Ссылка = ТоварыНаСкладахОстатки.Номенклатура)
ГДЕ
	Спр.ПометкаУдаления = ЛОЖЬ
	И Спр.ЭтоГруппа = ЛОЖЬ
ИТОГИ ПО
	Родитель
Показать

или (28)
18. ex3mall 2 27.09.19 17:39 Сейчас в теме
ВЫБРАТЬ РАЗЛИЧНЫЕ не помогает?)
20. _Enot_ 10 27.09.19 17:40 Сейчас в теме
21. Den75Ch 27.09.19 17:42 Сейчас в теме
(20) посмотри что в Р у тебя
23. _Enot_ 10 27.09.19 17:57 Сейчас в теме
(21)сейчас приеду домой скину, что там выходит, словами сложно сказать
24. _Enot_ 10 27.09.19 18:22 Сейчас в теме
22. ex3mall 2 27.09.19 17:51 Сейчас в теме
Область.Параметры.Заполнить(ВыборкаСсылка);
ТабДок.Вывести(Область, ВыборкаСсылка.Уровень());


Копай сюда. Тут дублирования не происходит?
26. ex3mall 2 27.09.19 20:18 Сейчас в теме +0.16 $m
Короче подумал, поиграл, вот вам "заплаточный" рабочий вариант.

Это ответ на вопрос темы "Как убрать эти строки"))))

Измените цикл вывода следующим образом:

Пока ВыборкаСсылка.Следующий() Цикл

Если ВыборкаСсылка.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоИерархии Тогда
// Группу номенклатуры выводим только в иерархии
Область = ОбластьСсылкаИерархия;
Иначе
// При выводе элемента справочника "НеГруппа" не выводим группу номенклатуры
Если ВыборкаСсылка.Ссылка.ЭтоГруппа Тогда
Продолжить;
КонецЕсли;
Область = ОбластьСсылка;
КонецЕсли;
Область.Параметры.Заполнить(ВыборкаСсылка);
ТабДок.Вывести(Область, ВыборкаСсылка.Уровень());
КонецЦикла;
Показать
27. пользователь 27.09.19 21:56
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

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