Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / Не получается сгруппировать данные в запросе (Бухгалтерия для Украины 8.2) Маршрутно-погру / 5 сообщений из 5, страница 1 из 1
27.06.2012, 11:13
    #37856434
sergeyermak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается сгруппировать данные в запросе (Бухгалтерия для Украины 8.2) Маршрутно-погру
Добрый день!

Помогите...

Конфигурация Бухгалтерия для Украины 1.2.6.5 8.2

У меня вот какая проблема есть документ (Погрузочный лист) который содержит в себе расходные накладные за период, нужно выводить в печатную форму (Маршрутно погрузочный лист) вот такой вид информации:

Маршрут1
Контрагент1 (то есть контрагент который относиться до этого маршрута)
Номенклатура1
Номенклатура2 (номенклатура с табличной части расходной накладной которая удовлетворяет условию)
Контрагент2
Номенклатура1
Номенклатура2
Маршрут2
Контрагент1 (то есть контрагент который относиться до этого маршрута)
Номенклатура1
Номенклатура2 (номенклатура с табличной части расходной накладной которая удовлетворяет условию)
Контрагент2
Номенклатура1
Номенклатура2

Но на данный момент запрос не хочет формировать сгруппированные строки и отображает вот такое:

Маршрут1
Контрагент1 (то есть контрагент который относиться до этого маршрута)
Номенклатура1 (номенклатура с табличной части расходной накладной которая удовлетворяет условию)
Маршрут2
Контрагент1 (то есть контрагент который относиться до этого маршрута)
Номенклатура1 (номенклатура с табличной части расходной накладной которая удовлетворяет условию)
Маршрут1
Контрагент1 (то есть контрагент который относиться до этого маршрута)
Номенклатура2 (номенклатура с табличной части расходной накладной которая удовлетворяет условию)
Маршрут2
Контрагент1 (то есть контрагент который относиться до этого маршрута)
Номенклатура2 (номенклатура с табличной части расходной накладной которая удовлетворяет условию)
Маршрут1
Контрагент2 (то есть контрагент который относиться до этого маршрута)
Номенклатура2 (номенклатура с табличной части расходной накладной которая удовлетворяет условию)


Вот сам запрос:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
	Запрос.Текст =
	"ВЫБРАТЬ
	|	ПогрузочныйЛист.Контрагент КАК Контрагент,
	|	ПогрузочныйЛист.Експедитор КАК Експедитор,
	|	РеализацияТоваровУслуг.Номенклатура КАК Номенклатура,
	|	РеализацияТоваровУслуг.Количество КАК Количество,
	|	ВЫРАЗИТЬ(РеализацияТоваровУслуг.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар
	|ИЗ
	|	Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
	|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПогрузочныйЛист.Расходные КАК ПогрузочныйЛист
	|		ПО (ПогрузочныйЛист.ДокРасх = РеализацияТоваровУслуг.Ссылка)
	|ГДЕ
	|	ПогрузочныйЛист.Ссылка = &ТекущийДокумент
	|
	|СГРУППИРОВАТЬ ПО
	|	РеализацияТоваровУслуг.Номенклатура,
	|	ПогрузочныйЛист.Контрагент,
	|	ПогрузочныйЛист.Експедитор,
	|	РеализацияТоваровУслуг.Количество
	|АВТОУПОРЯДОЧИВАНИЕ";
	Маршруты = Запрос.Выполнить().Выбрать();
		
	ТабДокумент = Новый ТабличныйДокумент;
	ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_МаршрутноПогрузочныйЛист";

	Макет = ПолучитьМакет("МаршрутноПогрузочныйЛист");
	
	НомерСтроки = 0;

	Пока Маршруты.Следующий() Цикл
		
		ОбластьМакета = Макет.ПолучитьОбласть("Маршрут");
		ОбластьМакета.Параметры.Водитель = "Маршрут: " + Строка(Маршруты.Експедитор);
		ТабДокумент.Вывести(ОбластьМакета);	  

		ОбластьМакета = Макет.ПолучитьОбласть("Контрагент");
		ОбластьМакета.Параметры.Контрагент = Маршруты.Контрагент;
		ТабДокумент.Вывести(ОбластьМакета);

		ОбластьМакета = Макет.ПолучитьОбласть("Строка");
					НомерСтроки = НомерСтроки + 1;
				        ОбластьМакета.Параметры.НомерСтроки = НомерСтроки;
					ОбластьМакета.Параметры.Товар = Маршруты.Товар;
					ОбластьМакета.Параметры.Количество = Маршруты.Количество;
		ТабДокумент.Вывести(ОбластьМакета);

	КонецЦикла;
	Возврат ТабДокумент;



Знаю что в 1с 7.7 была такая структура как Пока Сгруппировать (1) = 1 Цикл Сгруппировать(2) = 1 Цикл.

Не ссудите строго, помогите плиз.

Очень признательный за помощь.
...
Рейтинг: 0 / 0
27.06.2012, 12:07
    #37856631
DmitriyZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается сгруппировать данные в запросе (Бухгалтерия для Украины 8.2) Маршрутно-погру
sergeyermak, читать про ИТОГИ и про обход результата запроса по группировкам с иерархией
...
Рейтинг: 0 / 0
27.06.2012, 12:09
    #37856640
LexaK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается сгруппировать данные в запросе (Бухгалтерия для Украины 8.2) Маршрутно-погру
sergeyermak,
скорее всего вам надо использовать Итоги вместо Сгруппировать

...
ИТОГИ
СУММА(Количество )
ПО
Контрагент,
Номенклатура
...

и результат выбирать с обходом по группировкам
...
Рейтинг: 0 / 0
27.06.2012, 20:04
    #37857809
sergeyermak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается сгруппировать данные в запросе (Бухгалтерия для Украины 8.2) Маршрутно-погру
спасибо всем за помощь, сейчас попробую если получиться сообщу
...
Рейтинг: 0 / 0
27.06.2012, 20:18
    #37857838
sergeyermak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получается сгруппировать данные в запросе (Бухгалтерия для Украины 8.2) Маршрутно-погру
Спасибо всем за помощь.

Все вышло.

Вот запрос:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
	Запрос.Текст =
	"ВЫБРАТЬ
	|	ПогрузочныйЛист.Контрагент КАК Контрагент,
	|	ПогрузочныйЛист.Експедитор КАК Експедитор,
	|	РеализацияТоваровУслуг.Номенклатура КАК Номенклатура,
	|	РеализацияТоваровУслуг.Количество КАК Количество,
	|	ВЫРАЗИТЬ(РеализацияТоваровУслуг.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар
	|ИЗ
	|	Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
	|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПогрузочныйЛист.Расходные КАК ПогрузочныйЛист
	|		ПО (ПогрузочныйЛист.ДокРасх = РеализацияТоваровУслуг.Ссылка)
	|ГДЕ
	|	ПогрузочныйЛист.Ссылка = &ТекущийДокумент
	|
	|ИТОГИ ПО
	|	Експедитор,
	|	Контрагент
	|АВТОУПОРЯДОЧИВАНИЕ";
			
	ТабДокумент = Новый ТабличныйДокумент;
	ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_МаршрутноПогрузочныйЛист";

	Макет = ПолучитьМакет("МаршрутноПогрузочныйЛист");
	
	КодЯзыкаПечать = "uk";
	Макет.КодЯзыкаМакета = КодЯзыкаПечать;
	
	ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
	ОбластьМакета.Параметры.Документ = "Вантажний лист № " + Строка(Номер) + " от " +  Строка(Формат(Дата,"ДФ=dd.MM.yyyy"));
	ТабДокумент.Вывести(ОбластьМакета);
	
		Выборка1 = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Експедитор");
			Пока Выборка1.следующий() цикл

				ОбластьМакета = Макет.ПолучитьОбласть("Маршрут");
				ОбластьМакета.Параметры.Водитель = "Маршрут: " + Строка(Выборка1.Експедитор);
				ТабДокумент.Вывести(ОбластьМакета);
		
        Выборка2 = Выборка1.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Контрагент");
			Пока Выборка2.Следующий() цикл
			
			ОбластьМакета = Макет.ПолучитьОбласть("Контрагент");
			ОбластьМакета.Параметры.Контрагент = Выборка2.Контрагент;
			ТабДокумент.Вывести(ОбластьМакета);
			
		Выборка3 = Выборка2.Выбрать();
			Пока Выборка3.Следующий() цикл
				
			НомерСтроки = 0;
			ОбластьМакета = Макет.ПолучитьОбласть("Строка");
					НомерСтроки = НомерСтроки + 1;
				    ОбластьМакета.Параметры.НомерСтроки = НомерСтроки;
					ОбластьМакета.Параметры.Товар = Выборка3.Товар;
					ОбластьМакета.Параметры.Количество = Выборка3.Количество;
			ТабДокумент.Вывести(ОбластьМакета);
          
		КонецЦикла;
	КонецЦикла;
	КонецЦикла;
	Возврат ТабДокумент;
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Не получается сгруппировать данные в запросе (Бухгалтерия для Украины 8.2) Маршрутно-погру / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]