|
|
Подскажите как правильно вывести итоги |
☑ |
|
0
BlackOlga
19.03.12
✎
12:54
|
Добрый день. Пытаюсь сделать простенькую вещь: делаю запрос из регистра накопления, делаю итог по остаткам и всё кажется замечательно и уже готово. Наткнулась на проблему- как вывести этот итог, в обычном числовом выражении, заполучить его.
Вот что делаю:
Запрос1 = Новый Запрос();
Запрос1.Текст="ВЫБРАТЬ
| ЗапасыНаСкладахОстатки.Номенклатура,
| ЗапасыНаСкладахОстатки.Организация,
| ЗапасыНаСкладахОстатки.СтруктурнаяЕдиница,
| ЗапасыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
|ИЗ
| РегистрНакопления.ЗапасыНаСкладах.Остатки КАК ЗапасыНаСкладахОстатки
|ГДЕ
| ЗапасыНаСкладахОстатки.СтруктурнаяЕдиница = &Склад
|ИТОГИ
| СУММА(КоличествоОстаток)
|ПО
| ОБЩИЕ";
Запрос1.УстановитьПараметр("Склад",ЭтотСклад);
Результат=Запрос1.Выполнить().Выбрать();
И далее хочу пока просто в сообщении себе для проверки выдать это количество суммируемое:
Пока Результат.Следующий() цикл
Сообщить(Результат.КоличествоОстаток);
конеццикла;
Подскажите пожалуйста, как сделать правильно?
|
|
|
1
Alex S D
19.03.12
✎
12:57
|
КоличествоОстаток=Запрос1.Выполнить().Выгрузить()[0].КоличествоОстаток;
|
|
|
2
BlackOlga
19.03.12
✎
13:01
|
Спасибо большое,но не вышло- ругается что индекс за пределами массива. Я не очень поняла зачем Выгрузить()[0] именно..
|
|
|
3
Alex S D
19.03.12
✎
13:03
|
значит результат запроса пуст
|
|
|
4
BlackOlga
19.03.12
✎
13:06
|
Хм, будем проверять... на всякий случай не исключаю что очень стормозила и сделала что-то неправильно в двух строчках.
Запрос1 = Новый Запрос();
Запрос1.Текст="ВЫБРАТЬ
| ЗапасыНаСкладахОстатки.Номенклатура,
| ЗапасыНаСкладахОстатки.Организация,
| ЗапасыНаСкладахОстатки.СтруктурнаяЕдиница,
| ЗапасыНаСкладахОстатки.КоличествоОстаток КАК КоличествоОстаток
|ИЗ
| РегистрНакопления.ЗапасыНаСкладах.Остатки КАК ЗапасыНаСкладахОстатки
|ГДЕ
| ЗапасыНаСкладахОстатки.СтруктурнаяЕдиница = &Склад
|ИТОГИ
| СУММА(КоличествоОстаток)
|ПО
| ОБЩИЕ";
Запрос1.УстановитьПараметр("Склад",ЭтотСклад);
КоличествоОстаток=Запрос1.Выполнить().Выгрузить()[0].КоличествоОстаток;
Сообщить(КоличествоОстаток);
Спасибо большое за помощь!
|
|
|
5
BlackOlga
19.03.12
✎
13:08
|
Всё, пробно сделала другой результат, в регистр запихнула данные другие- всё работает.
Спасибо ещё раз!
|
|
|
6
Buster007
19.03.12
✎
13:08
|
Результат=Запрос1.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока Результат.Следующий() цикл
Сообщить("Итог у меня такой" + Строка(Результат.КоличествоОстаток );
КонецЦикла;
|
|
|
7
BlackOlga
19.03.12
✎
13:15
|
Этот вариант мне более понятный, сразу возьму на вооружение ) Спасибо!
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший