Разные итоги по разным группировкам в Построителе отчета #425613


#0 by bugorEA
Здравствуйте! Мне нужно реализовать следующее. В построителе отчета есть показатель СуммаВзаиморасчетов. Нужно, чтобы по группировкам Номенклатура, Характеристика и др. рассчитывалась сумма (ну т.е. СУММА(СуммаВзаиморасчетов)), а по группировке Регистратор не рассчитывалась. Когда в итогах указываешь просто агрегатную функцию Сумма, если в группировки строк не добавлен регистратор, то выводится нормально: Кастрюли - 5
#1 by PR
ВЫБОР
#2 by Defender aka LINN
Нужно - делай.
#3 by bugorEA
А как мне ВЫБОРом определить, выбрана группировка построителя Регистратор или нет? Разрывать запрос условием? Типа текст" + ?(Условие, Текст1, Текст2) + ". Мне нужно, чтоб по группировке регистратор итог не считался вообще, а по номенклатуре считался. и это все для одного показателя
#4 by PR
Проверяй значение поля.
#6 by bugorEA
у меня регистр взаиморасчетов. Кроме поля КонечныйОстаток добавлены еще поля НашДолг и ИхДолг. Если КонечныйОстаток > 0, Тогда НашДолг = 0, ИхДолг = КонечныйОстаток, а если КонечныйОстаток < 0, тогда НашДолг = КонечныйОстаток * (-1), ИхДолг = 0. Загвоздка в итогах по полям НашДолг и ИхДолг. Мне нужно в общих итогах получить сумму нашего долга и их долга. Когда нет группировки Регистратор, то он считает нормально, но когда добавляю Регистратор, то для каждой номенклатуры он добавляет еще к примеру 4-5 строк регистратора и складывает по ним конечный остаток. Сумма увеличивается с каждой строкой регистратора, и получается вообще другая (большая) цифра. Как быть?
#7 by PR
Написать правильно текст запроса.
#8 by bugorEA
Если просто указываю СУММА(НашДолг), Сумма(ИхДолг), получается примерно так. Про кастрюли... Нет группировки Регистратор: КАСТРЮЛИ  КонОстаток  НашДолг  ИхДолг  Кастр1       5                 5  Кастр2       -1        1     ИТОГ           4         1       5 В общем нормально... Есть группировка Регистратор: КАСТРЮЛИ  КонОстаток  НашДолг  ИхДолг  Кастр2       -1        1     ИТОГ           4         1       7
#9 by PR
Ты к чему нам все это рассказываешь?
#10 by bugorEA
совета спрашиваю. форум как никак
#11 by PR
Разберись с левыми соединениями, они тебе все и двоят.
#12 by bugorEA
Вот код: ВЫБРАТЬ    ИсточникДанных.ДоговорКонтрагента КАК ДоговорКонтрагента,              СуммаВзаиморасчетовНашДолг, Если убрать в ИТОГИ ПО Регистратор, то он вообще исчезает из группировки строк. Но мне он нужен. Чтоб была детализация по документам
#14 by bugorEA
А при чем здесь код из семерки? Я вроде построитель отчета пытаюсь одолеть.
#15 by hhhh
Зачем тебе здесь два источника данных? В чем прикол? Ведь они идентичны. Используй просто источник данных и выброси второй вместе с левым соединением.
#17 by bugorEA
все равно не получается. С группировкой по регистратору: Контрагент     Приход   Расход   КонОстаток  НашДолг  ДолгКонтрагента ооо "Дуб"      5000     5000                  5000  Платежка      5000                 5000      5000  Реализация             5000   ИТОГ           5000     5000                  5000   Без группировки по регистратору: Контрагент     Приход   Расход   КонОстаток  НашДолг  ДолгКонтрагента ооо "Дуб"      5000     5000                   ИТОГ           5000     5000
#18 by hhhh
так и задумано в этом случае фирмой 1С. То есть тебе нельзя убирать группировку по регистратору в этом отчете.
#19 by bugorEA
Хочется, чтоб фирма 1С чего-нибудь доделала, чтоб вот так голову не ломать. Пока в голову пришел только один выход - не вычислять НашДолг и ДолгКонтрагента в запросе вообще, "руками" добавить в автоматический макет отчета две колонки НашДолг и ДолгКонтрагента и при выводе отчета рассчитывать значение в ячейках этих колонок, отталкиваясь от значения КонечныйОстаток. Но тогда получается, что в настройках не смогу играться с показателями и отборами по НашДолг и ДолгКонтрагента. Есть еще идеи?
#20 by bugorEA
А то получается, что без группировки Регистратор мы ничего не должны, а с группировкой Регистратор торчим 5 штук (((
#21 by bugorEA
В принципе... можно и с показателями и отборами пошаманить. Сделать какую-нибудь имитацию. В настройкеэто же все равно по сути дерево и таблица значений. Ну попробовать по крайней мере. Но все это как-то напоминает извращения... ((((
#22 by bugorEA
Люди добрые! Кто чем может!!!... А я уже не могу... Спать! 5 утра в конце концов
#23 by Defender aka LINN
СКД юзай
#24 by hhhh
1С специально дорабатывало для остатков в разрезе регистраторов, чтобы там всё было нормально, но для вычисляемых полей это не действует. НашДолг у тебя вычисляемое поле, поэтому по нему итог вычисляется тупым суммированием. Попробуй итоговую сумму вычислять по итогам остатков  ИТОГИ    СУММА(СуммаВзаиморасчетовКонечныйОстаток), ПО
#25 by bugorEA
Такой вариант тоже был, но тогда получается, что по номенклатуре отражается только один итог: либо наш долг, либо их долг. Я не вижу, сколько всего мы должны и сколько нам должны, одновременно. Вижу только или наш долг, или долг контрагента в итоге, а второй показатель просто пустой, хотя в промежуточных итогах сумма по нему есть. Контрагент     Приход   Расход   КонОстаток  НашДолг  ДолгКонтрагента ооо "Дуб"      5000                5000       5000 ИП Зайцев               4000      -4000                   4000 ИТОГ            5000     4000       1000       1000 А мне нужно: Контрагент     Приход   Расход   КонОстаток  НашДолг  ДолгКонтрагента ооо "Дуб"      5000                5000       5000 ИП Зайцев               4000      -4000                   4000 ИТОГ            5000     4000       1000       5000        4000 С виду вроде просто - сложить значения по колонкам. Но когда дело доходит до текста запроса... Не получается так :(
#26 by bugorEA
Вернее, получается, когда просто СУММА(НашДолг) и группировка только по номенклатуре. Но добавляешь группировку по регистратору и все падает :(
#27 by acsent
Остатки делаются через роли полей
#28 by acsent
Выбирай доп. поля НачОст, НачОстНашДолг, НачОстДолгКорнтрагента и указывай роли
#29 by bugorEA
Бррр.... а что за роли? Можно пример? Первый раз слышу.
#30 by bugorEA
Может, сделать вложенным запросом? Во вложенном запросе рассчитать итоги по КонОст, а потом выбрать из этого запроса все строки, в т.ч. и поля НашДолг и ДолгКонтрагента в зависимости от значения КонОст. Хотя тоже, наверное, ерунда будет... Во внешнем запросе не будет группировок и иерархического вывода, видимо, не получится ((
#31 by hhhh
это наверно про СКД.
#32 by bugorEA
ну получается так. А как для оперативных расчетов это будет выглядеть? Просто бухгалтерию не знаю, только в торговле пока ковыряюсь
#33 by bugorEA
вот еще один танец с бубном... сумма по номенклатуре вроде даже считается как мне надо. Но в общих итогах таблицы берет первое условие и все насмарку :(
#34 by bugorEA
это, кстати, в разделе ИТОГИ
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С