Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 1C: Предприятие, SAP, ERP и учётные системы > Выборка по Д62,67,51 К51


Автор: larinva 21.10.2012, 11:47
Всем привет! 
Имеется запрос который делает выборку по Д62,67,51 К51 затем заполняет таблицу у меня не получается вделать Итоговые сумма по счетам. Подскажите что не так. 
Код

Процедура КнопкаВыполнитьНажатие(Кнопка)
    Запрос = Новый Запрос;  
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ХозрасчетныйДвиженияССубконто.Период,
    |    ХозрасчетныйДвиженияССубконто.СчетДт КАК СчетДт,
    |    ХозрасчетныйДвиженияССубконто.СчетКт КАК СчетКт,
    |    ХозрасчетныйДвиженияССубконто.СубконтоДт1,
    |    ХозрасчетныйДвиженияССубконто.СубконтоКт1,
    |    СУММА(ХозрасчетныйДвиженияССубконто.Сумма) КАК Сумма
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
    |            &НачПериода,
    |            &КонПериода,
    |            СчетКт В ИЕРАРХИИ (&СчетКт)
    |                    И СчетДт В ИЕРАРХИИ (&СчетДт)
    |                ИЛИ СчетДт В ИЕРАРХИИ (&СчетДт67),
    |            ,
    |            ) КАК ХозрасчетныйДвиженияССубконто
    |
    |СГРУППИРОВАТЬ ПО
    |    ХозрасчетныйДвиженияССубконто.Период,
    |    ХозрасчетныйДвиженияССубконто.СчетДт,
    |    ХозрасчетныйДвиженияССубконто.СчетКт,
    |    ХозрасчетныйДвиженияССубконто.СубконтоДт1,
    |    ХозрасчетныйДвиженияССубконто.СубконтоКт1
    |ИТОГИ
    |    СУММА(Сумма)
    |ПО
    |    СчетКт,
    |    СчетДт";
    
    Запрос.УстановитьПараметр("НачПериода", НачПериода);
    Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода));    
    Запрос.УстановитьПараметр("СчетКт", ПланыСчетов.Хозрасчетный.РасчетныеСчета);
    Запрос.УстановитьПараметр("СчетДт", ПланыСчетов.Хозрасчетный.РасчетыСПокупателямиИЗаказчиками);
    Запрос.УстановитьПараметр("СчетДт67", ПланыСчетов.Хозрасчетный.РасчетыПоДолгосрочнымКредитамИЗаймам);
    Запрос.УстановитьПараметр("Счет51", ПланыСчетов.Хозрасчетный.РасчетныеСчета);
    
    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    
    ТабДок = ЭлементыФормы.ПолеТабличногоДокумента1;
    ТабДок.Очистить();
    Макет = ПолучитьМакет("Макет");
    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьШапка.Параметры.Текст1 = "Выручка на " + Формат(КонПериода, "ДФ=dd.MM.yy");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьИтого = Макет.ПолучитьОбласть("Итого");
    ОбластьСуммаДепозит = Макет.ПолучитьОбласть("СуммаДепозит");
    ОбластьСуммаИтого = Макет.ПолучитьОбласть("СуммаИтого");
    
    ТабДок.Вывести(ОбластьШапка);
    
    ДЛя Каждого Стр Из РезультатЗапроса Цикл 
        СчетКт = Стр.СчетКт;
        СчетДт = Стр.СчетДт;
        СубконтоДт1 = Стр.СубконтоДт1;
        Итого = 0;
        СчетСумма = Стр.Сумма; 
        
        
        Если СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("67.77") 
            ИЛИ СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("67.23") Тогда 
            ОбластьСуммаДепозит.Параметры.Возврат = СчетСумма;
                        ОбластьСуммаДепозит.Параметры.Счет = СубконтоДт1;
            ТабДок.Вывести(ОбластьСуммаДепозит);            
        КонецЕсли; 
    КонецЦикла;
    
    ОбластьСуммаИтого.Параметры.СуммаИтого = Итого;
    ТабДок.Вывести(ОбластьСуммаИтого);

КонецПроцедуры


Подскажите как добиться чтобы в поле
Код

 ОбластьСуммаИтого.Параметры.СуммаИтого = Итого;  

Автор: Innos 15.1.2013, 08:19
У вас в запросе итоги по счетам - значит будет как минимум два итога для счета дт и кт. вам какой нужен? 
может вам нужны общие итоги без итого по счетам?
я бы все это реализовала не через таблицу значений а через выборку, там можно двойным циклом все просмотреть. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)