|
Запрос. Нулевые значения | ☑ | ||
---|---|---|---|---|
0
programer_
1c_nn15 23.08.11
✎
14:33
|
Добрый день есть запрос по счету 26, с группировкой по подразделениям, все данные верные но в отчете не все подразделения только те по которым есть движения.Подскажите как сделать можно чтобы выводились все?Пробовал через левое соединение пока не совсем то получается.
|
|||
1
programer_
1c_nn15 23.08.11
✎
14:33
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстаткиИОбороты.Подразделение КАК Подразделение, | ХозрасчетныйОстаткиИОбороты.Субконто1 КАК СтатьяДвиженияДС, | СУММА(ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт) КАК НачальныйОстатокДт, | СУММА(ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт) КАК НачальныйОстатокКт, | СУММА(ХозрасчетныйОстаткиИОбороты.СуммаОборотДт) КАК ОборотДт, | СУММА(ХозрасчетныйОстаткиИОбороты.СуммаОборотКт) КАК ОборотКт, | СУММА(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт) КАК КонечныйОстатокДт, | СУММА(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт) КАК КонечныйОстатокКт |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДатаНач, &ДатаКон, День, , , , ) КАК ХозрасчетныйОстаткиИОбороты |ГДЕ | ХозрасчетныйОстаткиИОбороты.Счет = &счет | И ХозрасчетныйОстаткиИОбороты.Организация = &организация | |СГРУППИРОВАТЬ ПО | ХозрасчетныйОстаткиИОбороты.Подразделение, | ХозрасчетныйОстаткиИОбороты.Субконто1 |ИТОГИ | СУММА(НачальныйОстатокДт), | СУММА(НачальныйОстатокКт), | СУММА(ОборотДт), | СУММА(ОборотКт), | СУММА(КонечныйОстатокДт), | СУММА(КонечныйОстатокКт) |ПО | ОБЩИЕ, | Подразделение ИЕРАРХИЯ, | СтатьяДвиженияДС |АВТОУПОРЯДОЧИВАНИЕ"; |
|||
2
programer_
1c_nn15 23.08.11
✎
14:34
|
Запрос.УстановитьПараметр("ДатаКон", КонецДня(ДатаКон));
Запрос.УстановитьПараметр("ДатаНач", НачалоДня(ДатаНач)); Запрос.УстановитьПараметр("организация", организация); Запрос.УстановитьПараметр("счет", счет); Результат = Запрос.Выполнить(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы"); ОбластьОбщийИтог = Макет.ПолучитьОбласть("ОбщиеИтоги"); ОбластьПодразделениеИерархия = Макет.ПолучитьОбласть("ПодразделениеИерархия"); ОбластьПодразделение = Макет.ПолучитьОбласть("Подразделение"); ОбластьСубконто2 = Макет.ПолучитьОбласть("Субконто2"); ТабДок.Очистить(); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапкаТаблицы); ТабДок.НачатьАвтогруппировкуСтрок(); ВыборкаОбщийИтог = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); ВыборкаОбщийИтог.Следующий(); // Общий итог ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог); ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень()); ВыборкаПодразделение = ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаПодразделение.Следующий() Цикл Если ВыборкаПодразделение.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоИерархии Тогда Область = ОбластьПодразделениеИерархия; Иначе Область = ОбластьПодразделение; КонецЕсли; Область.Параметры.Заполнить(ВыборкаПодразделение); ТабДок.Вывести(Область, ВыборкаПодразделение.Уровень()); ВыборкаСубконто1 = ВыборкаПодразделение.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаСубконто1.Следующий() Цикл ОбластьСубконто2.Параметры.Заполнить(ВыборкаСубконто1); ТабДок.Вывести(ОбластьСубконто2, ВыборкаСубконто1.Уровень()); КонецЦикла; КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); ТабДок.Вывести(ОбластьПодвалТаблицы); ТабДок.Вывести(ОбластьПодвал); |
|||
3
programer_
1c_nn15 23.08.11
✎
14:35
|
Может быть с помощью функций можно или как то по другому
|
|||
4
kosts
23.08.11
✎
14:37
|
ВыборкаСубконто1 = ВыборкаПодразделение.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,,~~~ Что то здесь ~~~);
|
|||
5
zbv
23.08.11
✎
14:37
|
выбери подразделения из спр.Подразделения и соедини с помощью левого соединения со своим запросом, по подразделению.
|
|||
6
Grusswelle
23.08.11
✎
14:38
|
(2) Не не не. Всё правильно, через ЛЕВОЕ СОЕДИНЕНИЕ. Пили запрос.
|
|||
7
programer_
1c_nn15 23.08.11
✎
14:40
|
Через левое вот так сделал нет иерархии, в справочнике подразделения иерархия 3 уровня
Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстаткиИОбороты.Субконто1 КАК СтатьяДвиженияДС, | СУММА(ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт) КАК НачальныйОстатокДт, | СУММА(ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт) КАК НачальныйОстатокКт, | СУММА(ХозрасчетныйОстаткиИОбороты.СуммаОборотДт) КАК ОборотДт, | СУММА(ХозрасчетныйОстаткиИОбороты.СуммаОборотКт) КАК ОборотКт, | СУММА(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт) КАК КонечныйОстатокДт, | СУММА(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт) КАК КонечныйОстатокКт, | ПодразделенияОрганизаций.Ссылка, | ПодразделенияОрганизаций.Представление |ИЗ | Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций | ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДатаНач, &ДатаКон, День, , , , ) КАК ХозрасчетныйОстаткиИОбороты | ПО ХозрасчетныйОстаткиИОбороты.Подразделение = ПодразделенияОрганизаций.Ссылка |ГДЕ | ХозрасчетныйОстаткиИОбороты.Счет = &счет | И ХозрасчетныйОстаткиИОбороты.Организация = &организация | |СГРУППИРОВАТЬ ПО | ХозрасчетныйОстаткиИОбороты.Субконто1, | ПодразделенияОрганизаций.Ссылка, | ПодразделенияОрганизаций.Представление |ИТОГИ | СУММА(НачальныйОстатокДт), | СУММА(НачальныйОстатокКт), | СУММА(ОборотДт), | СУММА(ОборотКт), | СУММА(КонечныйОстатокДт), | СУММА(КонечныйОстатокКт) |ПО | ОБЩИЕ, | ПодразделенияОрганизаций.Ссылка, | СтатьяДвиженияДС |АВТОУПОРЯДОЧИВАНИЕ"; |
|||
8
programer_
1c_nn15 23.08.11
✎
14:43
|
(4) в этом случае после точки никаких значений нет
|
|||
9
Aprobator
23.08.11
✎
14:44
|
а где в ИТОГАХ указано что тебе ПодразделенияОрганизаций.Ссылка ИЕРАРХИЯ надо? (в конструкторе запросов тип итогов то глянь).
|
|||
10
Aprobator
23.08.11
✎
14:44
|
запрос безобразный.
|
|||
11
Aprobator
23.08.11
✎
14:45
|
почитай в СП внимательно в Языке запросов про таблицу регистров бухгалтерии.
|
|||
12
programer_
1c_nn15 23.08.11
✎
14:47
|
(10) был бы идеальный не писал бы сюда
|
|||
13
programer_
1c_nn15 23.08.11
✎
14:47
|
(9)ок
|
|||
14
programer_
1c_nn15 23.08.11
✎
14:49
|
(9) действительно надо иерархию поставить
|
|||
15
Aprobator
23.08.11
✎
14:52
|
(12) меня больше смущает, то что никто кроме меня на это не указал. Для новичка - типичные все ошибки: параметры виртуальной таблицы не заполнены нефига и используется сгруппировать и сумма, хотя виртуальная таблица (ОстаткиИОбороты) это делает сама по полям выборки. В СП все прописано - читай внимательно.
|
|||
16
programer_
1c_nn15 23.08.11
✎
14:57
|
(15)могу тоже сознаться что не новичок но запросы редко доводится писать и если пишу обычно не сложные
|
|||
17
programer_
1c_nn15 23.08.11
✎
14:59
|
(15) параметры кстати были слетели после редактирования отчета
|
|||
18
programer_
1c_nn15 23.08.11
✎
15:05
|
(11) сп-синтаксис помошник имеешь ввиду?
|
|||
19
Aprobator
23.08.11
✎
15:06
|
(18) да.
|
|||
20
programer_
1c_nn15 23.08.11
✎
15:20
|
(19) Слушай , попутно вопрос , система компоновки данных мощный инструмент?Прокоментировать можешь? Возможно скоро с отчетами работы прибавится,надо будет поподробней остановиться
|
|||
21
kosts
23.08.11
✎
15:21
|
(20) > система компоновки данных мощный инструмент?
Уууууууу |
|||
22
Aprobator
23.08.11
✎
15:21
|
(20) в умелых руках да. Но без книги ее не осилить. По крайней мере, я не смог. Книжка по ней отдельная - погугли. Не помню как уже называется. Или может сейчас подскажет что.
|
|||
23
programer_
1c_nn15 23.08.11
✎
15:26
|
(22)Книга есть начал изучать:)к ней учебная конфа прилагается, интересно сравнить с другими методами разработки
|
|||
24
Aprobator
23.08.11
✎
15:28
|
ямщииииик - не гониииии лошадей!
|
|||
25
Aprobator
23.08.11
✎
15:29
|
и при чем здесь методы разработки? СКД - один из инструментов. Свои плюсы, свои минусы, своя область применения.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |