|
Не формирует отчет | ☑ | ||
---|---|---|---|---|
0
Ket9346
01.04.15
✎
20:18
|
Не могу правильно сформировать отчет, помогите пожалуйста
Нужно было добавить кроме оценок, ФИО, предмета еще преподавателя вот с ним и загвоздка...сначала сделала без него всё работало а вот сейчас когда добавила преподавателя то уже нет Процедура Отчет(ТабДок, Группа, Семестр) Экспорт Если Семестр = 0 Тогда Предупреждение("Введите правильно номер семестра!"); Возврат; КонецЕсли; // Выборка успеваемости по ФИО из регистра сведений Семестровые итоги МакетСводная = ОтчетОбъект.ПолучитьМакет("Сводная"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СеместровыеИтоги.ФИО КАК ФИО, | СеместровыеИтоги.ФИО.КраткоеНаименование, | СеместровыеИтоги.Дисциплина КАК Дисциплина, | СеместровыеИтоги.Дисциплина.КраткоеНаименование, | СеместровыеИтоги.Преподаватель КАК Преподаватель, | СеместровыеИтоги.Преподаватель.КраткоеНаименование, | СеместровыеИтоги.Группа, | ПРЕДСТАВЛЕНИЕ(СеместровыеИтоги.Группа), | СеместровыеИтоги.Оценка, | СеместровыеИтоги.Регистратор.Ссылка |ИЗ | РегистрСведений.СеместровыеИтоги КАК СеместровыеИтоги |ГДЕ | СеместровыеИтоги.Группа = &Группа "; Если Не Дисциплина.Пустая() Тогда Запрос.Текст = Запрос.Текст + "И СеместровыеИтоги.Дисциплина = &Дисциплина "; КонецЕсли; Запрос.Текст = Запрос.Текст + "И СеместровыеИтоги.Семестр = &Семестр |СГРУППИРОВАТЬ ПО | СеместровыеИтоги.ФИО, | СеместровыеИтоги.Дисциплина, | СеместровыеИтоги.Дисциплина.КраткоеНаименование, | СеместровыеИтоги.Группа, | СеместровыеИтоги.Преподаватель, | СеместровыеИтоги.Преподаватель.КраткоеНаименование, | СеместровыеИтоги.Оценка, | СеместровыеИтоги.Регистратор.Ссылка |УПОРЯДОЧИТЬ ПО | ФИО, | Дисциплина"; Запрос.УстановитьПараметр("Группа", Группа); Запрос.УстановитьПараметр("Семестр", Семестр); Запрос.УстановитьПараметр("Дисциплина", Дисциплина); Результат = Запрос.Выполнить(); //ТабРез = Запрос.Выполнить().Выгрузить(); //ТабРез.ВыбратьСтроку(); // Выборка прогулов по ФИО из регистра накопления Пропуски // Выборка успеваемости ВыборкаДетали = Результат.Выбрать(); ДеревоГруппы = Новый ДеревоЗначений; КолонкиГруппы = ДеревоГруппы.Колонки; КолонкиГруппы.Добавить("ФИО"); КолонкиГруппы.Добавить("СсылкаФИО"); КолонкиГруппы.Добавить("СсылкаРегистратор"); КолонкиГруппы.Добавить("ДисциплинаКр"); КолонкиГруппы.Добавить("Дисциплина"); КолонкиГруппы.Добавить("Оценка"); КолонкиГруппы.Добавить("ПреподавательКр"); КолонкиГруппы.Добавить("Преподаватель"); ФИО = ""; Пока ВыборкаДетали.Следующий() Цикл Если ВыборкаДетали.РегистраторСсылка = Null Тогда Продолжить; КонецЕсли; Если Не ФИО = ВыборкаДетали.ФИО Тогда ФИОГруппы = ДеревоГруппы.Строки.Добавить(); ФИОГруппы.СсылкаФИО = ВыборкаДетали.ФИО; // Поиск по ФИО прогулов из таблицы значений ФИОГруппы.ФИО = ВыборкаДетали.ФИО.КраткоеНаименование; // строки дерева Оценки = ФИОГруппы.Строки.Добавить(); Оценки.ДисциплинаКр = ВыборкаДетали.Дисциплина.КраткоеНаименование; Оценки.ПреподавательКр = ВыборкаДетали.Преподаватель.КраткоеНаименование; Оценки.СсылкаРегистратор = ВыборкаДетали.РегистраторСсылка; Оценки.Дисциплина = ВыборкаДетали.Дисциплина; Оценки.Дисциплина = ВыборкаДетали.Преподаватель; Оценки.Оценка = ВыборкаДетали.Оценка; Оценки.СсылкаРегистратор = ВыборкаДетали.РегистраторСсылка; ФИО = ВыборкаДетали.ФИО; Иначе Оценки = ФИОГруппы.Строки.Добавить(); Оценки.ДисциплинаКр = ВыборкаДетали.Дисциплина.КраткоеНаименование; Оценки.СсылкаРегистратор = ВыборкаДетали.РегистраторСсылка; Оценки.ПреподавательКр = ВыборкаДетали.Преподаватель.КраткоеНаименование; Оценки.Дисциплина = ВыборкаДетали.Преподаватель; Оценки.Дисциплина = ВыборкаДетали.Дисциплина; Оценки.Оценка = ВыборкаДетали.Оценка; КонецЕсли; КонецЦикла; //ДеревоГруппы.ВыбратьСтроку(); ДеревоГруппы.Строки.Сортировать("ФИО Возр, ДисциплинаКр Возр",Истина); ОбластьЗаголовок = МакетСводная.ПолучитьОбласть("Заголовок"); ОбластьЗаголовок.Параметры.УчГод = Константы.УчебныйГод.Получить(); ОбластьЗаголовок.Параметры.Группа = Группа; ОбластьЗаголовок.Параметры.Семестр = Семестр; ОбластьЗаголовок.Параметры.Курс = Прав(Группа.Родитель,1); ОбластьШапка = МакетСводная.ПолучитьОбласть("Шапка"); ОбластьСтрока = МакетСводная.ПолучитьОбласть("Строка"); ОбластьСтрока1 = МакетСводная.ПолучитьОбласть("Строка1"); ТабДок.Очистить(); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.НачатьАвтогруппировкуСтрок(); ТаблДисциплин = Новый ТаблицаЗначений; ТаблДисциплин.Колонки.Добавить("Дисц"); Для каждого Строка из ДеревоГруппы.Строки Цикл к = 0; Для Каждого Стр из Строка.Строки Цикл ОбластьШапка.Параметры[к] = Стр.ДисциплинаКр; к=к+1; ТД = ТаблДисциплин.Добавить(); ТД.Дисц = Стр.ДисциплинаКр; КонецЦикла; //ВсегоДисциплин = к; КонецЦикла; ТабДок.Вывести(ОбластьШапка); НомерПП = 0; ТаблПреподаватели = Новый ТаблицаЗначений; ТаблПреподаватели.Колонки.Добавить("П"); Для каждого Строка из ДеревоГруппы.Строки Цикл к = 0; Для Каждого Стр из Строка.Строки Цикл ОбластьСтрока1.Параметры[к] = Стр.ПреподавательКр; к=к+1; ТД = ТаблПреподаватели.Добавить(); ТД.П = Стр.ПреподавательКр; КонецЦикла; //ВсегоДисциплин = к; КонецЦикла; ТабДок.Вывести(ОбластьСтрока1); НомерПП = 0; Для каждого Строка из ДеревоГруппы.Строки Цикл СемРейтинг = 0; КолДисцРейтинг = 0; ВсегоДисциплин = 0; НаСредНО = 0; Стипендия = 1; НаСтипендию = 0; КолДисцСтипендия = 0; НомерПП =НомерПП + 1; к = 0; ОбластьСтрока.Параметры[к] = НомерПП; к=к+1; ОбластьСтрока.Параметры[к] = Строка.ФИО; Зачеты =""; Экзамены = ""; ТаблСессия = Новый ТаблицаЗначений; КЧ = Новый КвалификаторыЧисла(10,0); Массив = Новый Массив; Массив.Добавить(Тип("Число")); ОписаниеТиповЧ = Новый ОписаниеТипов(Массив, , ,КЧ); ТаблСессия.Колонки.Добавить("Пять",ОписаниеТиповЧ); ТаблСессия.Колонки.Добавить("Четыре",ОписаниеТиповЧ); ТаблСессия.Колонки.Добавить("Три",ОписаниеТиповЧ); ТаблСессия.Колонки.Добавить("Два",ОписаниеТиповЧ); ТаблСессия.Колонки.Добавить("Зачет",ОписаниеТиповЧ); Для Каждого Стр из Строка.Строки Цикл СемРейтинг = СемРейтинг + Стр.Оценка; ОбластьСтрока.Параметры[12] = ""; к=к+1; ОбластьСтрока.Параметры[к] = Стр.Оценка; СтрокаСессии = ТаблСессия.Добавить(); КонецЦикла; ТабДок.Вывести(ОбластьСтрока); //ТаблСессия.ВыбратьСтроку(); КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); //}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ КонецПроцедуры |
|||
1
D_E_S_131
01.04.15
✎
20:46
|
Без фото разгребать этот код сил нет.
|
|||
2
Ket9346
01.04.15
✎
20:50
|
||||
3
Ket9346
01.04.15
✎
20:54
|
||||
4
D_E_S_131
01.04.15
✎
20:56
|
||||
5
D_E_S_131
01.04.15
✎
20:58
|
И это (а то вдруг с логикой не очень)
http://www.forum.mista.ru/users_photo.php?id=86378 |
|||
6
Ket9346
01.04.15
✎
20:59
|
а чем так не устраивает ?
|
|||
7
D_E_S_131
01.04.15
✎
21:01
|
(6) Да вообще ничем (если конечно Вы не таблица).
|
|||
8
yavasya
01.04.15
✎
21:04
|
(6) с фото помогается лучше
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |