Имя: Пароль:
1C
1С v8
формирование отчета для каждого подразделения
0 batman1978
 
12.12.14
18:19
Добрый день

столкнулся с проблемой - в отборе 3 подразделения, как на форме заложить что бы обработка сформировала для каждого подразделения отчет.
Ткните где можно примеры или книги почитать.
1 palpetrovich
 
12.12.14
18:39
так примерно :)
Процедура Сформировать()
для инд=1 по ЧислоПодразделений цикл
СформироватьПоПодразделениюи(инд)
конецЦикла
2 batman1978
 
12.12.14
19:02
не совсем понятно можно уточню

если СписокПодразделений > 1 тогда для инд=1 по ЧислоПодразделений цикл
сформироватьПоПодразделению(инд) ;
КонецЦикла;

так ?
3 batman1978
 
12.12.14
19:03
)) не судите за глупые ошибки
я только учусь программировать )
4 batman1978
 
12.12.14
19:12
приведу кусок из формы

процедура КнопкаСформироватьНажатие (Кнопка)

если СписокПодразделений > 1 тогда для инд=1 по СписокПодразделений цикл
            сформировать по СписокПодразделений(инд) ;
        КонецЦикла;
    КонецЕсли;
    
ОтчетОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Дата1").Значение = Дата1;
    ОтчетОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Дата1").Использование = Истина;

    
    ОтчетОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Дата2").Значение = Дата2;
    ОтчетОбъект.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Дата2").Использование = Истина;
    
        
    ОтчетОбъект.КомпоновщикНастроек.Настройки.Отбор.Элементы.Очистить();
    элементотбора = КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Подразделение");
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
    ЭлементОтбора.Использование = Истина;
    ЭлементОтбора.ПравоеЗначение = СписокПодразделений;
    
    СхемаКомпоновкиДанных = ОтчетОбъект.получитьмакет("ОсновнаяСхемаКомпоновкиДанных");
    Настройки = ОтчетОбъект.КомпоновщикНастроек.Настройки;
    
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
    
        
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
    
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки);
    
        
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    
    ДокументРезультат = Новый ТабличныйДокумент; // задаем название для определения нового окна
    
    ДокументРезультат.Очистить();
    
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    
            
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
    
    ДокументРезультат.Показать(); // выводим итоги в отдельный документ
    
    
    Для каждого Рисунок из ДокументРезультат.Рисунки Цикл
         Рисунок.Ширина =300;
    КонецЦикла;

    ДокументРезультат.ОтображатьСетку = Ложь;
    
    если Отправлять Тогда
        ОтправитьПоПочте();
    КонецЕсли;
        
конецпроцедуры