Имя: Пароль:
1C
1С v8
Запрос
,
0 programer_
1c_nn15
 
25.08.11
10:26
Добрый день ,есть запрос по счету 26, одно субконто, статьи затрат ,в котором показываются все подразделения и движения по ним по статьям затрат.Нужно отобразить так же все подразделения но по определённому списку статей затрат,тоесть чтобы показывались подразделения но итоги были только по затратам в этом списке, когда использую отбор по условию"где" ХозрасчетныйОстаткиИОбороты.Субконто1 В(&СписокСЗ) отсекает некоторые подразделения по которым не было затрат по данным статьям.
1 programer_
1c_nn15
 
25.08.11
10:27
Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    ХозрасчетныйОстаткиИОбороты.Субконто1 КАК СтатьяДвиженияДС,
   |    СУММА(ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт) КАК НачальныйОстатокДт,
   |    СУММА(ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт) КАК НачальныйОстатокКт,
   |    СУММА(ХозрасчетныйОстаткиИОбороты.СуммаОборотДт) КАК ОборотДт,
   |    СУММА(ХозрасчетныйОстаткиИОбороты.СуммаОборотКт) КАК ОборотКт,
   |    СУММА(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокДт) КАК КонечныйОстатокДт,
   |    СУММА(ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстатокКт) КАК КонечныйОстатокКт,
   |    ПодразделенияОрганизаций.Ссылка КАК Ссылка,
   |    ПодразделенияОрганизаций.Представление
   |ИЗ
   |    Справочник.ПодразделенияОрганизаций КАК ПодразделенияОрганизаций
   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДатаНач, &ДатаКон, День, , , , ) КАК ХозрасчетныйОстаткиИОбороты
   |        ПО (ХозрасчетныйОстаткиИОбороты.Подразделение = ПодразделенияОрганизаций.Ссылка)
   |ГДЕ
   |    ХозрасчетныйОстаткиИОбороты.Счет = &счет
   |    И ХозрасчетныйОстаткиИОбороты.Организация = &организация
   //|    И ХозрасчетныйОстаткиИОбороты.Субконто1 В(&СписокСЗ)
   |
   |СГРУППИРОВАТЬ ПО
   |    ХозрасчетныйОстаткиИОбороты.Субконто1,
   |    ПодразделенияОрганизаций.Ссылка,
   |    ПодразделенияОрганизаций.Представление
   |ИТОГИ
   |    СУММА(НачальныйОстатокДт),
   |    СУММА(НачальныйОстатокКт),
   |    СУММА(ОборотДт),
   |    СУММА(ОборотКт),
   |    СУММА(КонечныйОстатокДт),
   |    СУММА(КонечныйОстатокКт)
   |ПО
   |    ОБЩИЕ,
   |    Ссылка ИЕРАРХИЯ,
   |    СтатьяДвиженияДС
   |АВТОУПОРЯДОЧИВАНИЕ";

   Запрос.УстановитьПараметр("ДатаКон", ДатаКон);
   Запрос.УстановитьПараметр("ДатаНач", ДатаНач);
   Запрос.УстановитьПараметр("организация", организация);
   //Запрос.УстановитьПараметр("СписокСЗ", СписокСЗ);
   Запрос.УстановитьПараметр("счет", счет);

   Результат = Запрос.Выполнить();
2 programer_
1c_nn15
 
25.08.11
10:28
Может в итогах можно подобную настройку сделать
3 Axel2009
 
25.08.11
10:32
при выводе играйся. запрос не умеет быть немножко беременным
4 programer_
1c_nn15
 
25.08.11
10:38
Итоги в запросе рассчитываются по подразделениям , так что вопрос насколько при выводе подойдёт вариант
5 Axel2009
 
25.08.11
10:50
считай итоги по всем. при выводе по кому не нужно не выводи итоги..
6 programer_
1c_nn15
 
25.08.11
10:57
а в том то и дело что по каждому подразделению итоги нужно вывести без исключения.Но сумма итогов только по определённым статьям затрат
7 programer_
1c_nn15
 
25.08.11
10:58
Для каждого подразделения этот список статей один и тот же
8 Axel2009
 
25.08.11
11:00
накапливай сумму, которую нужно вычесть
9 programer_
1c_nn15
 
25.08.11
11:04
как вариант, можно попробовать)
10 luckyluke
 
25.08.11
11:10
Попробуй так:
|ИТОГИ
|    
ВЫБОР
   КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 В(&СписокСЗ)
       ТОГДА СУММА(НачальныйОстатокДт)
   ИНАЧЕ 0
КОНЕЦ
11 luckyluke
 
25.08.11
11:13
+(10) Хотя, думаю, лучше это делать в полях выбора, а потом просто в итогах сумму по ним считать, что-то вроде:

ВЫБРАТЬ
   |    ХозрасчетныйОстаткиИОбороты.Субконто1 КАК СтатьяДвиженияДС,
   |ВЫБОР
   КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 В(&СписокСЗ)
       ТОГДА СУММА(НачальныйОстатокДт)
   ИНАЧЕ 0
КОНЕЦ КАК СуммаПоВыбраннымСтатьям,
...
Итоги
Сумма(СуммаПоВыбраннымСтатьям),
...
12 programer_
1c_nn15
 
25.08.11
11:13
Во!!! как раз про это и была мысль помню что видел в других запросах эту конструкцию и читал про неё, собирался в этом направлении ещё посмотреть
13 programer_
1c_nn15
 
25.08.11
11:14
:)
14 programer_
1c_nn15
 
25.08.11
11:15
конструкторе отчета тоже скорей всего так прописать можно?
15 luckyluke
 
25.08.11
11:15
(14) каэшн.
16 programer_
1c_nn15
 
25.08.11
11:16
(11) этот вариант тоже вроде ничиво
17 programer_
1c_nn15
 
25.08.11
11:18
точней (10)
18 programer_
1c_nn15
 
25.08.11
11:26
тоесть если сделать в полях
ВЫБОР
   КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 В(&СписокСЗ)
       ТОГДА СУММА(НачальныйОстатокДт)
   ИНАЧЕ 0
КОНЕЦ

получаем что выведутся все подразделения и отсекутся ненужные статьи затрат и суммы выходят по нужным)
19 programer_
1c_nn15
 
25.08.11
11:28
может быть тогд строка:
|    ХозрасчетныйОстаткиИОбороты.Субконто1 КАК СтатьяДвиженияДС,

и не нужна а будет так?
ВЫБРАТЬ
   //|    ХозрасчетныйОстаткиИОбороты.Субконто1 КАК СтатьяДвиженияДС,
   |ВЫБОР
   КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 В(&СписокСЗ)
       ТОГДА СУММА(НачальныйОстатокДт)
   ИНАЧЕ 0
КОНЕЦ КАК СуммаПоВыбраннымСтатьям,
20 luckyluke
 
25.08.11
11:30
(19) дык, а я ж откуда знаю чего ты хочешь...
21 programer_
1c_nn15
 
25.08.11
11:31
тогда уточню , вывод по всем подразделениям , а статьи затрат только которые в списке и итоги только по тем статьям которые в списке)
22 programer_
1c_nn15
 
25.08.11
11:38
а в конструкторе запроса на какой вкладке можно это прописать чет не найду
23 luckyluke
 
25.08.11
11:39
(21) ну если тебе не нужны в отчете имена статей, так и не включай в поля выбора, просто считай суммы на условие попадания статьи в список конструкцией выбора.
24 luckyluke
 
25.08.11
11:40
(22) ну на первой вкладке, где ты выбираешь поля, просто нажми вверху добавить, а потом вручную пиши конструкцию выбор когда тогда иначе конец.
25 programer_
1c_nn15
 
25.08.11
11:43
ага спасибо большое после обеда буду эксперементировать:)