Имя: Пароль:
1C
1С v8
Можно ли исключить итог одной группировки из ОБЩИХ итогов в запросе?
,
0 wmonref
 
27.09.17
21:33
Здравствуйте!
Есть немаленький Запрос и в нем формируются Итоги следующим образом:  

|ИТОГИ
|  СУММА(Основной.СуммаНачальныйОстаток),
|  СУММА(ОсновнойОбороты.СуммаОборотДт),
|  СУММА(ОсновнойОбороты.СуммаОборотКт),
|  СУММА(Основной.СуммаКонечныйОстаток)
|ПО
|  ОБЩИЕ,
|  Основной.Фирма,
|  Основной.Субконто1,
|  ОсновнойОбороты.КорСчет,
|  ОсновнойОбороты.Регистратор

Возможно ли исключить из общих итогов, например суммы из группировки ОсновнойОбороты.КорСчет?
1 trooba
 
27.09.17
21:43
(0) Да. Помещением еще в 1 временную таблицу без этого поля, гркппировкой и потом объединением с этой же таблицей, но только с выбранным 1 полем.
2 Лефмихалыч
 
27.09.17
21:43
ИТОГИ СУММА(ВЫБОР КОГДА ТОГДА) КАК СуммаНачальныйОстаток,...
3 wmonref
 
27.09.17
21:45
(2) Пробовал, но что-то не выходит так как надо....
4 Лефмихалыч
 
27.09.17
21:46
(3) пробовал не так, как надо. Начни пробовать так, как надо.
5 wmonref
 
27.09.17
21:48
(4) Так подскажи, Михалыч, как надо?
6 Лефмихалыч
 
27.09.17
21:50
(5) почём мне знать, как тебе надо. Я в (2) рабочий вариант показал, который работает. Дальше - сам.
Или говори, что конкретно сделал, что получилось в результате и что должно было получиться. Конкретно.
7 wmonref
 
27.09.17
22:02
(6)

ВЫБОР
КОГДА ОсновнойОбороты.КорСчет ЕСТЬ NULL
ТОГДА СУММА(Основной.СуммаНачальныйОстаток)
КОНЕЦ  КАК СуммаНачальныйОстаток,

Вот так написал, но в общих итогах все равно входит сумма по  группировке ОсновнойОбороты.КорСчет...
8 Лефмихалыч
 
27.09.17
22:05
(7) ну, а теперь перечитай то, что я написал. Особо пристальное внимание обоими глазами одновременно обрати на мета, в которых я скобки расставил, и в которых - ты, а еще на положение слова СУММА относительно ВБОРКОГДАТОГДА
9 craxx
 
27.09.17
22:05
(7) а ИНАЧЕ чему равна СуммаНачальныйОстаток?
10 Лефмихалыч
 
27.09.17
22:08
(9) без разницы. Эта конструкция синтаксически не верна
11 wmonref
 
27.09.17
22:17
(8)

СУММА (ВЫБОР
КОГДА ОсновнойОбороты.КорСчет ЕСТЬ NULL
ТОГДА Основной.СуммаНачальныйОстаток КОНЕЦ )
КАК СуммаНачальныйОстаток,

С такой конструкцией итоги СуммаНачальныйОстаток ПО ОБЩИЕ равны 0...

:\
12 Лефмихалыч
 
27.09.17
22:19
(11) ну, а вот тут начинай по буквам читать (9) и искать оттенки смысла
13 Лефмихалыч
 
27.09.17
22:21
В записи с общими итогами поле ОсновнойОбороты.КорСчет ни чему не равно.
14 DrShad
 
27.09.17
22:21
Переходи на СКД там это реализовано
15 wmonref
 
27.09.17
22:24
(13) Ааа, Семен Семеныч (Михалыч)...
16 wmonref
 
27.09.17
22:38
(13) И все таки что-то не так...

Гляньте пожалуйста: http://s015.radikal.ru/i333/1709/24/c7e2b385d12d.jpg

Вот сумма 95987,07 и должна быть в ОБЩИХ итогах... Что-то не получается ее вывести...
17 DrShad
 
27.09.17
22:49
Очень даже получается , вот только Null никто не отменял
18 wmonref
 
27.09.17
22:51
(1?) так подскажите идейку... :)
19 wmonref
 
28.09.17
09:11
Если написать

СУММА (ВЫБОР
КОГДА ОсновнойОбороты.КорСчет = NULL
ТОГДА Основной.СуммаНачальныйОстаток
ИНАЧЕ
Основной.СуммаНачальныйОстаток
КОНЕЦ )
КАК СуммаНачальныйОстаток,

то вообще какая-то херня выходит...
Помогите пожалуйста...
20 vicof
 
28.09.17
09:22
(19) потому что херню написал
(14) +100500
21 wmonref
 
28.09.17
17:54
Хорошо, может быть вопрос не был поставлен корректно с самого начала... Вот текст Запроса:

ВЫБРАТЬ
Основной.Фирма,
Основной.Субконто1,
ОсновнойОбороты.Регистратор,
Основной.СуммаНачальныйОстаток КАК СуммаНачальныйОстаток,
ОсновнойОбороты.СуммаОборотДт КАК Приход,
ОсновнойОбороты.СуммаОборотКт КАК Расход,
Основной.СуммаКонечныйОстаток КАК СуммаКонечныйОстаток

    ИЗ
РегистрБухгалтерии.Основной.ОстаткиИОбороты(
  &ДатаНач,
  &ДатаКон,
  ,,
  Счет В (&СписокСчетов),
  ,
  ВЫБОР КОГДА &БезФирм = 0 ТОГДА ИСТИНА
  ИНАЧЕ Фирма В (&Фирма)
  КОНЕЦ
  И ВЫБОР КОГДА &БезФил = 0 ТОГДА ИСТИНА
  ИНАЧЕ Филиал В (&Филиал)
  КОНЕЦ
  ) КАК Основной
ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Основной.Обороты(
  &ДатаНач,
  &ДатаКон,
  Регистратор,  
  Счет В (&СписокСчетов),
  ,
  ВЫБОР КОГДА &БезФирм = 0 ТОГДА ИСТИНА
  ИНАЧЕ Фирма В (&Фирма)
  КОНЕЦ
  И ВЫБОР КОГДА &БезФил = 0 ТОГДА ИСТИНА
  ИНАЧЕ Филиал В (&Филиал)
  КОНЕЦ
  И ВЫБОР КОГДА &КорСуб1 = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка) ТОГДА ИСТИНА
  ИНАЧЕ КорСубконто1 = &КорСуб1
  КОНЕЦ,
  КорСчет В (&СписокКорСчетов)) КАК ОсновнойОбороты
ПО Основной.Фирма=ОсновнойОбороты.Фирма И Основной.Субконто1=ОсновнойОбороты.Субконто1

УПОРЯДОЧИТЬ ПО Основной.Фирма,Основной.Субконто1,
ОсновнойОбороты.Регистратор
    АВТОУПОРЯДОЧИВАНИЕ
ИТОГИ
    
    СУММА(Основной.СуммаНачальныйОстаток),
    СУММА(ОсновнойОбороты.СуммаОборотДт),
    СУММА(ОсновнойОбороты.СуммаОборотКт),
    СУММА(Основной.СуммаКонечныйОстаток)
    
ПО
ОБЩИЕ,
Основной.Фирма,
Основной.Субконто1,
ОсновнойОбороты.Регистратор


Если запрос в таком виде то все получается так как надо, итоги выходят нормально.
Но если добавить ОсновнойОбороты.КорСчет в итогах ПО и в выборке - то итоги по ОБЩИЕ выходят криво  

Вот первый вариант где все ОК:
http://s009.radikal.ru/i307/1709/f9/4bb628e0ea6c.jpg


А вот второй, с добавлением ОсновнойОбороты.КорСчет
http://s014.radikal.ru/i326/1709/cb/44c98dc2ecfc.jpg

Объясните пожалуйста, почему такое происходит?
22 wmonref
 
28.09.17
21:31
кто-нибудь?
23 wmonref
 
29.09.17
09:13
ап...
24 Лефмихалыч
 
29.09.17
09:32
да когда ж ты угомонишься-то уже


Вот, смотри. Сначала добавляешь в свой запрос поле, в котором будет суммировать то и только то, что тебе в общий итог надо вывести.
Потом в итогах ты пишешь:


ИТОГИ
  СУММА(ВЫБОР КОГДА Основной.Фирма есть null тогда ЭтоТвоеПоле иначе Основной.СуммаНачальныйОстаток конец) как СуммаНачальныйОстаток
25 wmonref
 
29.09.17
10:02
(24) Мне нужно вывести сумму начального остатка. Выходит что вместо "ЭтоТвоеПоле" я должен написать Основной.СуммаНачальныйОстаток?
26 Лефмихалыч
 
29.09.17
10:29
(25) ты хуерню какую-то хочешь. Я отказываюсь это понимать
27 wmonref
 
29.09.17
10:33
(26)Может я не правильно объясняю...  

Посмотри, пожалуйста, http://s014.radikal.ru/i326/1709/cb/44c98dc2ecfc.jpg

СуммаНачальныйОстаток в самой первой строке должна быть 95987,07, а не суммироваться.
28 Лефмихалыч
 
29.09.17
10:34
(27) потому, что ты так написал в выражении итога
29 wmonref
 
29.09.17
10:41
(28) А как правильно написАть?

СУММА (ВЫБОР
КОГДА Основной.Фирма ЕСТЬ NULL
ТОГДА Основной.СуммаНачальныйОстаток
ИНАЧЕ 0
КОНЕЦ )
КАК СуммаНачальныйОстаток,

Если так то выходит 0....

Если вот так:

СУММА (ВЫБОР
КОГДА Основной.Фирма ЕСТЬ NULL
ТОГДА Основной.СуммаНачальныйОстаток
ИНАЧЕ 0
КОНЕЦ )
КАК СуммаНачальныйОстаток,

опять итоги суммируются...
30 wmonref
 
29.09.17
10:42
Вот так во втором случае...

СУММА (ВЫБОР
КОГДА НЕ Основной.Фирма ЕСТЬ NULL
ТОГДА Основной.СуммаНачальныйОстаток
ИНАЧЕ 0
КОНЕЦ )
КАК СуммаНачальныйОстаток,
31 wmonref
 
29.09.17
10:57
(24) Подскажи, пожалуйста что может содержать "ЭтоТвоеПоле"?

Ну не доходит до меня...
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс