Имя: Пароль:
1C
1С v8
Вывод итогов из запроса в макет
0 Natalia_28
 
07.10.15
09:41
Создала макет печатной формы, запросом выбираю данные в макет. В запросе, так же, считаю Итоги по двум колонкам. После вывода печатной формы, итоги в печатной форме идут первыми, а после идет перечисление всех ОС. Как вывести итоги туда куда мне нужно? Вот код:

ЗапросСтрока = Новый Запрос;
    ЗапросСтрока.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка);
    ЗапросСтрока.Текст = "ВЫБРАТЬ
                         |    НКС_РеализацияТоваровУслугОС.СтоимостьБУ КАК ПервСтоим,
                         |    НКС_РеализацияТоваровУслугОС.АмортизацияБУ КАК СуммаЗноса,
                         |    НКС_РеализацияТоваровУслугОС.ОсновноеСредство.НКС_КодПоКлассификатору КАК ИнвНомер,
                         |    НКС_РеализацияТоваровУслугОС.ОсновноеСредство.НаименованиеПолное КАК Наименование,
                         |    ЕСТЬNULL(ДатыВводаОС.ДатаСостояния, ДАТАВРЕМЯ(1, 1, 1)) КАК ДатаЕкс,
                         |    НКС_РеализацияТоваровУслугОС.НомерСтроки КАК НомерСтроки
                         |ИЗ
                         |    Документ.НКС_РеализацияТоваровУслуг.ОС КАК НКС_РеализацияТоваровУслугОС
                         |        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
                         |            СостоянияОСОрганизаций.ОсновноеСредство КАК ОсновноеСредство,
                         |            СостоянияОСОрганизаций.Организация КАК Организация,
                         |            МАКСИМУМ(СостоянияОСОрганизаций.ДатаСостояния) КАК ДатаСостояния
                         |        ИЗ
                         |            РегистрСведений.СостоянияОСОрганизаций КАК СостоянияОСОрганизаций
                         |        ГДЕ
                         |            СостоянияОСОрганизаций.Состояние = ЗНАЧЕНИЕ(Перечисление.СостоянияОС.ВведеноВЭксплуатацию)
                         |            И СостоянияОСОрганизаций.ОсновноеСредство В
                         |                    (ВЫБРАТЬ
                         |                        НКС_РеализацияТоваровУслугОС.ОсновноеСредство
                         |                    ИЗ
                         |                        Документ.НКС_РеализацияТоваровУслуг.ОС КАК НКС_РеализацияТоваровУслугОС
                         |                    ГДЕ
                         |                        НКС_РеализацияТоваровУслугОС.Ссылка = &ТекущийДокумент)
                         |        
                         |        СГРУППИРОВАТЬ ПО
                         |            СостоянияОСОрганизаций.ОсновноеСредство,
                         |            СостоянияОСОрганизаций.Организация) КАК ДатыВводаОС
                         |        ПО НКС_РеализацияТоваровУслугОС.ОсновноеСредство = ДатыВводаОС.ОсновноеСредство
                         |            И НКС_РеализацияТоваровУслугОС.Ссылка.Организация = ДатыВводаОС.Организация
                         |ГДЕ
                         |    НКС_РеализацияТоваровУслугОС.Ссылка = &ТекущийДокумент
                         |
                         |УПОРЯДОЧИТЬ ПО
                         |    НомерСтроки
                         |ИТОГИ
                         |    СУММА(ПервСтоим),
                         |    СУММА(СуммаЗноса),
                         |    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ НомерСтроки)
                         |ПО
                         |    ОБЩИЕ";
    Строка = ЗапросСтрока.Выполнить().Выбрать();
1 hhhh
 
07.10.15
09:53
это не в запросе делается, а дальше. Дальше у вас что?
2 Natalia_28
 
07.10.15
10:00
(1) дальше вот что:

Строка = ЗапросСтрока.Выполнить().Выбрать();
    Строка.Следующий();
    
    
    ОбластьШапка.Параметры.НомерАкта = Шапка.НомерАкта;
    ОбластьШапка.Параметры.Дата = Формат(Шапка.Дата, "ДФ=dd.MM.yyyy");
    ТабДок.Вывести(ОбластьШапка);
    ТабДок.Вывести(ОбластьШапкаТаблици);
    
    Номер = 1;

    
    Пока Строка.Следующий() Цикл
        ОбластьСтрока.Параметры.Заполнить(Строка);
        ОбластьСтрока.Параметры.ДатаЕкс = Формат(Строка.ДатаЕкс, "ДФ=dd.MM.yyyy");
        ОбластьСтрока.Параметры.НомерСтроки = Номер;
        ТабДок.Вывести(ОбластьСтрока);    
        Номер = Номер + 1;
    КонецЦикла;
    
    
    ОбластьИтого.Параметры.ПервСтоим = Строка.ПервСтоим;
    ОбластьИтого.Параметры.СуммаЗноса = Строка.СуммаЗноса;
    ТабДок.Вывести(ОбластьИтого);
    ОбластьСуммаПрописью.Параметры.Кол = Строка.Количество();
    

    ТабДок.Вывести(ОбластьСуммаПрописью);
    ТабДок.Вывести(ОбластьПередача);
    
    Возврат ТабДок;
3 hhhh
 
07.10.15
10:13
(2) что-то бред какой-то

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

Строка = СтрокаИтого.Выбрать();
    Пока Строка.Следующий()

..................
    КонецЦикла;

  ОбластьИтого.Параметры.ПервСтоим = СтрокаИтого.ПервСтоим;
    ОбластьИтого.Параметры.СуммаЗноса = СтрокаИтого.СуммаЗноса;
    ТабДок.Вывести(ОбластьИтого);