Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 13:12

Вывод итогов после запроса

Автор 2С, 05 окт 2014, 01:50

0 Пользователей и 1 гость просматривают эту тему.

Цитата: cska-fanat-kz от 06 окт 2014, 13:48
приведите текст запроса (и весь остальной код) на текущий момент...


Запрос.Текст="ВЫБРАТЬ РАЗЛИЧНЫЕ
                 |    СУММА (ЕСТЬNULL(Типовой.СуммаК, 0)) КАК СумКон,
                 |    ЕСТЬNULL(ТиповойОстаткиИОбороты.СуммаКонечныйРазвернутыйОстатокДт, 0) КАК СумРаз,
                 |    ЕСТЬNULL(ТиповойОстаткиИОбороты.СуммаКонечныйОстатокДт, 0) КАК КонСум,
                 |    СУММА(ЕСТЬNULL(ТиповойОстаткиИОбороты.СуммаКонечныйОстатокДт, 0)) КАК СумСум,
                 |    СУММА(ЕСТЬNULL(Типовой.Сумма, 0)) КАК ИтогСумСум,
                 |    ТиповойОстаткиИОбороты.Валюта КАК Валюта,
                 |    ТиповойОстаткиИОбороты.СуммаКонечныйОстатокДт КАК СуммаКонечныйОстатокДт,
                 |    ТиповойОстаткиИОбороты.СуммаКонечныйРазвернутыйОстатокДт КАК СуммаКонечныйРазвернутыйОстатокДт
                 |ИЗ
                 |    Документ.Остатки КАК Остатки
                 |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Типовой.ОстаткиИОбороты(&ДатаНач, &ДатаКон) КАК ТиповойОстаткиИОбороты
                 |        ПО Остатки.Валюта = ТиповойОстаткиИОбороты.Валюта
                 |ГДЕ
                 |    И ТиповойОстаткиИОбороты.Валюта <> &Валюта
                 |
                 |СГРУППИРОВАТЬ ПО
                 |    ТиповойОстаткиИОбороты.Валюта,
                 |    ТиповойОстаткиИОбороты.СуммаКонечныйОстатокДт,
                 |    ТиповойОстаткиИОбороты.СуммаКонечныйРазвернутыйОстатокДт

    Запрос.УстановитьПараметр("СуммаКонечныйРазвернутыйОстатокДт", СумРаз);
    Запрос.УстановитьПараметр("СуммаКонечныйОстатокДт",СумКон);
    Запрос.УстановитьПараметр("СуммаКонечныйОстатокДт",КонСум);
    Запрос.УстановитьПараметр("СуммаКонечныйОстатокДт",СумСум);


    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
ИтогСумСум = 0;
    ОбластьМакета.Параметры.ВидВалСтр = Выборка.Валюта;
    ОбластьМакета.Параметры.СумРаз    = Выборка.СумРаз;
    ОбластьМакета.Параметры.СумКон    = Выборка.СумКон;
    ОбластьМакета.Параметры.КонСум      = Выборка.КонСум;
    ОбластьМакета.Параметры.СумСум = Выборка.СумКон - Выборка.КонСум;
    ТабДокумент.Вывести(ОбластьМакета);
ИтогСумСум = ИтогСумСум + Выборка.КонСум;
    КонецЦикла;


    ОбластьМакета = Макет.ПолучитьОбласть("Группа3_Ито");   
    ОбластьМакета.Параметры. ИтогСумСум = ИтогСумСум;
    ТабДокумент.Вывести(ОбластьМакета);



Код здоровенный, не хочу Вас мучать, ведь только после этого запроса косяки пока что.

Codokopatel

Как у вас может считаться итоговая сумма, когда при каждой итерации цикла итоговая сумма обнуляется.
Строка ИтогСумСум = 0; должна стоять перед циклом, а не внутри, то есть:

Выборка = Запрос.Выполнить().Выбрать();
ИтогСумСум = 0;
Пока Выборка.Следующий() Цикл

Тогда сумма будет накапливаться.

Yura063

Помогли, отблагодари!

Ой, я растяпа! Все верно, господа, всем спасибо за помощь! А моя невнимательность когда-нибудь погубит меня.
Добавлено: 06 окт 2014, 15:00


Товарищи, позвольте вас ещё помучить: теперь нужно вывести итог по вот этой строчке

ОбластьМакета.Параметры.СумСум = Выборка.СумКон - Выборка.КонСум;

Задаю переменную (перед циклом) = Выборка.СумКон - Выборка.КонСум, а при выводе ссылаюсь на переменную, но не работает. Вот и встает глобальный вопрос Чернышевского "Что делать?" (кто виноват, я и так знаю).

cska-fanat-kz

если у вас
"ОбластьМакета.Параметры.СумСум = Выборка.СумКон - Выборка.КонСум;"

то и
ИтогСумСум = ИтогСумСум + Выборка.СумКон - Выборка.КонСум;

вы с вашим названием переменных (СумСум, КонСум, ЧерезНогуСум) сами себя не запутали?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Цитата: cska-fanat-kz от 06 окт 2014, 15:01
если у вас
"ОбластьМакета.Параметры.СумСум = Выборка.СумКон - Выборка.КонСум;"

то и
ИтогСумСум = ИтогСумСум + Выборка.СумКон - Выборка.КонСум;

вы с вашим названием переменных (СумСум, КонСум, ЧерезНогуСум) сами себя не запутали?

Я уже давно запутался и брожу, словно слепой, по строчкам кода. З.Ы.: Спасибо за инфу, все работает!

Теги: итоги Запрос 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск