формирование отчета для каждого подразделения
☑
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;
КонецЦикла;
ДокументРезультат.ОтображатьСетку = Ложь;
если Отправлять Тогда
ОтправитьПоПочте();
КонецЕсли;
конецпроцедуры
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший