Создание автоматизированной информационно-справочной системы учета личных дел студентов в деканате
1. Введение
Система программ "1С: Предприятие" предназначена для решения широкого спектра задач автоматизации учета и управления, стоящих перед динамично развивающимися современными предприятиями.
Задача, которая ставится перед системой - смоделировать технологию накопления и обработки информации об учёте личных дел студентов в деканате. Основной целью функционирования любой информационной системы является выходная справочная информация. Для этого:
определяем объекты предметной области, описывающие атрибуты;
создаём "нормальную форму", которая приводит к нормализации всех полученных отношений;
составляем полный перечень всех запросов к БД;
определяем структурные связи;
построение схемы объекта.
Использование БД и СУБД при построении автоматизированной информационной системы отделяет логическую структуру данных (т.е. представлении об организации данных с точки зрения пользователя) от физической структуры данных в памяти ЭВМ, что значительно облегчает труд по созданию такой системы.
БД - совокупность данных, обладающих следующими свойствами:
·Интегрированность, направленной на решение общей задачи;
·Структурированность;
·Взаимосвязанность;
·Независимостью описания данных от прикладных программ.
Под СУБД понимают пакет прикладных программ обслуживания БД, которая:
·Обеспечивает пользователей языковыми средствами описания манипулирования данных;
·Обеспечивает поддержку логической модели данных (т.е. логического представления физических данных);
·Выполнение операции создания и манипулирования логических данных, а также обрабатывает и отображает операции над физическими данными;
·Обеспечивает защиту целостности и корректности данных.
Преимуществом использования БД и СУБД при построении информационных систем заключается в централизованном управлении информационными ресурсами всей системы. Достоинством является возможность однократно ввода данных и многократного использования, а также отсутствия проблемы контроля избыточности данных вследствие интеграции данных. Унификация средств организации данных и независимость прикладных программ значительно повышает эффективность труда.
Функциональные возможности прикладного решения отражают различные виды получаемой информации. Программный продукт позволяет составлять личные дела студентов в деканате (далее деканат): личные данные, сведения о поступлении, характеристики студента и т.д.; вести учет ведомости, переводить студентов из одной группы в другую, вести архив студентов, когда-либо ходивших в данную группу.
2. Описание системы
Рассмотрим задачи, которые должна выполнять проектируемая информационно-справочная система и некоторые их особенности.
Основное предназначение данной информационно-справочной системы - вести учет студентов в деканате, переводя их с курса на курс. При этом система предоставляет такие функции как:
·Зачисление
·Отчисление
·Начисление стипендии
В базе данных хранится информация о студентах (ФИО, дата рождения, номер зачетной книжки, номер телефона), так же курс, группа, специальность каждого студента, информация о лицах ответственных за какое-либо событие (например экзаменаторы ответственны за сдачу экзамена или зачета, декан - за зачисление, и т.д.)
Также база предусматривает хранение списков отчисленных студентов, зачисленных и учащихся в данный период времени.
2.1 Нормализация (построение структуры)
Проектирование начинается с обследования предметной области автоматизации, где выясняется её границы, фрагменты, возможности изменения и развития. Затем на основании полученных сведений моделируется технология накопления и обработки информации в системе. После переходят к определению объектов предметной области и для каждого из них строят перечень описывающих его атрибутов.
В результате подробного анализа для каждого атрибута выясняется его тип (цифровой, символьный, логический или тип дата), длина и диапазон допустимых значений, процент наличия значений атрибутов экземпляров отношения, частота его использования и вычислимость его значений из другой информации.
По своему функциональному назначению информацию в базе данных можно разделить на три основные группы:
.Нормативно-справочная информация (НСИ)
2.Оперативная информация (ОИ)
.Выходная справочная информация (ВСИ)
НСИ помимо сведений о внешнем кодировании обычно содержит основные неизменяемые параметры описываемых объектов.
ОИ формируется из текущих сведений об объектах и происходящих в них процессах. Она часто пополняется, обновляется и имеет большой процент ежемесячного прироста. Дополнительно процедурам пополнения и обновления этой информации предъявляются повышенные требования по эргономичности реализованного в них интерфейса пользователя.
ВСИ - это основная цель функционирования любой информационной системы. Обычно она вычисляется на основе нормативно-справочной и оперативной информации и в файлах базы данных не хранится.
После определения объектов и их атрибутов в каждом отношении выделяют первичный ключ и проводят нормализацию всех полученных отношений до пятой нормальной формы.
Процесс проектирования завершается построением схемы проекта с указанием всех объектов и связей между ними, затем проводят проверку корректности и полноты полученного проекта для обеспечения возможности выполнения всех запросов к базе данных.
Проиллюстрируем создание информационно - справочной системы учёта студентов в деканате.
Зачисление (номер, дата, ФИО, курс, группа, семестр, предмет, баллы по Егэ). Она находится в 1НФ отношении, так как все отношения атамарны. Ключи - дата, курс, группа.
Рассмотрим наблюдающиеся в этом отношении функциональные зависимости: Курс - Студент, Группа - Студент.
Такая частичная функциональная зависимость может привести к аномалии, следовательно, она требует доработки.
Приведем это отношение ко 2НФ, при этом получаем отношения:
Группа (Наименование), Курс (Наименование) и Студент (ФИО, дата зачисления, предмет, баллы по Егэ).
В полученном отношении поставка имеется транзитивная функциональная зависимость: студент->Количество студентов в группе - > Количество на курсе.
Далее рассмотрим зависимость ключей от неключевых атрибутов. Этих зависимостей в полученных отношениях не наблюдается, значит они находятся в НФБК.
Для приведения к 4НФ разобьем его на две следующие проекции:
В Группе (Наименование, студенты на курсе)
На Курсе (Наименование Группы, студенты в группе)
Эти отношения без потерь могут быть восстановлены в исходное операцией соединения по атрибуту номер, значит такое разбиение удовлетворяет требованиям зависимости по соединению, а, следовательно, полученные отношения находятся в 5НФ.:
Курс (Наименование курса, студенты на курсе), Группа (Наименование Группы, студенты в группе) и Студент (ФИО, предмет, баллы по Егэ)
2.2 Структура меню
В главном меню пользователю предоставляется возможность выбирать следующие пункты меню и пункты подменю:
Константы:
·Декан
·Секретарь
Справочники:
·Студенты
·Сотрудники
·Преподаватели
·Абитуриенты
·Форма обучения
Документы:
·Доп часы
·Начисление стипендии
·Зачисление
·Отчисление
·Учащиеся
·Ведомость студента
Журналы:
·Студенты
·Стипендия
·Доп часы
Перечисления:
·Группа
·Курс
·Специальность
·Должность
·Ученая степень
·Предмет
·Оценка
·Семестр
·Тип сдачи
·Стипендия
Отчеты:
·Ведомость
·Доп часы
·Стипендия
·Студенты
·Универсальный
·Цена предмета
·Рейтинг студентов
Регистр сведений:
·Цена предмета
·Степень
·Ведомость
·Начисление
Регистр накопления:
·Студенты
·Стипендия
2.3 Построение программного продукта
Для создания новой конфигурации надо проделать следующую последовательность действий:
·Зарегистрировать информационную базу;
·Установить свойства конфигурации;
·Создать объекты метаданных;
·Описать пользовательские интерфейсы;
·Описать права пользователей;
·Сохранить и редактировать конфигурацию.
В начале работы с конфигурацией её необходимо переименовать и задать сведения об авторе.
Константы
В системе 1С: Предприятие константы предназначены для хранения постоянной или условно-постоянной информации. Такая информация либо совсем не изменяется в процессе деятельности предприятия, либо изменяется достаточно редко. Поэтому при создании информационно - справочной системы учёта выдачи книг в библиотеке Я посчитала необходимым создать следующие константы:
Форма констант
Перечисления
Перечисление представляет собой служебный тип данных, который не используется самостоятельно, а применяется, в основном, в совокупности с другими типами данных. Перечисления используются при вводе значений реквизитов документов, справочников, при вводе значений констант, и тех случаях, когда необходимо исключить неоднозначный ввод информации. В данной работе я создала следующие типы перечислений:
Справочники
Теперь переходим к созданию новых типов справочников. Справочник является списком возможных значений того или иного реквизита документа. Система 1С: Предприятие позволяет вести практически неограниченное количество необходимых справочников.
Каждый справочник представляет собой список однородных объектов: сотрудников, организаций, товаров и т.д. Каждый такой объект будем называть элементом справочника.
В качестве обязательных реквизитов каждый справочник имеет код и наименование.
Код элемента справочника может быть как числовым, так и текстовым. В данной работе я создала следующие справочники:
меню пользователь структура деканат
1. Студенты
Форма списка:
Создаём печатную форму и в модуле формы списка пишем следующий код:
Процедура ПечатьСтудентов (Элемент)
// {{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК (ПечатьСтудентов)
// Данный фрагмент построен конструктором.
Макет = Справочники. Студенты. ПолучитьМакет ("ПечатьСтудентов");
// Заголовок
Область = Макет. ПолучитьОбласть ("Заголовок");
ТабДок. Вывести (Область);
// Шапка
Область = Макет. ПолучитьОбласть ("Шапка");
ТабДок. Вывести (Область);
Выборка = Справочники. Студенты. ВыбратьИерархически ();
Пока Выборка. Следующий () = Истина Цикл
Объект = Выборка. ПолучитьОбъект ();
Если Объект. ЭтоГруппа = Истина Тогда
Область = Макет. ПолучитьОбласть ("Группа");
Область. Параметры. Код = Объект. Код;
Область. Параметры. Наименование = Объект. Наименование;
ТабДок. Вывести (Область);
Иначе
Область = Макет. ПолучитьОбласть ("Элемент");
Область. Параметры. Код = Объект. Код;
Область. Параметры. Наименование = Объект. Наименование;
Область. Параметры. Фамилия = Объект. Фамилия;
Область. Параметры. Имя = Объект. Имя;
Область. Параметры. Отчество = Объект. Отчество;
Область. Параметры. Курс = Объект. Курс;
Область. Параметры. Группа = Объект. Группа;
Область. Параметры. Специальность = Объект. Специальность;
Область. Параметры. ДатаРождения = Объект. ДатаРождения;
Область. Параметры. Курс = Объект. Курс;
Область. Параметры. Ссылка = Объект. Ссылка;
ТабДок. Вывести (Область);
КонецЕсли;
КонецЦикла;
ТабДок. ОтображатьСетку = Ложь;
ТабДок. Защита = Истина;
ТабДок. ТолькоПросмотр = Истина;
ТабДок. ОтображатьЗаголовки = Ложь;
ТабДок. Показать ();
// }}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК
КонецПроцедуры
Печатная форма студентов:
Создаём печатную форму и в модуле формы списка пишем следующий код:
Процедура ПечатьОбучение (Элемент)
// {{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК (ПечатьОбучение)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
ТабДок = Новый ТабличныйДокумент;
Макет = Справочники. Студенты. ПолучитьМакет ("ПечатьОбучение");
// Заголовок
Область = Макет. ПолучитьОбласть ("Заголовок");
ТабДок. Вывести (Область);
// Шапка
Область = Макет. ПолучитьОбласть ("Шапка");
ТабДок. Вывести (Область);
Выборка = Справочники. Студенты. ВыбратьИерархически ();
Пока Выборка. Следующий () = Истина Цикл
Объект = Выборка. ПолучитьОбъект ();
Если Объект. ЭтоГруппа = Истина Тогда
Область = Макет. ПолучитьОбласть ("Группа");
Область. Параметры. Код = Объект. Код;
Область. Параметры. Наименование = Объект. Наименование;
ТабДок. Вывести (Область);
Иначе
Область = Макет. ПолучитьОбласть ("Элемент");
Область. Параметры. Код = Объект. Код;
Область. Параметры. Наименование = Объект. Наименование;
Область. Параметры. Фамилия = Объект. Фамилия;
Область. Параметры. Имя = Объект. Имя;
Область. Параметры. Отчество = Объект. Отчество;
Область. Параметры. Курс = Объект. Курс;
Область. Параметры. Группа = Объект. Группа;
Область. Параметры. Специальность = Объект. Специальность;
Область. Параметры. ДатаРождения = Объект. ДатаРождения;
Область. Параметры. Курс = Объект. Курс;
Область. Параметры. Ссылка = Объект. Ссылка;
СсылкаД = Объект. Ссылка;
ВыборкаД = Справочники. ФормаОбучения. Выбрать (, СсылкаД,,);
ТабДок. Вывести (Область);
Пока ВыборкаД. Следующий () = Истина
Цикл
ОбъектД = ВыборкаД. ПолучитьОбъект ();
Область = Макет. ПолучитьОбласть ("Форма");
Область. Параметры. Код = ОбъектД. Код;
Область. Параметры. ФормаОбучения = ОбъектД. ФормаОбучения;
ТабДок. Вывести (Область);
КонецЦикла;
КонецЕсли;
КонецЦикла;
ТабДок. ОтображатьСетку = Ложь;
ТабДок. Защита = Истина;
ТабДок. ТолькоПросмотр = Истина;
ТабДок. ОтображатьЗаголовки = Ложь;
ТабДок. Показать ();
// }}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК
КонецПроцедуры
Печатная форма обучение:
. Сотрудники
Форма списка:
Создаём печатную форму и в модуле формы списка пишем следующий код:
Процедура ПечатьСотрудников (Элемент)
// {{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК (ПечатьСотрудников)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
ТабДок = Новый ТабличныйДокумент;
Макет = Справочники. Сотрудники. ПолучитьМакет ("ПечатьСотрудников");
// Заголовок
Область = Макет. ПолучитьОбласть ("Заголовок");
ТабДок. Вывести (Область);
// Шапка
Область = Макет. ПолучитьОбласть ("Шапка");
ТабДок. Вывести (Область);
Выборка = Справочники. Сотрудники. ВыбратьИерархически ();
Пока Выборка. Следующий () = Истина Цикл
Объект = Выборка. ПолучитьОбъект ();
Если Объект. ЭтоГруппа = Истина Тогда
Область = Макет. ПолучитьОбласть ("Группа");
Область. Параметры. Код = Объект. Код;
Область. Параметры. Наименование = Объект. Наименование;
ТабДок. Вывести (Область);
Иначе
Область = Макет. ПолучитьОбласть ("Элемент");
Область. Параметры. Код = Объект. Код;
Область. Параметры. Наименование = Объект. Наименование;
Область. Параметры. Фамилия = Объект. Фамилия;
Область. Параметры. Имя = Объект. Имя;
Область. Параметры. Отчество = Объект. Отчество;
Область. Параметры. Должность = Объект. Должность;
Область. Параметры. Телефон = Объект. Телефон;
Область. Параметры. Ссылка = Объект. Ссылка;
ТабДок. Вывести (Область);
КонецЕсли;
КонецЦикла;
ТабДок. ОтображатьСетку = Ложь;
ТабДок. Защита = Истина;
ТабДок. ТолькоПросмотр = Истина;
ТабДок. ОтображатьЗаголовки = Ложь;
ТабДок. Показать ();
// }}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК
КонецПроцедуры
. Преподаватели
Создаём печатную форму и в модуле формы списка пишем следующий код:
Процедура ПечатьПреподавателей (Элемент)
// {{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК (ПечатьПреподавателей)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
ТабДок = Новый ТабличныйДокумент;
Макет = Справочники. Преподаватели. ПолучитьМакет ("ПечатьПреподавателей");
// Заголовок
Область = Макет. ПолучитьОбласть ("Заголовок");
ТабДок. Вывести (Область);
// Шапка
Область = Макет. ПолучитьОбласть ("Шапка");
ТабДок. Вывести (Область);
Выборка = Справочники. Преподаватели. ВыбратьИерархически ();
Пока Выборка. Следующий () = Истина Цикл
Объект = Выборка. ПолучитьОбъект ();
Если Объект. ЭтоГруппа = Истина Тогда
Область = Макет. ПолучитьОбласть ("Группа");
Область. Параметры. Код = Объект. Код;
Область. Параметры. Наименование = Объект. Наименование;
ТабДок. Вывести (Область);
Иначе
Область = Макет. ПолучитьОбласть ("Элемент");
Область. Параметры. Код = Объект. Код;
Область. Параметры. Наименование = Объект. Наименование;
Область. Параметры. Фамилия = Объект. Фамилия;
Область. Параметры. Имя = Объект. Имя;
Область. Параметры. Отчество = Объект. Отчество;
Область. Параметры. УченаяСтепень = Объект. УченаяСтепень;
Область. Параметры. Предмет = Объект. Предмет;
Область. Параметры. Ссылка = Объект. Ссылка;
ТабДок. Вывести (Область);
КонецЕсли;
КонецЦикла;
ТабДок. ОтображатьСетку = Ложь;
ТабДок. Защита = Истина;
ТабДок. ТолькоПросмотр = Истина;
ТабДок. ОтображатьЗаголовки = Ложь;
ТабДок. Показать ();
// }}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК
КонецПроцедуры
. Абитуриенты
Создаём печатную форму и в модуле формы списка пишем следующий код:
Процедура ПечатьАбитуриента (Элемент)
// {{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК (ПечатьАбитуриента)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
ТабДок = Новый ТабличныйДокумент;
Макет = Справочники. Абитуриенты. ПолучитьМакет ("ПечатьАбитуриента");
// Заголовок
Область = Макет. ПолучитьОбласть ("Заголовок");
ТабДок. Вывести (Область);
// Шапка
Область = Макет. ПолучитьОбласть ("Шапка");
ТабДок. Вывести (Область);
Выборка = Справочники. Абитуриенты. ВыбратьИерархически ();
Пока Выборка. Следующий () = Истина Цикл
Объект = Выборка. ПолучитьОбъект ();
Если Объект. ЭтоГруппа = Истина Тогда
Область = Макет. ПолучитьОбласть ("Группа");
Область. Параметры. Код = Объект. Код;
Область. Параметры. Наименование = Объект. Наименование;
ТабДок. Вывести (Область);
Иначе
Область = Макет. ПолучитьОбласть ("Элемент");
Область. Параметры. Код = Объект. Код;
Область. Параметры. Наименование = Объект. Наименование;
Область. Параметры. Фамилия= Объект. Фамилия;
Область. Параметры. Имя = Объект. Имя;
Область. Параметры. ДатаРождения = Объект. ДатаРождения;
Область. Параметры. Отчество = Объект. Отчество;
Область. Параметры. Ссылка = Объект. Ссылка;
Область. Параметры. Город = Объект. Город;
Область. Параметры. КонтактныйНомер= Объект. КонтактныйНомер;
Область. Параметры. Специальность = Объект. Специальность;
ТабДок. Вывести (Область);
КонецЕсли;
КонецЦикла;
ТабДок. ОтображатьСетку = Ложь;
ТабДок. Защита = Истина;
ТабДок. ТолькоПросмотр = Истина;
ТабДок. ОтображатьЗаголовки = Ложь;
ТабДок. Показать ();
// }}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК
КонецПроцедуры
. Форма обучения
Документы
Теперь переходим к созданию новых типов документов. Документ - одно из основных понятий системы 1С: Предприятие. При помощи документов организуется ввод в систему информации о совершаемых хозяйственных действиях, ее просмотр и, если необходимо, корректировка.
Каждый документ содержит информацию о конкретной хозяйственной операции и характеризуется своим номером, датой и временем.
Дата и время - наиболее важные характеристики документов, так как позволяют устанавливать строгую временную последовательность совершения операций.
1. Доп. Часы
Создаём печатную форму и в модуле формы списка пишем следующий код:
Процедура УченаяСтепеньПриИзменении (Элемент)
Отбор=Новый Структура ("УченаяСтепень", УченаяСтепень);
Запись=РегистрыСведений. Степень. ПолучитьПоследнее (Дата, Отбор);
Цена=Запись. Стоимость;
КонецПроцедуры
Процедура НадписьУченаяСтепеньНажатие (Элемент)
ФормаСР=РегистрыСведений. Степень. ПолучитьФормуСписка (
, ЭтаФорма,"Док"+Номер);
ФормаСР. РегистрСведенийСписок. Отбор. УченаяСтепень. Значение=УченаяСтепень;
ФормаСР. РегистрСведенийСписок. Отбор. УченаяСтепень. Использование=Истина;
ФормаСР. ЗакрыватьПриЗакрытииВладельца=Истина;
Если Не ФормаСр. Открыта () тогда
ФормаСР. РазрешитьСостояниеПрячущееся=Истина;
ФормаСР. РазрешитьСостояниеПрикрепленное=Истина;
ФормаСР. РазрешитьСоединятьОкно=Истина;
КонецЕсли;
ФормаСР. Открыть ();
КонецПроцедуры
Процедура Печать (Элемент)
// {{_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ (Печать)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
ТабДок = Новый ТабличныйДокумент;
Макет = Документы. ДопЧасы. ПолучитьМакет ("Печать");
// Заголовок
Область = Макет. ПолучитьОбласть ("Заголовок");
ТабДок. Вывести (Область);
// Шапка
Шапка = Макет. ПолучитьОбласть ("Шапка");
Шапка. Параметры. Заполнить (ЭтотОбъект);
ТабДок. Вывести (Шапка);
ТабДок. ОтображатьСетку = Ложь;
ТабДок. Защита = Истина;
ТабДок. ТолькоПросмотр = Истина;
ТабДок. ОтображатьЗаголовки = Ложь;
ТабДок. Показать ();
// }}_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ
КонецПроцедуры
Печатная форма Доп Часы:
Процедура ОбработкаПроведения (Отказ, Режим)
// {{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
// регистр ЦенаПредмета
Движение = Движения. ЦенаПредмета. Добавить ();
Движение. Период = Дата;
Движение. ФИОСтудента = ФИОСтудента;
Движение. Предмет = Предмет;
Движение. УченаяСтепень = УченаяСтепень;
Движение. Преподаватель = Преподаватель;
Движение. Цена = Цена;
// }}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
. Начисление Стипендии
Создаём печатную форму и в модуле формы списка пишем следующий код:
Процедура СтипендияПриИзменении (Элемент)
Отбор=Новый Структура ("стипендия1", стипендия);
Запись=РегистрыСведений. начисление. ПолучитьПоследнее (Дата, Отбор);
сумма=Запись. сумма1;
КонецПроцедуры
Процедура Печать (Элемент)
// {{_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ (Печать)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
ТабДок = Новый ТабличныйДокумент;
Макет = Документы. начислениеСтипендии. ПолучитьМакет ("Печать1");
// Заголовок
Область = Макет. ПолучитьОбласть ("Заголовок");
ТабДок. Вывести (Область);
// Шапка
Шапка = Макет. ПолучитьОбласть ("Шапка");
Шапка. Параметры. Заполнить (ЭтотОбъект);
ТабДок. Вывести (Шапка);
// ТабличнаяЧасть1
Область = Макет. ПолучитьОбласть ("ТабличнаяЧасть1Шапка");
ТабДок. Вывести (Область);
ОбластьТабличнаяЧасть1 = Макет. ПолучитьОбласть ("ТабличнаяЧасть1");
Для Каждого ТекСтрокаТабличнаяЧасть1 Из ТабличнаяЧасть1 Цикл
ОбластьТабличнаяЧасть1. Параметры. Заполнить (ТекСтрокаТабличнаяЧасть1);
ТабДок. Вывести (ОбластьТабличнаяЧасть1);
КонецЦикла;
ТабДок. ОтображатьСетку = Ложь;
ТабДок. Защита = Истина;
ТабДок. ТолькоПросмотр = Истина;
ТабДок. ОтображатьЗаголовки = Ложь;
ТабДок. Показать ();
// }}_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ
КонецПроцедуры
Печатная форма Начисление Стипендии:
Процедура ОбработкаПроведения (Отказ, Режим)
// {{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
// регистр Стипендия Приход
Движение = Движения. Стипендия. Добавить ();
Движение. ВидДвижения = ВидДвиженияНакопления. Приход;
Движение. Период = Дата;
Движение. ФИО = ФИО;
Движение. Стипендия = сумма;
// }}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
Процедура ОбработкаЗаполнения (Основание)
// {{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Если ТипЗнч (Основание) = Тип ("ДокументСсылка. ВедомостьСтудента") Тогда
// Заполнение шапки
ФИО = Основание. ФИО;
Для Каждого ТекСтрокаТабличнаяЧасть1 Из Основание. ТабличнаяЧасть1 Цикл
НоваяСтрока = ТабличнаяЧасть1. Добавить ();
НоваяСтрока. оценка = ТекСтрокаТабличнаяЧасть1. оценка;
НоваяСтрока. предмет = ТекСтрокаТабличнаяЧасть1. предмет;
КонецЦикла;
КонецЕсли;
// }}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
КонецПроцедуры
. Зачисление
Процедура ОбработкаПроведения (Отказ, Режим)
// {{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Для Каждого ТекСтрокаТабличнаяЧасть1 Из ТабличнаяЧасть1 Цикл
// регистр Студенты Приход
Движение = Движения. Студенты. Добавить ();
Движение. ВидДвижения = ВидДвиженияНакопления. Приход;
Движение. Период = Дата;
Движение. ФИО = ФИО;
Движение. Предмет = ТекСтрокаТабличнаяЧасть1. предмет;
Движение. группа = группа;
Движение. баллыПоЕгэ = ТекСтрокаТабличнаяЧасть1. баллыПоЕгэ;
КонецЦикла;
// }}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
. Отчисление
Процедура ОбработкаПроведения (Отказ, Режим)
// {{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Для Каждого ТекСтрокаТабличнаяЧасть1 Из ТабличнаяЧасть1 Цикл
// регистр Студенты Расход
Движение = Движения. Студенты. Добавить ();
Движение. ВидДвижения = ВидДвиженияНакопления. Расход;
Движение. Период = Дата;
Движение. ФИО = ФИО;
Движение. Предмет = ТекСтрокаТабличнаяЧасть1. предмет;
Движение. Оценка = ТекСтрокаТабличнаяЧасть1. оценка;
Движение. группа = группа;
КонецЦикла;
// }}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
Процедура ОбработкаЗаполнения (Основание)
// {{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Если ТипЗнч (Основание) = Тип ("ДокументСсылка. ВедомостьСтудента") Тогда
// Заполнение шапки
группа = Основание. группа;
курс = Основание. курс;
семестр = Основание. семестр;
ФИО = Основание. ФИО;
Для Каждого ТекСтрокаТабличнаяЧасть1 Из Основание. ТабличнаяЧасть1 Цикл
НоваяСтрока = ТабличнаяЧасть1. Добавить ();
НоваяСтрока. оценка = ТекСтрокаТабличнаяЧасть1. оценка;
НоваяСтрока. предмет = ТекСтрокаТабличнаяЧасть1. предмет;
НоваяСтрока. типСдачи = ТекСтрокаТабличнаяЧасть1. типСдачи;
КонецЦикла;
КонецЕсли;
// }}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
КонецПроцедуры
. Ведомость Студента
Процедура ОбработкаПроведения (Отказ, Режим)
// {{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Для Каждого ТекСтрокаТабличнаяЧасть1 Из ТабличнаяЧасть1 Цикл
// регистр Ведомость
Движение = Движения. Ведомость. Добавить ();
Движение. Период = Дата;
Движение. группа = группа;
Движение. семестр = семестр;
Движение. курс = курс;
Движение. ФИО = ФИО;
Движение. типСдачи = ТекСтрокаТабличнаяЧасть1. типСдачи;
Движение. предмет = ТекСтрокаТабличнаяЧасть1. предмет;
Движение. оценка = ТекСтрокаТабличнаяЧасть1. оценка;
КонецЦикла;
// }}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
6. Учащиеся
Форма документа:
Процедура ОбработкаЗаполнения (Основание)
// {{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Если ТипЗнч (Основание) = Тип ("ДокументСсылка. ВедомостьСтудента") Тогда
// Заполнение шапки
группа = Основание. группа;
курс = Основание. курс;
семестр = Основание. семестр;
ФИО = Основание. ФИО;
Для Каждого ТекСтрокаТабличнаяЧасть1 Из Основание. ТабличнаяЧасть1 Цикл
НоваяСтрока = ТабличнаяЧасть1. Добавить ();
НоваяСтрока. оценка = ТекСтрокаТабличнаяЧасть1. оценка;
НоваяСтрока. предмет = ТекСтрокаТабличнаяЧасть1. предмет;
КонецЦикла;
КонецЕсли;
// }}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
КонецПроцедуры
Процедура ОбработкаПроведения (Отказ, Режим)
// {{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Для Каждого ТекСтрокаТабличнаяЧасть1 Из ТабличнаяЧасть1 Цикл
// регистр Студенты Приход
Движение = Движения. Студенты. Добавить ();
Движение. ВидДвижения = ВидДвиженияНакопления. Приход;
Движение. Период = Дата;
Движение. Предмет = ТекСтрокаТабличнаяЧасть1. предмет;
Движение. Оценка = ТекСтрокаТабличнаяЧасть1. оценка;
Движение. ФИО = ФИО;
Движение. группа = группа;
КонецЦикла;
// }}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
Регистры
Регистры в системе 1С: Предприятие используются для накопления информации о наличии и движении средств - товарных, денежных и других. Вся информация о хозяйственных операциях, которая вводится с использованием документов или формируется при помощи расчетов, должна быть накоплена в регистрах. Тогда эту информацию можно будет извлечь, проанализировать и представить пользователю в виде отчетных форм. В моей программе я использовала следующие регистры:
Отчёты
Любая система автоматизации учета только тогда выполняет свои функции, когда она имеет средства обработки накопленной в системе информации и получения сводных данных в удобном для просмотра и анализа виде. Как правило, для решения подобных задач в системе автоматизации учета существует подсистема формирования отчетных документов
Для получения сводной выходной информации в системе 1С: Предприятие используются объекты метаданных, называемые "Отчет" и "Обработка". Объект данных этого типа представляет собой алгоритм обработки информации на внутреннем языке системы 1С: Предприятие.
В своей работе я реализовала следующие отчёты:
1. Ведомость
Процедура ПередОткрытием (Отказ, СтандартнаяОбработка)
ведомостьИнициализация ();
КонецПроцедуры
Процедура ПриЗакрытии ()
СохранитьЗначение ("НастройкаОтчетыведомостьведомость_ceda9c70-8703-479d-abe6-3ae5ddafc2d3", ПостроительОтчетаведомость. ПолучитьНастройки ());
КонецПроцедуры
Процедура ДействияФормыведомостьНастройка (Кнопка)
// {{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПОСТРОИТЕЛЬОТЧЕТА_НАСТРОЙКА (ведомость)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Форма = ОтчетОбъект. ПолучитьФорму ("ведомостьНастройка");
Форма. ПостроительОтчета = ПостроительОтчетаведомость;
Настройка = ПостроительОтчетаведомость. ПолучитьНастройки ();
Если Форма. ОткрытьМодально () = Истина Тогда
ведомостьВывести ();
Иначе
ПостроительОтчетаведомость. УстановитьНастройки (Настройка);
КонецЕсли;
// }}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПОСТРОИТЕЛЬОТЧЕТА_НАСТРОЙКА
КонецПроцедуры
Процедура ДействияФормыведомостьСформировать (Кнопка)
// {{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА (ведомость)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
ведомостьВывести ();
// }}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА
КонецПроцедуры
Процедура ведомостьВывести ()
// {{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПОСТРОИТЕЛЬОТЧЕТА_ВЫПОЛНИТЬ (ведомость)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
ЭлементыФормы. ПолеТабличногоДокумента. Очистить ();
ПостроительОтчетаведомость. Параметры. Вставить ("ДатаОтчета", ДатаОтчета);
ПостроительОтчетаведомость. Выполнить ();
ПостроительОтчетаведомость.
Больше работ по теме:
Предмет: Информационное обеспечение, программирование
Тип работы: Курсовая работа (т)
Новости образования
КОНТАКТНЫЙ EMAIL: [email protected]
Скачать реферат © 2017 | Пользовательское соглашение
ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ