Имя: Пароль:
1C
1С v8
Группировки. Итоги по определенным группировкам.
0 Maratuster
 
01.09.15
12:26
Всем привет )) Недавно взял задачу потренироваться, и понял, что в группировках ничего не шарю (((
Вот такая у меня проблема. У нас есть внешняя печатная форма, заполняется из документа. В процессе заполнения печатной формы, данные из документа группируются. В результате мы имеем несколько группировок с собственными итогами (внутри группы). И у меня вопрос возник: вот мы же можем общий итог найти - это не проблема - а возможно ли найти сумму итогов, произвольных группировок?
1 salvator
 
01.09.15
12:28
Каков критерий отбора итогов?
2 Maratuster
 
01.09.15
12:31
http://www.imageup.ru/img232/2218572/3.jpg.html Это скрин макета печатной формы, а вот код
Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    ВЫБОР
        |        КОГДА ПланПроизводстваСоставПлана.Номенклатура.ВидНоменклатуры.Наименование = ""Таблетки""
        |            ТОГДА ""Цех ГЛС""
        |        ИНАЧЕ ВЫБОР
        |                КОГДА ПланПроизводстваСоставПлана.Номенклатура.ВидНоменклатуры.Наименование = ""Растворы""
        |                    ТОГДА ""Цех ИР""
        |                ИНАЧЕ ВЫБОР
        |                        КОГДА ПланПроизводстваСоставПлана.Номенклатура.ВидНоменклатуры.Наименование = ""Суппозитории""
        |                            ТОГДА ""Цех ГЛС""
        |                        ИНАЧЕ """"
        |                    КОНЕЦ
        |            КОНЕЦ
        |    КОНЕЦ КАК Подразделение,
        |    ПланПроизводстваСоставПлана.Номенклатура.ВидНоменклатуры КАК НоменклатураВидНоменклатуры,
        |    ПланПроизводстваСоставПлана.Номенклатура.Ссылка КАК НоменклатураСсылка,
        |    ПланПроизводстваСоставПлана.ЕдиницаИзмерения,
        |    ПланПроизводстваСоставПлана.Количество,
        |    ПланПроизводстваСоставПлана.Цена,
        |    ПланПроизводстваСоставПлана.Сумма
        |ИЗ
        |    Документ.ПланПроизводства.СоставПлана КАК ПланПроизводстваСоставПлана
        |ГДЕ
        |    ПланПроизводстваСоставПлана.Ссылка = &ДокументПлана
        |ИТОГИ ПО
        |    Подразделение,
        |    НоменклатураВидНоменклатуры КАК ВидНоменклатуры,
        |    НоменклатураСсылка КАК Номенклатура";

    Запрос.УстановитьПараметр("ДокументПлана", СсылкаНаОбъект);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаПодразделение = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    НПП = 0;
    ИКоличество = 0;
    ИСумма = 0;
    
    ИОКоличество = 0;
    ИОСумма = 0;
    
    Пока ВыборкаПодразделение.Следующий() Цикл
        ОбластьЦех.Параметры.ЦехПроизводства = ВыборкаПодразделение.Подразделение;
        
        ТабДок.Вывести(ОбластьЦех);
        
        ВыборкаВидНоменклатуры = ВыборкаПодразделение.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
        
        ИКоличество = 0;
        ИСумма = 0;
        
        Пока ВыборкаВидНоменклатуры.Следующий() Цикл
            
            ОбластьВидНоменклатуры.Параметры.ВидНоменклатуры = ВыборкаВидНоменклатуры.НоменклатураВидНоменклатуры;
            ТабДок.Вывести(ОбластьВидНоменклатуры);
            ВыборкаНоменклатура = ВыборкаВидНоменклатуры.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
            
            Пока ВыборкаНоменклатура.Следующий() Цикл
                // Вставить обработку выборки ВыборкаНоменклатура
                
                ВыборкаДетальныеЗаписи = ВыборкаНоменклатура.Выбрать();
                
                Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
                    НПП = НПП + 1;
                    ИКоличество = ИКоличество + ВыборкаДетальныеЗаписи.Количество;
                    ИСумма = ИСумма + ВыборкаДетальныеЗаписи.Сумма;
                    ОбластьНоменклатура.Параметры.НПП = НПП;
                    ОбластьНоменклатура.Параметры.Номенклатура = ВыборкаДетальныеЗаписи.НоменклатураСсылка;
                    ОбластьНоменклатура.Параметры.ЕдИзм = ВыборкаДетальныеЗаписи.ЕдиницаИзмерения;
                    ОбластьНоменклатура.Параметры.ЦенаРеализации = ВыборкаДетальныеЗаписи.Цена;
                    ОбластьНоменклатура.Параметры.Количество = ВыборкаДетальныеЗаписи.Количество;
                    ОбластьНоменклатура.Параметры.СуммаРуб = ВыборкаДетальныеЗаписи.Сумма;
                    ТабДок.Вывести(ОбластьНоменклатура);
                    
                КонецЦикла;
            КонецЦикла;
            
        КонецЦикла;
        
        ОбластьИтого.Параметры.ИКоличество = ИКоличество;
        ОбластьИтого.Параметры.ИСумма = ИСумма;
        ТабДок.Вывести(ОбластьИтого);
        ИОКоличество = ИОКоличество + ИКоличество;
        ИОСумма = ИОСумма + ИСумма;
        
        
    КонецЦикла;    
    
    
    
    ОбластьИтогоОбщее.Параметры.ИОКоличество = "";
    ОбластьИтогоОбщее.Параметры.ИОСумма = ИОСумма;
    ТабДок.Вывести(ОбластьИтогоОбщее);
    
    
    
    ТабДок.Вывести(ОбластьПодвал);
    
    Возврат ТабДок;
3 Maratuster
 
01.09.15
12:35
(1)Есть некий ТД, продают продукцию своего предприятия и не только. Так вот, надо чтобы в печатной форме отражались не только суммарные итоги продажи, но и отдельно итог продажи только собственной продукции. Группируются данные по цехам производства, то что от другого производителя - попадает в группу "Прочее".
4 Maratuster
 
01.09.15
12:40
http://www.imageup.ru/img232/2218581/3.png сорри, вот нормальный скрин макета
5 Maratuster
 
03.09.15
07:47
Решил проблему )) Оказалось, что мне нужно было задать переменную в другом месте, а то она просто затиралась )))