Выходные данные

216919
знаков
8
таблиц
10
изображений

2.1.2 Выходные данные

Сводный отчет по загрузке. Фактически мы по­пробуем построить информационную систему для эффективного управления ресурсами. При этом основным ресурсом будет фонд аудиторий, где мы должны организовать учебный процесс, а в понятие управления вкладывает­ся создание разнообразных сервисных функций для пользователя, необходи­мых ему при составлении расписания учебных занятий, например: создание интеллектуальных форм для ввода данных, представление имеющейся информации в виде разнообразных отчетов, удобные возможности корректиро­вания уже имеющейся информации.

2.1.3 Схема и описание схемы алгоритма решения задачи

Перейдем к рассмотрению первого листа

Традиционно в наших разработках на первом листе рабочей книги располагаются элементы управления, связанные с основными действиями пользователя, и здесь также не будет исключения.

Основное содержание первого листа — регистрация заявок на проведение учебных занятий и аудиторий, которые для этих занятий выделяются. В верхней части листа располагаются элементы управления (эта область выделена серой заливкой).

Посмотрим теперь на информацию, расположенную, начиная с четвертой строки листа (третья строка отводится для заголовков столбцов). Здесь каж­дая строка содержит заявку на проведение определенного занятия — новая заявка вводится в очередную свободную строку на этом листе.

При этом информацию по заявке условно можно разделить на две категории:

□   начальная информация о занятиях (номер, заявитель, преподаватель, день, время, группа, количество студентов в группе, название дисциплины и номера учебных недель, когда занятия должны проводиться);

□   информация об обслуживании данной заявки (обслужена ли она и номер аудитории, выбранной для проведения занятий по заявке).

Алгоритм подбора аудитории составляет важную содержательную часть выполненной разработки. Здесь учитывается много факторов - наличие групповых (для нескольких групп или потоков) лекций, наличие последовательных во времени занятий в группе (в этом случае подбирается одна аудитория - для исключения переходов из одной комнаты в другую) и ряд других факторов. Так, в каждой строке столбцы G и Н отводятся для записи информации об обслуживании заявки (подобранной для нее аудитории). И если аудитория подобрана, то в столбец G программно записывается слово "да", а в следующий столбец вписывается номер аудитории.

Фактически, информация на первом листе представляет собой некоторую базу данных. Столбец Номер позволяет ввести для каждой заявки поясняющий числовой или текстовый номер. При этом для определенного блока заявок, если потребуется, можно указать один и тот же номер. Номер заявки опреде­ляет не ее уникальность, а принадлежность заявки к определенной группе или блоку. Уникальность записи о заявке — это фактически уникальность каждой строки Microsoft Excel.

Следующие столбцы содержат информацию о заявителе, преподавателе, дне и времени проведения занятий. Эта информация не требует ручного заполне­ния, а извлекается из предварительно заполненного второго листа, как опи­сано ранее. Непосредственно ввод данных будет выполняться с помощью специально разработанной формы ввода. Например, при вводе фамилии пре­подавателя мы будем выбирать ее из списка, предварительно заполненного на втором листе.

В столбце F для каждой заявки указывается количество студентов, которые учатся в данной группе. Эта информация вносится автоматически после вы­бора названия группы (вы уже видели, что на втором листе присутствуют два связанных столбца — название группы и число студентов в ней). В столбцах, начиная с К, отмечаются недели, когда должны проводиться занятия по дан­ной заявке. Звездочка в соответствующем столбце говорит о том, что на этой неделе занятие.

Нумерация учебных недель является типичной для учебных заведений. Это связано с тем, что количество аудиторных часов для разных дисциплин по учебному плану неодинаково. В связи с этим какие-то дисциплины в семестре ограничены семью занятиями, а какие-то продолжаются в течение семнадца­ти недель. Что касается нулевой недели, то ее введение относится к ситуации, когда день начала семестра расположен в середине недели (подобную неде­лю иногда называют нулевой).

Рассмотрим элементы управления. Это три кнопки, которые на листе расположены в области первых двух строк. В табл. 7 приведены зна­чения их свойств Name и Caption.

 

Таблица 7. Значения свойств кнопок

Name

Caption

Input_New Ввод новой заявки
Input_auditoria Подбор аудитории
De_lete Снятие с обслуживания

Принято, что заполнение информации о заявке и тем более подбор для нее подходящей аудитории требуют некоторой интеллектуальности алгоритма.

Так, программа должна обнаруживать возможный ввод некорректных заявок. Например, при вводе очередной заявки преподаватель может быть в указанное время уже занят. Другая возможная ситуация — для указанной в заявке группы уже зафиксировано другое занятие в это время. Все эти и другие подобные ситуации создаваемая разработка должна отслеживать. При этом автоматическая блокировка подобных накладок не требуется, т. к. возможно они закладываются в расписание не случайно.

Для исключения ручного изменения информации на первом листе в книге предусматривается установка защиты этого листа от изменений. А такие технические действия, как формирование новых заявок и подбор аудитории для них, выполняются с помощью экранных форм. При этом программные процедуры этих форм самостоятельно снимают защиту с листа. В следующем разделе мы рассмотрим одну из экранных форм.

Сводный отчет по загрузке

В этом разделе мы рассмотрим еще одну возможность работы с расписанием. Рассмотрим лист с названием Отчет 2. Фактически это отчет, кото­рый позволяет показать загруженность фонда аудиторий по заявителям (кто использует фонд аудиторий больше, а кто меньше).

Если фонд аудиторий ограничен и между разными факультетами возникают противоречия по поводу его загрузки, представляет интерес такой сводный отчет, в котором наглядно отражены занятия по различным факультетам. Эта ситуация вполне типична для сегодняшнего дня, когда в вузах, наряду с бюджетным обучением, есть и коммерческое. Многие возникающие вопро­сы по фонду аудиторий могут быть успешно решены с помощью предлагае­мого в этом разделе отчета.

На листе по горизонтали в пятой и шестой строках вы­водятся дни и время начала занятий (фактически в этих строках перечислены все занятия в течение недели). В первом столбце указаны все аудитории, ко­торыми располагает учебное заведение. И если в определенный день и кон­кретное время в аудитории по расписанию поставлено занятие, то в соответ­ствующей ячейке это отмечается определенной заливкой (для каждого факультета свой цвет заливки) и отображается количество студентов..

Рассмотрим программный код, реализующий построение данного отчета, и в качестве первого шага прокомментируем элементы управления.

В левом верхнем углу находится поле со списком (Name = L1). Этот элемент при открытии книги автоматически заполняется информацией об учебных неделях (процедура workBook_open). Справа от поля со списком располагается кнопка Заполнить (Name = coml), позволяющая заполнить лист информацией. В результате щелчка по этой кнопке ячейки листа заполняются информацией (количество занимающихся студентов и заявитель).

На этом листе мы легко можем посмотреть информацию о вместимости конкретной аудитории. Для этого нужно лишь щелкнуть по ячейке, содержащей номер аудитории.

Теперь прокомментируем некоторые программные конструкции, выполняемые по щелчку на кнопке Заполнить. Полный текст процедуры обработки щелчка по этой кнопке приведен в приложении 1. В начале процедуры в массиве colors устанавливаются цвета для заливки ячеек с заявками различных факультетов, что обеспечивает наглядность представления информации.

После установки заливки ячеек (определенный цвет связан с конкретным заявителем) сначала выполняется очистка области для вывода:

Range("a5:ZZ200").Select Selection.ClearContents

Также устанавливается белый цвет заливки для области, где будет присутствовать информация о занятиях:

Range("b7:ZZ200").Select

 With Selection.Interior

.ColorIndex = 0

.Pattern = xlSolid

End With

После этого подсчитывается количество заявителей на втором листе:

N_Boss = О

While Worksheets(2).Cells(N_Boss + 2, 6).Value <> ""

N_Boss = N_Boss + 1

 Wend

В качестве следующего действия на лист выводятся названия заявителей и соответствующие им цвета. Для вывода этой информации используются первая и вторая строки листа:

For i = 1 То N_Boss

Cells(2, 2 + i * 2).Select With Selection.Interior

.ColorIndex = colors (i)

.Pattern = xlSolid

End With

Cells (1, 2 + i * 2).Value = Worksheets(2).Cells(i + 1, 6).Value

Next

Следующий фрагмент позволяет установить в пятой и шестой строках подписи время начала занятий:

St = 1

For I = 1 To N_Day

For j = 1 To N_Times

St = St + 1

Cells (5, st).Value = Worksheets (2).Cells (i = 1, 4).Value

Cells (6, st).Value = Worksheets (2).Cells (i = 1, 5).Value

Next

Next

На этом подготовительная часть для формирования отчета завершена, и далее заполнения отчета в цикле просматриваются все заявки. Если заявка обслужена (для нее подобрана аудитория) и на указанной неделе занятие по заявке проводится, то далее она анализируется. В противном случае иного отчета она не рассматривается.

В следующем фрагменте производится вычисление номера строки, где она а быть отражена:

Stroke = 0

For I = 1 To nom

If N_Ayd = CStr(Cells(i + 6, 1).Value) Then

Stroke = i + 6

Exit For

End if

Next

Аналогично вычисляется значение столбца на листе АФ, где необходимо отобразить отданную заявку:

For m = 1 To DaysTimes

If CStr (Workssheets(1).Cells(i, 4).Value)_

= CStr (Cells(5, 1 + m). Value) Then

If CStr (Workssheets(1).Cells(i, 5).Value)_

= CStr (Cells(6, 1 + m). Value) Then

Stolbec = 1 + m

Exit For

End If

End If

Next

Таким образом, мы определили ячейку на листе, где следует отразить ин­формацию по данной заявке.

Следующее действие — закраска ячейки цветом того факультета, к которому данная заявка относится:

Name_Boss = CStr(Worksheets(1).Cells(i, 2).Value)

For nomer = 1 To N_Boss

If Name_Boss = CStr(Worksheets(2).Cells(nomer + 1, 6).Value) Then

Exit For

End If

Next

Cells(stroka, stolbec).Select With Selection.Interior

.ColorIndex = colors(nomer)

.Pattern = xlSolid End With

Теперь осталось в выбранной ячейке указать количество студентов, зани­мающихся в аудитории. Программно это реализуется с помощью одной строки:

Cells(stroka, stolbec).Value = Cells(stroka, stolbec).Value +

 Worksheets(1).Cells(i, 6).Value

Мы говорили, что на этом листе можно посмотреть информацию о вмести­мости аудитории. Для этого разработана следующая предопределенная про­цедура, которая выполняется при выделении той или иной аудитории. В ре­зультате необходимая информация выводится в окно для сообщений (листинг 21).

Листинг 21. Предопределенная процедура selectionСhaтge

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

 ' Вычисление строки и столбца выделенной ячейки

Stroka = ActiveCell.Row

Stolbec = ActiveCell.Column

If Stolbec <> 1 Then

Информационное окно видимо только при выделении первого столбца

Infl.Visible = False

Elself Stroka > 6 Then

 Infl.Visible = True

Infl.Text = "Вместимость " + _

Str(Worksheets(2).Cells(Stroka - 5, 2)) + "чел"

End If

End Sub

Отчет по ресурсам фонда аудиторий

Важным представляется ответ на вопрос: каков свободный ресурс аудиторий в определенном интервале учебных недель? Ответ на него можно получить на девятом листе книги Microsoft Excel, который называется Отчет 3. По горизонтали на этом листе в пятой и шестой строках выводятся дни и время начала занятий (фактически в этих строках перечислены все занятия в течение недели), а в первом столб­це указаны все аудитории, которыми располагает учебное заведение. В этом плане начало составления отчета ничем не отличается от предыдущего.

Однако теперь в сводной таблице выводится количество занятий в аудитори­ях в указанном интервале недель. При этом разная загруженность (различное количество занятий в выбранном интервале) дополнительно выделяется раз­ными цветами. На листе реализованы градации цвета в зависимости от за­груженности:

□  максимальная загруженность;

□  загруженность выше средней;

□  загруженность ниже средней;

□  в выбранном интервале недель нет занятий.

В этом случае пользователю часто достаточно взглянуть на отчет, чтобы оп­ределить, есть ли аудитории, скажем для организации дополнительной учеб­ной программы.

Кроме цветовой и числовой информации в ячейках можно получить более детальную информацию. Например, чтобы уточнить, какими занятиями аудитория все-таки занята, потребуется всего лишь двойной щелчок на вы­бранной ячейке. На листе откроется текстовое окно, отображающее все заня­тия, соответствующие выбранной ячейке.

Примечание

Чтобы убрать это текстовое окно с экрана, нужно сделать в нем двойной щелчок.

На листе для работы с отчетом заложена еще одна интересная возможность, связанная с двумя кнопками — Подготовить к перемещению и Переместить. С помощью этих кнопок можно перемещать занятия из одних аудиторий в другие. Для этого нужно выделить исходную ячейку и щелкнуть на кнопке Подготовить к перемещению — информация о заявке по указанной ячейке зафиксируется во внутренней структуре данных (буфере). После этого пользователю нужно лишь выделить ячейку, куда он намеревается перенести занятие, и щелкнуть на кнопке Переместить.

В результате таких простых действий в отчете произошли изменения на пер­вом листе заявок. Исходная заявка удалена, но при этом появилась.

Заметим, что алгоритм переноса заявки в новую аудиторию характеризуется определенным "интеллектом". Перед переносом заявки сначала анализирует­ся возможность переноса — нет ли в этой аудитории занятий в рассматри­ваемые интервалы недель. Например, если мы переносим две заявки (в одной ячейке может быть несколько занятий, если они проводятся в разные недели) из одной аудитории в другую, то в случае невозможности переноса одной из них эта заявка остается без изменений.

Рассмотренный отчет, таким образом, кроме получения наглядной сводной информации по загрузке, позволяет оперативно менять аудитории в состав­ленном расписании. Из отчета при необходимости можно быстро найти свободные классы для занятий и планировать циклы дисциплин на опреде­ленное время.


Информация о работе «Организация документооборота с помощью "Visual Basic for Application"»
Раздел: Информатика, программирование
Количество знаков с пробелами: 216919
Количество таблиц: 8
Количество изображений: 10

Похожие работы

Скачать
200314
8
2

... , практически, не используются. Проблема информатизации Минторга может быть решена путем создания Автоматизированной Информационной системы Министерства Торговли РФ (АИС МТ РФ) в соответствии с настоящим Техническим предложением.   ГЛАВА 2. МАТЕМАТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ КОМПЛЕКСА ЗАДАЧ "СИСТЕМА ДОКУМЕНТООБОРОТА УЧЕРЕЖДЕНИЯ”. функции поиска и архивации 2.1. Постановка задачи и её спецификация ...

Скачать
164313
27
1

... . В качестве средств разработки необходимо использование Borland C++ Builder 3.0 ClientServer, Microsoft Visual Basic for Applications. ГЛАВА 2. МАТЕМАТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ СИСТЕМЫ ДОКУМЕНТООБОРОТА МИНТОРГА РФ. РЕШЕНИЕ ЗАДАЧ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ 2.1 Постановка задачи и её спецификация 2.1.1. Понятие информационной безопасности применительно к системе документооборота Минторга РФ Под ...

Скачать
194189
21
0

... 1 - 13 ВВЕДЕНИЕ Представленный дипломный проект является частью комплексного проекта по разработке автоматизированной системы управления процессом формирования и реализации целевых программ в некоммерческой организации. И содержит предложения по решению задачи автоматизации учета и документооборота в рамках разрабатываемой темы. Обратим внимание на актуальность автоматизации именно общей ...

Скачать
162009
28
0

... заполнения этих регистров подсчитывают итоги и выводят конечные сальдо, на основе чего заполняют Главную Книгу и балансы. Методика и организация учета расчетов с персоналом по оплате труда в ОАО «Ивица» проводится на должном уровне, за исключением того, что учет трудовых ресурсов и средств на оплату труда не атоматизирован полностью. Поэтому для облегчения труда бухгалтера, а также ...

0 комментариев


Наверх