helpf.pro
Регистрация

Отчёт

SOBOLEV
27.10.2010 08:19Прочитано: 1145
Код 1C v 8.х
 Функция ЗапросОценки (Студент, Предмет)
Запрос = Новый Запрос;


Запрос.Текст = "ВЫБРАТЬ
| ЭкзаменационнаяВедомостьСрезПоследних.Результат,
| ЭкзаменационнаяВедомостьСрезПоследних.Студент,
| ЭкзаменационнаяВедомостьСрезПоследних.Дисциплина
|ИЗ
| РегистрСведений.ЭкзаменационнаяВедомость.СрезПоследних(&Дата, ) КАК ЭкзаменационнаяВедомостьСрезПоследних
|ГДЕ
| ЭкзаменационнаяВедомостьСрезПоследних.Студент = &студент
| И ЭкзаменационнаяВедомостьСрезПоследних.Дисциплина =&Дисциплина";

Запрос.УстановитьПараметр("Дата",Дата);
Запрос.УстановитьПараметр("Дисциплина",Предмет);
Запрос.УстановитьПараметр("Семестр",Семестр);
Запрос.УстановитьПараметр("студент",Студент);

Результат = Запрос.Выполнить().Выгрузить();
Возврат результат[0].Результат;

КонецФункции


Процедура КнопкаСформироватьНажатие(Кнопка)
// Вставить содержимое обработчика.

если ПустаяСтрока(Дата)= истина тогда
Сообщить("Не заполнена дата");
возврат;
КонецЕсли;

если ПустаяСтрока(Группа)= истина тогда
Сообщить("Не заполнена Группа");
возврат;
КонецЕсли;

если ПустаяСтрока(Семестр)= истина тогда
Сообщить("Не заполнена Семестр");
возврат;
КонецЕсли;

//Запрос на Экзамены
Запрос = Новый Запрос;
Запрос.Текст ="ВЫБРАТЬ РАЗЛИЧНЫЕ
| УчебныйПланСрезПоследних.Дисциплины
|ИЗ
| РегистрСведений.УчебныйПлан.СрезПоследних(&Дата, ) КАК УчебныйПланСрезПоследних
|ГДЕ
| УчебныйПланСрезПоследних.Группа = &Группа
| И УчебныйПланСрезПоследних.Семестр = &Семестр
| И УчебныйПланСрезПоследних.ВидАтестации = &ВидАтестации";

Запрос.УстановитьПараметр("Дата",Дата);
Запрос.УстановитьПараметр("Группа",Группа);
Запрос.УстановитьПараметр("Семестр",Семестр);
Запрос.УстановитьПараметр("ВидАтестации",Перечисления.Аттестация.Экзамен);
Экзамены=Запрос.Выполнить().Выгрузить();
Экзамены.Сортировать("Дисциплины Возр",);

//Запрос на Зачеты
Запрос = Новый Запрос;
Запрос.Текст ="ВЫБРАТЬ РАЗЛИЧНЫЕ
| УчебныйПланСрезПоследних.Дисциплины
|ИЗ
| РегистрСведений.УчебныйПлан.СрезПоследних(&Дата, ) КАК УчебныйПланСрезПоследних
|ГДЕ
| УчебныйПланСрезПоследних.Группа = &Группа
| И УчебныйПланСрезПоследних.Семестр = &Семестр
| И УчебныйПланСрезПоследних.ВидАтестации = &ВидАтестации";

Запрос.УстановитьПараметр("Дата",Дата);
Запрос.УстановитьПараметр("Группа",Группа);
Запрос.УстановитьПараметр("Семестр",Семестр);
Запрос.УстановитьПараметр("ВидАтестации",Перечисления.Аттестация.Зачёт);
Зачеты=Запрос.Выполнить().Выгрузить();
//Запрос на курсовую
// Запрос = Новый Запрос;
// Запрос.Текст ="ВЫБРАТЬ РАЗЛИЧНЫЕ
// | УчебныйПланСрезПоследних.Дисциплины
// |ИЗ
// | РегистрСведений.УчебныйПлан.СрезПоследних(&Дата, ) КАК УчебныйПланСрезПоследних
// |ГДЕ
// | УчебныйПланСрезПоследних.Группа = &Группа
// | И УчебныйПланСрезПоследних.Семестр = &Семестр
// | И УчебныйПланСрезПоследних.ВидАтестации = &ВидАтестации";
//Запрос.УстановитьПараметр("Дата",Дата);
//Запрос.УстановитьПараметр("Группа",Группа);
//Запрос.УстановитьПараметр("Семестр",Семестр);
//Запрос.УстановитьПараметр("ВидАтестации",Перечисления.Аттестация.Зачёт);
//Предмет=Запрос.Выполнить().Выгрузить();
//




Макет = ПолучитьМакет("ИтогиСессии");
ТабДок = Новый ТабличныйДокумент;
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьШапка.Параметры.Семестр = Семестр;
ОбластьШапка.Параметры.Группа = Группа;


Попытка
ОбластьШапка.Параметры.Экзамен1 =Экзамены[0].Дисциплины;
ОбластьШапка.Параметры.Экзамен2 =Экзамены[1].Дисциплины;
ОбластьШапка.Параметры.Экзамен3 =Экзамены[2].Дисциплины;
ОбластьШапка.Параметры.Экзамен4 =Экзамены[3].Дисциплины;
ОбластьШапка.Параметры.Экзамен5 =Экзамены[4].Дисциплины;
Исключение
КонецПопытки;

Попытка
ОбластьШапка.Параметры.Зачет1 =Зачеты[0].Дисциплины;
ОбластьШапка.Параметры.Зачет2 =Зачеты[1].Дисциплины;
ОбластьШапка.Параметры.Зачет3 =Зачеты[2].Дисциплины;
ОбластьШапка.Параметры.Зачет4 =Зачеты[3].Дисциплины;
ОбластьШапка.Параметры.Зачет5 =Зачеты[4].Дисциплины;
Исключение
КонецПопытки;
//Попытка
//ОбластьШапка.Параметры.Предмет1 =Предмет[0].Дисциплины;
//ОбластьШапка.Параметры.Предмет2 =Предмет[1].Дисциплины;
//ОбластьШапка.Параметры.Предмет3 =Предмет[2].Дисциплины;
//Исключение
//КонецПопытки;


ТабДок.Вывести(ОбластьШапка);


ОбластьСтудент = Макет.ПолучитьОбласть("Студент");

Выборка = Справочники.Студенты.Выбрать();
пп = 0;


Пока Выборка.Следующий() Цикл
Выборка2 = выборка.ПолучитьОбъект();
если выборка2.ЗачислениеГруппа.Ссылка = Группа Тогда



ОбластьСтудент.Параметры.Студент = Выборка2.Наименование;
пп = пп+1;
ОбластьСтудент.Параметры.пп = пп;


попытка ОбластьСтудент.Параметры.РезЭкз1 = ЗапросОценки(выборка2.Ссылка, Экзамены[0].Дисциплины)исключение конецПопытки;
попытка ОбластьСтудент.Параметры.РезЭкз2 = ЗапросОценки(выборка2.Ссылка, Экзамены[1].Дисциплины)исключение конецПопытки;
попытка ОбластьСтудент.Параметры.РезЭкз3 = ЗапросОценки(выборка2.Ссылка, Экзамены[2].Дисциплины)исключение конецПопытки;
попытка ОбластьСтудент.Параметры.РезЭкз4 = ЗапросОценки(выборка2.Ссылка, Экзамены[3].Дисциплины)исключение конецПопытки;
попытка ОбластьСтудент.Параметры.РезЭкз5 = ЗапросОценки(выборка2.Ссылка, Экзамены[4].Дисциплины)исключение конецПопытки;

попытка ОбластьСтудент.Параметры.РезЗач1 = ЗапросОценки(выборка2.Ссылка, Зачеты[0].Дисциплины)исключение конецПопытки;
попытка ОбластьСтудент.Параметры.РезЗач2 = ЗапросОценки(выборка2.Ссылка, Зачеты[1].Дисциплины)исключение конецПопытки;
попытка ОбластьСтудент.Параметры.РезЗач3 = ЗапросОценки(выборка2.Ссылка, Зачеты[2].Дисциплины)исключение конецПопытки;
попытка ОбластьСтудент.Параметры.РезЗач4 = ЗапросОценки(выборка2.Ссылка, Зачеты[3].Дисциплины)исключение конецПопытки;
попытка ОбластьСтудент.Параметры.РезЗач5 = ЗапросОценки(выборка2.Ссылка, Зачеты[4].Дисциплины)исключение конецПопытки;

//попытка ОбластьСтудент.Параметры.РезКурс1 = ЗапросОценки(выборка2.Ссылка, Предмет[0].Дисциплины)исключение конецПопытки;
//попытка ОбластьСтудент.Параметры.РезКурс2 = ЗапросОценки(выборка2.Ссылка, Предмет[1].Дисциплины)исключение конецПопытки;
//попытка ОбластьСтудент.Параметры.РезКурс3 = ЗапросОценки(выборка2.Ссылка, Предмет[2].Дисциплины)исключение конецПопытки;



ТабДок.Вывести(ОбластьСтудент);
КонецЕсли;
Конеццикла;



//Запрос на оценки




ТабДок.Показать();
КонецПроцедуры

//Дата = '20100901';
//Семестр = Справочники.Семестр.НайтиПоНаименованию("10");
//Группа = Справочники.Группы.НайтиПоНаименованию("ЭП-09");


Доброе утро у меня вот какой вопрос вот это у меня отчёт он берёт из регистра сведений зачёты и экзамены и заполняет макет в шапке выдаёт предметы слева студентов и их результаты хотел вставить туда ещё результаты курсовой но что то не получается вместо курсавых выдаёт зачёты. всё что вставил за ремил наверно гдето там ошибка+)
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
27.10.2010 09:31Ответ № 1
В запросе на курсовую у тебя стоит параметра зачет:
Код 1C v 8.х
 //Запрос.УстановитьПараметр("ВидАтестации",Перечисления.Аттестация.Зачёт);   

Укажи курсовую!
SOBOLEV
28.10.2010 11:01Ответ № 2
Функция ЗапросОценки (Студент, Предмет)
Запрос = Новый Запрос;


Запрос.Текст = "ВЫБРАТЬ
| ЭкзаменационнаяВедомостьСрезПоследних.Результат,
| ЭкзаменационнаяВедомостьСрезПоследних.Студент,
| ЭкзаменационнаяВедомостьСрезПоследних.Дисциплина
|ИЗ
| РегистрСведений.ЭкзаменационнаяВедомость.СрезПоследних(&Дата, ) КАК ЭкзаменационнаяВедомостьСрезПоследних
|ГДЕ
| ЭкзаменационнаяВедомостьСрезПоследних.Студент = &студент
| И ЭкзаменационнаяВедомостьСрезПоследних.Дисциплина =&Дисциплина";

Запрос.УстановитьПараметр("Дата",Дата);
Запрос.УстановитьПараметр("Дисциплина",Предмет);
Запрос.УстановитьПараметр("Семестр",Семестр);
Запрос.УстановитьПараметр("студент",Студент);

Результат = Запрос.Выполнить().Выгрузить();
Возврат результат[0].Результат;

КонецФункции


Процедура КнопкаСформироватьНажатие(Кнопка)
// Вставить содержимое обработчика.

если ПустаяСтрока(Дата)= истина тогда
Сообщить("Не заполнена дата");
возврат;
КонецЕсли;

если ПустаяСтрока(Группа)= истина тогда
Сообщить("Не заполнена Группа");
возврат;
КонецЕсли;

если ПустаяСтрока(Семестр)= истина тогда
Сообщить("Не заполнена Семестр");
возврат;
КонецЕсли;


//Запрос на Экзамены
Запрос = Новый Запрос;
Запрос.Текст ="ВЫБРАТЬ РАЗЛИЧНЫЕ
| УчебныйПланСрезПоследних.Дисциплины
|ИЗ
| РегистрСведений.УчебныйПлан.СрезПоследних(&Дата, ) КАК УчебныйПланСрезПоследних
|ГДЕ
| УчебныйПланСрезПоследних.Группа = &Группа
| И УчебныйПланСрезПоследних.Семестр = &Семестр
| И УчебныйПланСрезПоследних.ВидАтестации = &ВидАтестации";

Запрос.УстановитьПараметр("Дата",Дата);
Запрос.УстановитьПараметр("Группа",Группа);
Запрос.УстановитьПараметр("Семестр",Семестр);
Запрос.УстановитьПараметр("ВидАтестации",Перечисления.Аттестация.Экзамен);
Экзамены=Запрос.Выполнить().Выгрузить();
Экзамены.Сортировать("Дисциплины Возр",);

//Запрос на Зачеты
Запрос = Новый Запрос;
Запрос.Текст ="ВЫБРАТЬ РАЗЛИЧНЫЕ
| УчебныйПланСрезПоследних.Дисциплины
|ИЗ
| РегистрСведений.УчебныйПлан.СрезПоследних(&Дата, ) КАК УчебныйПланСрезПоследних
|ГДЕ
| УчебныйПланСрезПоследних.Группа = &Группа
| И УчебныйПланСрезПоследних.Семестр = &Семестр
| И УчебныйПланСрезПоследних.ВидАтестации = &ВидАтестации";

Запрос.УстановитьПараметр("Дата",Дата);
Запрос.УстановитьПараметр("Группа",Группа);
Запрос.УстановитьПараметр("Семестр",Семестр);
Запрос.УстановитьПараметр("ВидАтестации",Перечисления.Аттестация.Зачёт);
Зачеты=Запрос.Выполнить().Выгрузить();
//Запрос на курсовую
Запрос = Новый Запрос;
Запрос.Текст ="ВЫБРАТЬ
| ЭкзаменационнаяВедомостьСрезПоследних.Дисциплина,
| ЭкзаменационнаяВедомостьСрезПоследних.Результат,
| ЭкзаменационнаяВедомостьСрезПоследних.КурсоваяРабота,
| УчебныйПлан.Группа,
| УчебныйПлан.Семестр,
| ЭкзаменационнаяВедомостьСрезПоследних.Студент,
| УчебныйПлан.ВидАтестации
|ИЗ
| РегистрСведений.УчебныйПлан КАК УчебныйПлан
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЭкзаменационнаяВедомость.СрезПоследних(&Дата, ) КАК ЭкзаменационнаяВедомостьСрезПоследних
| ПО УчебныйПлан.Дисциплины = ЭкзаменационнаяВедомостьСрезПоследних.Дисциплина
|ГДЕ
| УчебныйПлан.Группа = &Группа
| И УчебныйПлан.Семестр = &Семестр
| И ЭкзаменационнаяВедомостьСрезПоследних.КурсоваяРабота = ИСТИНА
| И ЭкзаменационнаяВедомостьСрезПоследних.Результат В(&Результат)";
Запрос.УстановитьПараметр("Дата",Дата);
Запрос.УстановитьПараметр("Группа",Группа);
Запрос.УстановитьПараметр("Семестр",Семестр);
Запрос.УстановитьПараметр("Результат",Перечисления.Аттестация.Экзамен);
Экзамен=Запрос.Выполнить().Выгрузить();





Макет = ПолучитьМакет("ИтогиСессии");
ТабДок = Новый ТабличныйДокумент;
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьШапка.Параметры.Семестр = Семестр;
ОбластьШапка.Параметры.Группа = Группа;


Попытка
ОбластьШапка.Параметры.Экзамен1 =Экзамены[0].Дисциплины;
ОбластьШапка.Параметры.Экзамен2 =Экзамены[1].Дисциплины;
ОбластьШапка.Параметры.Экзамен3 =Экзамены[2].Дисциплины;
ОбластьШапка.Параметры.Экзамен4 =Экзамены[3].Дисциплины;
ОбластьШапка.Параметры.Экзамен5 =Экзамены[4].Дисциплины;
Исключение
КонецПопытки;

Попытка
ОбластьШапка.Параметры.Зачет1 =Зачеты[0].Дисциплины;
ОбластьШапка.Параметры.Зачет2 =Зачеты[1].Дисциплины;
ОбластьШапка.Параметры.Зачет3 =Зачеты[2].Дисциплины;
ОбластьШапка.Параметры.Зачет4 =Зачеты[3].Дисциплины;
ОбластьШапка.Параметры.Зачет5 =Зачеты[4].Дисциплины;
Исключение
КонецПопытки;
Попытка
ОбластьШапка.Параметры.Предмет1 =Курсовые[0].Дисциплины;
ОбластьШапка.Параметры.Предмет2 =Курсовые[1].Дисциплины;
ОбластьШапка.Параметры.Предмет3 =Курсовые[2].Дисциплины;
Исключение
КонецПопытки;


ТабДок.Вывести(ОбластьШапка);


ОбластьСтудент = Макет.ПолучитьОбласть("Студент");

Выборка = Справочники.Студенты.Выбрать();
пп = 0;


Пока Выборка.Следующий() Цикл
Выборка2 = выборка.ПолучитьОбъект();
если выборка2.ЗачислениеГруппа.Ссылка = Группа Тогда



ОбластьСтудент.Параметры.Студент = Выборка2.Наименование;
пп = пп+1;
ОбластьСтудент.Параметры.пп = пп;


попытка ОбластьСтудент.Параметры.РезЭкз1 = ЗапросОценки(выборка2.Ссылка, Экзамены[0].Дисциплины)исключение конецПопытки;
попытка ОбластьСтудент.Параметры.РезЭкз2 = ЗапросОценки(выборка2.Ссылка, Экзамены[1].Дисциплины)исключение конецПопытки;
попытка ОбластьСтудент.Параметры.РезЭкз3 = ЗапросОценки(выборка2.Ссылка, Экзамены[2].Дисциплины)исключение конецПопытки;
попытка ОбластьСтудент.Параметры.РезЭкз4 = ЗапросОценки(выборка2.Ссылка, Экзамены[3].Дисциплины)исключение конецПопытки;
попытка ОбластьСтудент.Параметры.РезЭкз5 = ЗапросОценки(выборка2.Ссылка, Экзамены[4].Дисциплины)исключение конецПопытки;

попытка ОбластьСтудент.Параметры.РезЗач1 = ЗапросОценки(выборка2.Ссылка, Зачеты[0].Дисциплины)исключение конецПопытки;
попытка ОбластьСтудент.Параметры.РезЗач2 = ЗапросОценки(выборка2.Ссылка, Зачеты[1].Дисциплины)исключение конецПопытки;
попытка ОбластьСтудент.Параметры.РезЗач3 = ЗапросОценки(выборка2.Ссылка, Зачеты[2].Дисциплины)исключение конецПопытки;
попытка ОбластьСтудент.Параметры.РезЗач4 = ЗапросОценки(выборка2.Ссылка, Зачеты[3].Дисциплины)исключение конецПопытки;
попытка ОбластьСтудент.Параметры.РезЗач5 = ЗапросОценки(выборка2.Ссылка, Зачеты[4].Дисциплины)исключение конецПопытки;

попытка ОбластьСтудент.Параметры.РезКурс1 = ЗапросОценки(выборка2.Ссылка,Курсовые[0].Дисциплины)исключение конецПопытки;
попытка ОбластьСтудент.Параметры.РезКурс2 = ЗапросОценки(выборка2.Ссылка,Курсовые[1].Дисциплины)исключение конецПопытки;
попытка ОбластьСтудент.Параметры.РезКурс2 = ЗапросОценки(выборка2.Ссылка,Курсовые[2].Дисциплины)исключение конецПопытки;




ТабДок.Вывести(ОбластьСтудент);
КонецЕсли;
Конеццикла;



//Запрос на оценки




ТабДок.Показать();
КонецПроцедуры

Код 1C v 8.х
    


в том месте мыже выбераем вид атестации =)
вобщем там ладно у меня вот другой вопрос мне выдаёт такую ошибку
Отчет.ИтогиСсесси.Форма.ФормаОтчета(133,34)}: Переменная не определена (Курсовые)
ОбластьШапка.Параметры.Предмет1 =<<?>>Курсовые[0].Дисциплины;
но в макете в шаблоне есть поле курсовые вчём причина???
SOBOLEV
28.10.2010 11:34Ответ № 3
Вопрос закрыт!
Подсказка: Вы можете приложить к ответу файл или изображение щелкнув по значку или в редакторе.
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.