|
Объясните почему так | ☑ | ||
---|---|---|---|---|
0
PuhUfa
20.10.11
✎
15:30
|
Запрос:
Построитель.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад, | ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, | ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток, | СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход, | СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход, | СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток, | СУММА( | ВЫБОР | КОГДА ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры.ВесЯщика <> 0 | ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток/ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры.ВесЯщика | ИНАЧЕ 0 | КОНЕЦ | ) КАК КоличествоНачальныйОстатокЯщ, | СУММА( | ВЫБОР | КОГДА ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры.ВесЯщика <> 0 | ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход/ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры.ВесЯщика | ИНАЧЕ 0 | КОНЕЦ | ) КАК КоличествоПриходЯщ, | СУММА( | ВЫБОР | КОГДА ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры.ВесЯщика <> 0 | ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход/ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры.ВесЯщика | ИНАЧЕ 0 | КОНЕЦ | ) КАК КоличествоРасходЯщ, | СУММА( | ВЫБОР | КОГДА ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры.ВесЯщика <> 0 | ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток/ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры.ВесЯщика | ИНАЧЕ 0 | КОНЕЦ | ) КАК КоличествоКонечныйОстатокЯщ, | ТоварыНаСкладахОстаткиИОбороты.Регистратор |ИЗ | РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачала, &ДатаОкончания, Регистратор, ,) КАК ТоварыНаСкладахОстаткиИОбороты |//СОЕДИНЕНИЯ | |СГРУППИРОВАТЬ ПО | ТоварыНаСкладахОстаткиИОбороты.Склад, | ТоварыНаСкладахОстаткиИОбороты.Номенклатура, | ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры, | ТоварыНаСкладахОстаткиИОбороты.Регистратор |УПОРЯДОЧИТЬ ПО | Склад, | Номенклатура, | ХарактеристикаНоменклатуры |ИТОГИ | СУММА(КоличествоНачальныйОстаток), | СУММА(КоличествоНачальныйОстатокЯщ), | СУММА(КоличествоПриход), | СУММА(КоличествоПриходЯщ), | СУММА(КоличествоРасход), | СУММА(КоличествоРасходЯщ), | СУММА(КоличествоКонечныйОстаток), | СУММА(КоличествоКонечныйОстатокЯщ) |ПО | ОБЩИЕ, | Склад, | Номенклатура, | ХарактеристикаНоменклатуры, | Регистратор"; В результате получаю: http://i056.radikal.ru/1110/74/f8964a7dae5c.jpg Почему "Вес" не суммируется в разрезе группировки характеристика "вес ящика" а количество ящиков суммируется? |
|||
1
PuhUfa
20.10.11
✎
15:31
|
+ (0) ссылку съело в код: http://i056.radikal.ru/1110/74/f8964a7dae5c.jpg
|
|||
2
izekia
20.10.11
✎
15:39
|
как отчет выводишь? там ошибку ищи
|
|||
3
izekia
20.10.11
✎
15:39
|
просто закинь в консоль запросов запрос ... проверь что там
|
|||
4
PuhUfa
20.10.11
✎
15:42
|
Отчет вывожу простой выборкой:
Результат = Построитель.Результат.Выбрать(); Пока Результат.Следующий() цикл ТекГруппировка = Результат.Группировка(); Если ТекГруппировка = "ОБЩИЕ" Тогда ИмяСтрокиИтого = Макет.ПолучитьОбласть("Итого"); ИмяСтрокиИтого.Параметры.НачОстаток = Результат.КоличествоНачальныйОстаток; ИмяСтрокиИтого.Параметры.НачОстатокЯщ = Результат.КоличествоНачальныйОстатокЯщ; ИмяСтрокиИтого.Параметры.Приход = Результат.КоличествоПриход; ИмяСтрокиИтого.Параметры.ПриходЯщ = Результат.КоличествоПриходЯщ; ИмяСтрокиИтого.Параметры.Расход = Результат.КоличествоРасход; ИмяСтрокиИтого.Параметры.РасходЯщ = Результат.КоличествоРасходЯщ; ИмяСтрокиИтого.Параметры.КонОстаток = Результат.КоличествоКонечныйОстаток; ИмяСтрокиИтого.Параметры.КонОстатокЯщ = Результат.КоличествоКонечныйОстатокЯщ; ИначеЕсли ТекГруппировка = "Склад" Тогда ИмяСтроки = Макет.ПолучитьОбласть("Склад"); ИмяСтроки.Параметры.Склад = Результат.Склад; //ИмяСтроки.Параметры.Номенклатура = Результат.Номенклатура; //ИмяСтроки.Параметры.Характеристика = Результат.ХарактеристикаНоменклатуры; //ИмяСтроки.Параметры.Документ = Результат.Регистратор; ИмяСтроки.Параметры.НачОстаток = Результат.КоличествоНачальныйОстаток; ИмяСтроки.Параметры.НачОстатокЯщ = Результат.КоличествоНачальныйОстатокЯщ; ИмяСтроки.Параметры.Приход = Результат.КоличествоПриход; ИмяСтроки.Параметры.ПриходЯщ = Результат.КоличествоПриходЯщ; ИмяСтроки.Параметры.Расход = Результат.КоличествоРасход; ИмяСтроки.Параметры.РасходЯщ = Результат.КоличествоРасходЯщ; ИмяСтроки.Параметры.КонОстаток = Результат.КоличествоКонечныйОстаток; ИмяСтроки.Параметры.КонОстатокЯщ = Результат.КоличествоКонечныйОстатокЯщ; ТабДок.Вывести(ИмяСтроки); ИначеЕсли ТекГруппировка = "Номенклатура" Тогда ИмяСтроки = Макет.ПолучитьОбласть("Номенклатура"); //ИмяСтроки.Параметры.Склад = Результат.Склад; ИмяСтроки.Параметры.Номенклатура = Результат.Номенклатура; //ИмяСтроки.Параметры.Характеристика = Результат.ХарактеристикаНоменклатуры; //ИмяСтроки.Параметры.Документ = Результат.Регистратор; ИмяСтроки.Параметры.НачОстаток = Результат.КоличествоНачальныйОстаток; ИмяСтроки.Параметры.НачОстатокЯщ = Результат.КоличествоНачальныйОстатокЯщ; ИмяСтроки.Параметры.Приход = Результат.КоличествоПриход; ИмяСтроки.Параметры.ПриходЯщ = Результат.КоличествоПриходЯщ; ИмяСтроки.Параметры.Расход = Результат.КоличествоРасход; ИмяСтроки.Параметры.РасходЯщ = Результат.КоличествоРасходЯщ; ИмяСтроки.Параметры.КонОстаток = Результат.КоличествоКонечныйОстаток; ИмяСтроки.Параметры.КонОстатокЯщ = Результат.КоличествоКонечныйОстатокЯщ; ТабДок.Вывести(ИмяСтроки); ИначеЕсли ТекГруппировка = "ХарактеристикаНоменклатуры" Тогда ИмяСтроки = Макет.ПолучитьОбласть("Характеристика"); //ИмяСтроки.Параметры.Склад = Результат.Склад; //ИмяСтроки.Параметры.Номенклатура = Результат.Номенклатура; ИмяСтроки.Параметры.Характеристика = Результат.ХарактеристикаНоменклатуры; //ИмяСтроки.Параметры.Документ = Результат.Регистратор; ИмяСтроки.Параметры.НачОстаток = Результат.КоличествоНачальныйОстаток; ИмяСтроки.Параметры.НачОстатокЯщ = Результат.КоличествоНачальныйОстатокЯщ; ИмяСтроки.Параметры.Приход = Результат.КоличествоПриход; ИмяСтроки.Параметры.ПриходЯщ = Результат.КоличествоПриходЯщ; ИмяСтроки.Параметры.Расход = Результат.КоличествоРасход; ИмяСтроки.Параметры.РасходЯщ = Результат.КоличествоРасходЯщ; ИмяСтроки.Параметры.КонОстаток = Результат.КоличествоКонечныйОстаток; ИмяСтроки.Параметры.КонОстатокЯщ = Результат.КоличествоКонечныйОстатокЯщ; ТабДок.Вывести(ИмяСтроки); ИначеЕсли ТекГруппировка = "Регистратор" Тогда Если НЕ ЗначениеЗаполнено(Результат.Регистратор) тогда Продолжить; КонецЕсли; ИмяСтроки = Макет.ПолучитьОбласть("Регистратор"); //ИмяСтроки.Параметры.Склад = Результат.Склад; //ИмяСтроки.Параметры.Номенклатура = Результат.Номенклатура; //ИмяСтроки.Параметры.Характеристика = Результат.ХарактеристикаНоменклатуры; ИмяСтроки.Параметры.Документ = Результат.Регистратор; ИмяСтроки.Параметры.НачОстаток = Результат.КоличествоНачальныйОстаток; ИмяСтроки.Параметры.НачОстатокЯщ = Результат.КоличествоНачальныйОстатокЯщ; ИмяСтроки.Параметры.Приход = Результат.КоличествоПриход; ИмяСтроки.Параметры.ПриходЯщ = Результат.КоличествоПриходЯщ; ИмяСтроки.Параметры.Расход = Результат.КоличествоРасход; ИмяСтроки.Параметры.РасходЯщ = Результат.КоличествоРасходЯщ; ИмяСтроки.Параметры.КонОстаток = Результат.КоличествоКонечныйОстаток; ИмяСтроки.Параметры.КонОстатокЯщ = Результат.КоличествоКонечныйОстатокЯщ; ТабДок.Вывести(ИмяСтроки); КонецЕсли; КонецЦикла; |
|||
5
Scooter
20.10.11
✎
15:45
|
(4)
ОбластьМакета = Макет.ПолучитьОбласть("ОбщиеДанные"); ОбластьМакета.Параметры.Заполнить(Выборка); ТабДокумент.Вывести(ОбластьМакета); |
|||
6
Scooter
20.10.11
✎
15:47
|
(0)NULL скорее всего встречается
|
|||
7
izekia
20.10.11
✎
15:48
|
похоже там где 1С рассчитывает итоги характеристика недоступна
вообще убери группировку в запросе, она не нужна и лишние итоги по регистратору |
|||
8
izekia
20.10.11
✎
15:49
|
попробуй пока убрать группировку и посмотри, должно получиться то то чебе нужно
соответственно агрегатные все тоже убери у тебя уже обороты по регистратору выбираются |
|||
9
PuhUfa
21.10.11
✎
09:46
|
(6) NULL в чем?
(7) если я убираю группировку то у в отчет не попадают итоги по группе. Или я не совсем понял что именно ты имел ввиду. |
|||
10
izekia
21.10.11
✎
10:08
|
ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад, | ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, | ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток, | СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход, | СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход, | СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток, | СУММА( | ВЫБОР | КОГДА ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры.ВесЯщика <> 0 | ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток/ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры.ВесЯщика | ИНАЧЕ 0 | КОНЕЦ | ) КАК КоличествоНачальныйОстатокЯщ, | СУММА( | ВЫБОР | КОГДА ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры.ВесЯщика <> 0 | ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход/ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры.ВесЯщика | ИНАЧЕ 0 | КОНЕЦ | ) КАК КоличествоПриходЯщ, | СУММА( | ВЫБОР | КОГДА ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры.ВесЯщика <> 0 | ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход/ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры.ВесЯщика | ИНАЧЕ 0 | КОНЕЦ | ) КАК КоличествоРасходЯщ, | СУММА( | ВЫБОР | КОГДА ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры.ВесЯщика <> 0 | ТОГДА ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток/ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры.ВесЯщика | ИНАЧЕ 0 | КОНЕЦ | ) КАК КоличествоКонечныйОстатокЯщ, | ТоварыНаСкладахОстаткиИОбороты.Регистратор |ИЗ | РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНачала, &ДатаОкончания, Регистратор, ,) КАК ТоварыНаСкладахОстаткиИОбороты |//СОЕДИНЕНИЯ | |СГРУППИРОВАТЬ ПО <= вот это тебе не нужно | ТоварыНаСкладахОстаткиИОбороты.Склад, | ТоварыНаСкладахОстаткиИОбороты.Номенклатура, | ТоварыНаСкладахОстаткиИОбороты.ХарактеристикаНоменклатуры, | ТоварыНаСкладахОстаткиИОбороты.Регистратор |УПОРЯДОЧИТЬ ПО | Склад, | Номенклатура, | ХарактеристикаНоменклатуры |ИТОГИ | СУММА(КоличествоНачальныйОстаток), | СУММА(КоличествоНачальныйОстатокЯщ), | СУММА(КоличествоПриход), | СУММА(КоличествоПриходЯщ), | СУММА(КоличествоРасход), | СУММА(КоличествоРасходЯщ), | СУММА(КоличествоКонечныйОстаток), | СУММА(КоличествоКонечныйОстатокЯщ) |ПО | ОБЩИЕ, | Склад, | Номенклатура, | ХарактеристикаНоменклатуры, | Регистратор |
|||
11
izekia
21.10.11
✎
10:10
|
(9) и итоги по регистратору по идее тоже не нужны, так как то же самое будет в детальных записях, просто раза в два больше данных в выборке получается
|
|||
12
PuhUfa
21.10.11
✎
11:43
|
(10) что то я вообще запутался -( Если я убираю группировку то начинает ругаться "поле не входит в группу"
|
|||
13
izekia
21.10.11
✎
11:45
|
(12) забей, займись чем-нибудь полезным обществу
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |