Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / Упорядочивание в запросе / 4 сообщений из 4, страница 1 из 1
12.03.2010, 23:33
    #36517836
rubi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание в запросе
1с ут 10.3
Код: plaintext
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.
Запрос.Текст =
	"ВЫБРАТЬ
	|	ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
	|	ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад,	
	|	ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонОст
	|ИЗ
	|	РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(
	|			&ДатаНач,
	|			&ДатаКон,
	|			День,
	|			,
	|			Номенклатура В ИЕРАРХИИ (&МассивНоменклатуры) 
	|				И Склад В ИЕРАРХИИ (&МассивСкладов)) КАК ТоварыНаСкладахОстаткиИОбороты
	|ОБЪЕДИНИТЬ ВСЕ
	|ВЫБРАТЬ
	|	ТоварыВРозницеОстаткиИОбороты.Номенклатура КАК Номенклатура,
	|	ТоварыВРозницеОстаткиИОбороты.Склад КАК Склад,	
	|	ТоварыВРозницеОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонОст
	|ИЗ
	|	РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты(
	|			&ДатаНач,
	|			&ДатаКон,
	|			День,
	|			,
	|			Номенклатура В ИЕРАРХИИ (&МассивНоменклатуры)  
	|				И Склад В ИЕРАРХИИ (&МассивСкладов)) КАК ТоварыВРозницеОстаткиИОбороты	
	|";
	
	Если ПоУбыв = Истина Тогда
		Запрос.Текст = Запрос.Текст + "УПОРЯДОЧИТЬ ПО КонОст УБЫВ";
	ИначеЕсли ПоВозр = Истина Тогда
		Запрос.Текст = Запрос.Текст + "УПОРЯДОЧИТЬ ПО КонОст ВОЗР";
	Иначе
	КонецЕсли;
	
	Запрос.Текст = Запрос.Текст +"
	|ИТОГИ
	|	СУММА(КонОст)
	|ПО
	|	Номенклатура ИЕРАРХИЯ,
	|	Склад	
	|АВТОУПОРЯДОЧИВАНИЕ";
	
	Результат = Запрос.Выполнить();  	

ВыборкаПоНоменклатуре = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

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

…

ВыборкаПоСкладам = ВыборкаПоНоменклатуре.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Номенклатура", "Все");
		                                                                                                               		
		Пока ВыборкаПоСкладам.Следующий() Цикл

Проблема в том, что когда выводишь итоговые записи по папке номенклатуры, то склады выстраиваются в одном порядке (соответственно остатку), а когда выводишь отдельно позиции номенклатуры склады выставляются в другом порядке (тоже соответственно остатку). Получается, например, группа «Джинсы», сначала Склад1 – остаток 100, потом Склад2 – остаток 200. На основании этого и формируется шапка отчета со списком складов в колонках. А, например, позиция «джинсы арт. 1» имеется в количестве 5 на Складе1 и 4 на Складе2. Выведется же «джинсы арт. 1» - 4, 5; т.е. согласно шапке на Складе1 -4, а на Складе2 – 5.
Как можно с этим бороться? Ведь в стандартных отчетах (Например в Ведомостях по товарам в рознице/на складах) при таких же настройках все нормально работает.
...
Рейтинг: 0 / 0
14.03.2010, 02:28
    #36518815
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание в запросе
1. Убрать
Если ПоУбыв = Истина Тогда
Запрос.Текст = Запрос.Текст + "УПОРЯДОЧИТЬ ПО КонОст УБЫВ";
ИначеЕсли ПоВозр = Истина Тогда
Запрос.Текст = Запрос.Текст + "УПОРЯДОЧИТЬ ПО КонОст ВОЗР";
Иначе
КонецЕсли;

Или

2. Пользоваться построителем отчетов (а не вручную).
...
Рейтинг: 0 / 0
15.03.2010, 00:42
    #36519886
rubi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание в запросе
Программист 1с1. Убрать
Если ПоУбыв = Истина Тогда
Запрос.Текст = Запрос.Текст + "УПОРЯДОЧИТЬ ПО КонОст УБЫВ";
ИначеЕсли ПоВозр = Истина Тогда
Запрос.Текст = Запрос.Текст + "УПОРЯДОЧИТЬ ПО КонОст ВОЗР";
Иначе
КонецЕсли;

Или

2. Пользоваться построителем отчетов (а не вручную).

Сам писал, теперь убирать!? Вообще вопрос решился,просто дописал

Код: plaintext
1.
2.
3.
4.
5.
Если ПоУбыв = Истина Тогда
		Запрос.Текст = Запрос.Текст + "УПОРЯДОЧИТЬ ПО Склад, КонОст УБЫВ";
	ИначеЕсли ПоВозр = Истина Тогда
		Запрос.Текст = Запрос.Текст + "УПОРЯДОЧИТЬ ПО Склад, КонОст ВОЗР";
	Иначе
	КонецЕсли;
...
Рейтинг: 0 / 0
15.03.2010, 00:55
    #36519902
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Упорядочивание в запросе
rubiСам писал, теперь убирать!? Вообще вопрос решился,просто дописал

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


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