![]() |
|
Подскажите с циклом.. | ☑ | ||
---|---|---|---|---|
0
hasan-rusel
02.04.13
✎
06:04
|
БУХам вдруг понадобилось формировать отчет не только по 1 подразделению, но и по всем (чтобы выбор был)
После поправки запроса получился следующий код: Запрос1 = Новый Запрос; Запрос1.Текст ="ВЫБРАТЬ | ХозрасчетныйДвиженияССубконто.СубконтоДт2, | ХозрасчетныйДвиженияССубконто.Сумма, | ХозрасчетныйДвиженияССубконто.СчетКт КАК СчетКт, | ХозрасчетныйДвиженияССубконто.Период, | ХозрасчетныйДвиженияССубконто.ПодразделениеКт.Ссылка КАК ПодразделениеКтСсылка, | ХозрасчетныйДвиженияССубконто.СуммаНУДт, | ХозрасчетныйДвиженияССубконто.СуммаНУКт, | ХозрасчетныйДвиженияССубконто.СуммаПРДт, | ХозрасчетныйДвиженияССубконто.СуммаПРКт, | ХозрасчетныйДвиженияССубконто.СуммаВРДт, | ХозрасчетныйДвиженияССубконто.СуммаВРКт |ИЗ | РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто( | &НачПериода, | &КонПериода, | СчетДт = &Счет | И ВЫБОР КОГДА &Подразделение = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка) ТОГДА ИСТИНА ИНАЧЕ ПодразделениеДт.Ссылка = &Подразделение КОНЕЦ, | , | ) КАК ХозрасчетныйДвиженияССубконто | |СГРУППИРОВАТЬ ПО | ХозрасчетныйДвиженияССубконто.ПодразделениеКт.Ссылка, | ХозрасчетныйДвиженияССубконто.СубконтоДт2, | ХозрасчетныйДвиженияССубконто.Сумма, | ХозрасчетныйДвиженияССубконто.СчетКт, | ХозрасчетныйДвиженияССубконто.Период, | ХозрасчетныйДвиженияССубконто.СуммаНУДт, | ХозрасчетныйДвиженияССубконто.СуммаНУКт, | ХозрасчетныйДвиженияССубконто.СуммаПРДт, | ХозрасчетныйДвиженияССубконто.СуммаПРКт, | ХозрасчетныйДвиженияССубконто.СуммаВРДт, | ХозрасчетныйДвиженияССубконто.СуммаВРКт |ИТОГИ ПО | ПодразделениеКтСсылка"; Запрос1.УстановитьПараметр("Счет", Счет); Запрос1.УстановитьПараметр("Подразделение", Подразделение); Запрос1.УстановитьПараметр("НачПериода", НачалоДня(НачПериода)); Запрос1.УстановитьПараметр("КонПериода", КонецДня(КонПериода)); Результат = Запрос1.Выполнить(); ВыборкаПодразделения = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаПодразделения.Следующий() Цикл Выборка = ВыборкаПодразделения.Выбрать(); Пока Выборка.Следующий() Цикл Секция.Параметры.Заполнить(Выборка); Таблица.Присоединить(Секция); КонецЦикла; КонецЦикла; ДУмаю что нужно как-то обойти цикл Пока ВыборкаПодразделения.Следующий() Цикл Выборка = ВыборкаПодразделения.Выбрать(); но могу и ошибаться... Подскажите пожалуйста как поправить ! Заранее спасибо ! |
|||
1
Галахад
гуру
02.04.13
✎
06:12
|
Во это убери.
И ВЫБОР КОГДА &Подразделение = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка) ТОГДА ИСТИНА ИНАЧЕ ПодразделениеДт.Ссылка = &Подразделение КОНЕЦ |
|||
2
Wobland
02.04.13
✎
06:14
|
(1) это у него работает (должно), это ему вчера советовали ;)
|
|||
3
kosts
02.04.13
✎
06:14
|
(0) Выведи еще итоги по подразделениям
|
|||
4
Галахад
гуру
02.04.13
✎
06:16
|
(2) Гм. Насоветовали, ироды. :-)
Как должны выйти все подразделения, если он отбор делает? |
|||
5
Wobland
02.04.13
✎
06:19
|
(4) ПодразделениеДт.Ссылка = &Подразделение
|
|||
6
Wobland
02.04.13
✎
06:19
|
(5) это если делает. иначе - истина
|
|||
7
hasan-rusel
02.04.13
✎
06:21
|
(3) А если выбрано 1 подразделение, то норм все будет ?
|
|||
8
Wobland
02.04.13
✎
06:22
|
(7) ты всё правильно в (0) понял. постеснялся взять и проверить?
|
|||
9
Галахад
гуру
02.04.13
✎
06:22
|
(5) Ага, гоню.
(7) Соврал я. |
|||
10
hasan-rusel
02.04.13
✎
06:22
|
(1) (2) да-да, все работает )
|
|||
11
hasan-rusel
02.04.13
✎
06:28
|
(3) Т.е. отдельная колонка по подразделениям ?
Не, у меня итоги по всем подразделениям (если оно (подразделение) не выбрано) формируются норм (это у меня 1 колонка) А вот дальше по подразделениям не идет (( Щас скрин кину |
|||
12
hasan-rusel
02.04.13
✎
06:38
|
Вот так если выбираем подразделение(норм):
http://s018.radikal.ru/i501/1304/be/07426fb52e0b.jpg А вот так если не выбираем подразделение (не норм, т.к. по 20 счету Кт только 1 подразделение): http://s16.radikal.ru/i190/1304/5c/0322ab6e37ec.jpg |
|||
13
hasan-rusel
02.04.13
✎
06:40
|
А итоги формируются норм, т.к. первые 4 колонки выводяться так:
Запрос = Новый Запрос; Запрос.Текст ="ВЫБРАТЬ | ХозрасчетныйДвиженияССубконто.СубконтоДт2, | ХозрасчетныйДвиженияССубконто.Сумма, | ХозрасчетныйДвиженияССубконто.СчетКт КАК СчетКт, | ХозрасчетныйДвиженияССубконто.Период, | ХозрасчетныйДвиженияССубконто.ПодразделениеКт.Ссылка КАК ПодразделениеКтСсылка, | ХозрасчетныйДвиженияССубконто.СуммаНУДт, | ХозрасчетныйДвиженияССубконто.СуммаНУКт, | ХозрасчетныйДвиженияССубконто.СуммаПРДт, | ХозрасчетныйДвиженияССубконто.СуммаПРКт, | ХозрасчетныйДвиженияССубконто.СуммаВРДт, | ХозрасчетныйДвиженияССубконто.СуммаВРКт |ИЗ | РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто( | &НачПериода, | &КонПериода, | СчетДт = &Счет | И ВЫБОР КОГДА &Подразделение = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка) ТОГДА ИСТИНА ИНАЧЕ ПодразделениеДт.Ссылка = &Подразделение КОНЕЦ, | , | ) КАК ХозрасчетныйДвиженияССубконто | |УПОРЯДОЧИТЬ ПО | ПодразделениеКтСсылка, | СчетКт"; Запрос.УстановитьПараметр("Счет", Счет); Запрос.УстановитьПараметр("Подразделение", Подразделение); Запрос.УстановитьПараметр("НачПериода", НачалоДня(НачПериода)); Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода)); Выборка = Запрос.Выполнить().Выбрать(); ////////ЦИКЛ ПО 1-4 КОЛОНКАМ Пока Выборка.Следующий() Цикл Секция.Параметры.Заполнить(Выборка); Таблица.Присоединить(Секция); |
|||
14
Галахад
гуру
02.04.13
✎
06:44
|
Это чему равно:
типзнч(Подразделение) PS Клевые стрелки, это в какой программе? |
|||
15
hasan-rusel
02.04.13
✎
06:45
|
(14) СправочникСсылка.ПодразделенияОрганизаций
МегаПаинт ))) |
|||
16
hasan-rusel
02.04.13
✎
07:24
|
Не верно немного в 1 посте написал.
Вывод идет так: Секция.Параметры.Заполнить(Выборка); КонецЦикла; Таблица.Присоединить(Секция); КонецЦикла; |
|||
17
Лефмихалыч
02.04.13
✎
07:59
|
(0) юзай СКД, хорош микроскопом гвозди заколачивать
|
|||
18
hasan-rusel
02.04.13
✎
09:04
|
(17) Да осталось только зафигачить по всем подразделениям и все готово !!
Помогите пожалуйста !!!!!!!!!! |
|||
19
Xatori
02.04.13
✎
09:38
|
мб не очень задачу понял, но если нужно получать по многим подразделениям наверное самое простое не устанавливать равенство с параметром а воспользоваться конструкцией "В" и передавать туда всегда массив значений.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |