Разработка системы электронного документооборота "Doc Univer" (на примере Спортивного Клуба "Университет")

Ознакомление с аналитическим обзором основных систем автоматизации электронного документооборота. Определение особенностей программы документооборота "Doc Univer". Рассмотрение концептуальной модели данных в BPWin. Анализ результатов работы приложения.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 14.11.2014
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Таблица 9 - Описание входных параметров процедуры del_ user

Имя параметра

Тип данных

Описание

@p_id

bigint

Номер записи

Вызов процедуры происходит в методе buttonDel_Click главной формы (UserListForm):

usersTableAdapter.del_user(user_id);

Процедура ничего не возвращает.

2.4 Требования к разрабатываемой информационной системе документооборота СК «Университет»

Требование к выполнению функций:

§ работа в режиме реального масштаба времени;

§ обеспечение надежности функционирования системы и защиты от сбоев;

§ обеспечение понятного интерфейса.

Функции, выполняемые программой:

§ добавление, удаление, редактирование данных в документах;

§ добавление, удаление, редактирование данных о контрагентах, исполнителях;

§ возможность ведения справочников: виды документов и статусы документов;

§ осуществление удобного поиска по документам;

§ просмотр и печать отчетов.

Требование к надежности:

§ разграничение прав доступа работы с данными;

§ пользователи, работающие с системой, должны быть ознакомлены с инструкцией по эксплуатации, чтобы избежать некорректных действий (правильность внесения данных);

§ обеспечить целостность хранимой информации в базе данных.

Требования к составу и параметрам технических средств:

Система должна работать на IBM совместимых персональных компьютерах.

Минимальная конфигурация:

§ тип процессора - Pentium 2 и выше;

§ объем оперативного запоминающего устройства - 256 Мб и более;

§ жесткий диск - 80 Гб и более;

§ система охлаждения - любая (подходящая под разъем процессора);

§ принтер;

§ сетевая карта 10/100 Мбит/c;

§ монитор.

§ Требования к информационной и программной совместимости:

Система должна работать под управлением семейства операционных систем Windows XP\Vista\7.

3. Программная реализация СЭД «Doc_Univer»

3.1 Реализация клиентской части

Среда разработки клиентской части информационной системы - MS Visual Studio 2008.

Язык программирования - Visual C#.

Тип проекта - Windows приложение.

Используемая СУБД - MS SQL Server 2005 Express Edition.

Технологическая платформа - Net Framework 3.5

Интерфейс информационной системы включает 10 форм:

Таблица 10 - Структура приложения

Имя

Вызывается из

Описание

MainForm

-

Главная форма приложения. Реализует два интерфейса - для администратора и для пользователя (в зависимости от типа вошедшего пользователя).

Позволяет просматривать список документов, корреспондентов, пользователей, справочники по типам и направлениям документов; осуществлять поиск по каждой таблице и экспорт в MS Excel.

UserCardForm

UserListForm

Карточка пользователя. Позволяет добавлять и изменять пользователей.

UserListForm

MainForm

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

CorrespondentsForm

MainForm

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

DocDirectionsForm

MainForm

Направление документов. Позволяет выбрать направление документа.

DocListForm

MainForm

Документы. Окно выводит все существующие зарегистрированные документы, которые можно редактировать и удалять. Так же имеется возможность создавать документы. В окне имеется фильтрация по документам, для удобного быстрого поиска.

DocStatesForm

MainForm

Статус документа. Позволяет выводить статус документа. Изменять существующие статусы и добавлять новые.

DocTypesForm

MainForm

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

FilterForm

DocListForm

Форма для фильтрации зарегистрированных документов.

DocCardForm

DocListForm

Карточка для добавления, изменения и регистрации нового документа.

После запуска программы появляется форма авторизации (Рисунок 3.1).

Рисунок 3.1 - Форма авторизации

При нажатии на кнопку «Вход» срабатывает обработчик события - функция buttonOk_Click, в которой проверяются введенные данные и, в случае неверных данных, выводит соответствующее сообщение:

Рисунок 3.2 - Сообщение об ошибке

Код функции buttonOk_Click:

private void buttonOk_Click(object sender, EventArgs e)

{

//

if (textBoxFIO.Text.Length > 0 &&

textBoxLogin.Text.Length > 0 &&

textBoxPassword.Text.Length > 0)

{

DialogResult = System.Windows.Forms.DialogResult.OK;

}

else

{

MessageBox.Show("Все поля должны быть заполнены!", "Внимание",

MessageBoxButtons.OK, MessageBoxIcon.Warning);

}

Если логин и пароль введены правильно, запускается главная форма программы с интерфейсом администратора или менеджера, в зависимости от введенного логина.

Интерфейс администратора

Рисунок 3.3 - Главная форма (интерфейс администратора)

Интерфейс администратора позволяет управлять списком пользователей (вводить новых, редактировать существующих и, при необходимости, удалять), просматривать реестр документов.

Чтобы добавить нового пользователя, необходимо нажать на соответствующую кнопку вверху формы при выбранном режиме «Пользователи». Появится форма добавления нового пользователя (UserListForm):

Рисунок 3.4 - Карточка пользователя

Здесь необходимо ввести данные и нажать кнопку «ОК». Если не все требуемые данные будут введены, появится окно с предупреждением:

Рисунок 3.5 - Окно предупреждения

Код обработчика кнопки «ОК»:

private void buttonOk_Click(object sender, EventArgs e)

{

//

if (textBoxFIO.Text.Length > 0 &&

textBoxLogin.Text.Length > 0 &&

textBoxPassword.Text.Length > 0)

{

DialogResult = System.Windows.Forms.DialogResult.OK;

}

else

{

MessageBox.Show("Все поля должны быть заполнены!", "Внимание",

MessageBoxButtons.OK, MessageBoxIcon.Warning);

}

Если все данные введены правильно, форма UserListForm закроется и запись о новом сотруднике появится в общем списке.

Рисунок 3.6 - Список пользователей

При необходимости изменить данные о пользователе нужно выбрать кнопку «Править». После чего исправить данные в полях и нажать кнопку ОК.

Рисунок 3.7 - Список пользователей

Если будет выполнена попытка править данные об администраторе, то программа выдаст ошибку «Администратора редактировать нельзя!».

Рисунок 3.8 - Окно ошибки

Код обработки правки пользователя:

if (dataGridView1.CurrentRow.Cells[2].Value.ToString() == "Admin")

{

MessageBox.Show("Администратора редактировать нельзя!");

return;

}

Интерфейс пользователя

Рисунок 3.9 - Главная форма (интерфейс пользователя)

Меню интерфейса пользователя состоит из 5 пунктов: Документы, Корреспонденты, Справочники, Отчеты и Выход. Интерфейс пользователя позволяет просматривать, вводить новые, изменять и удалять существующие записи о документах, корреспондентах, типах и направлениях документов. Также возможен поиск по базе и вывод отчетов.

Для отображения списка зарегистрированных документов надо выбрать в меню пункт «Документы»:

Рисунок 3.8 - Список документов

При нажатии на кнопку «Добавить» появляется окно добавления документа:

Рисунок 3.9 - Карточка документа

Для фильтрации или поиска документа необходимо в окне «Документы» выбрать кнопку «Фильтр».

Рисунок 3.10 - Настройка фильтра списка документов

Для редактирования справочников: Виды документов, Статусы документов и Направление документов выбираем в меню пункт «Справочники».

Рисунок 3.11 - Справочники

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

Рисунок 3.12 - Справочник «Виды документов» и «Статусы документов»

СЭД позволяет строить отчеты по существующим базам документов, контроля исполнения, по видам и по направлениям документов, по корреспондентам. Для отображения и выдачи отчетов необходимо в главном меню выбрать пункт «Отчеты»

Рисунок 3.13 - Отчеты

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

Рисунок 3.14 - Форма «Отчет по статусам»

Выбрав необходимые параметры для выдачи отчета, нужно нажать кнопку «Печать», после чего пользователю выведутся данные из программы в готовый отчет в MS Word.

Рисунок 3.15 -Отчет по статусам

В форме «Отчет по видам документов» необходимо указать дату регистрации документа и выбрать по каким видам документов необходимо получить отчет, поставив галочку «Вид документа» и выбрав из списка нужное. Также имеется возможность вывести отчет по всем видам документов.

Рисунок 3.16 - Форма «Отчет по видам документов»

После нажатия на кнопку «Печать», выводится отчет в MS Word.

Рисунок 3.17 -Отчет по видам документов

В форме «Отчет по корреспондентам» выбираем необходимые нам параметры для отчета. Имеется возможность вывода отчета как по всем, так и по определенным корреспондентам.

Рисунок 3.18 - Форма «Отчет по корреспондентам»

После нажатия на кнопку «Печать», выводится отчет в MS Word.

Рисунок 3.19 -Отчет по корреспондентам

В форме «Отчет по направлениям документов» необходимо выбрать по каким параметрам делать отчет, указав дату регистрации и направление документа.

Рисунок 3.20 - Форма «Отчет по направлениям документов»

После нажатия на кнопку «Печать», выводится отчет в MS Word.

Рисунок 3.21 -Отчет по направлениям документов

В форме «Отчет по исполнителям» необходимо выбрать параметры вывода отчета. Отчет позволяет следить за работой каждого сотрудника организации.

Рисунок 3.22 - Форма «Отчет по исполнителям»

После нажатия на кнопку «Печать», выводится отчет в MS Word.

Рисунок 3.23 -Отчет исполнителям

3.2 Результаты работы ИС

Преимущества при внедрении систем электронного документооборота:

1. Физическое освобождение места;

2. Уменьшение затрат на копирование;

3. Уменьшение затрат на доставку информации в бумажном виде;

4. Уменьшение затрат на ресурсы: люди и оборудование;

5. Уменьшение затрат на бумагу;

6. Повышение продуктивности работы: более быстрое выполнение работ, увеличение общего количества выполняемых работ, улучшение работы с данными/записями (документами, имеющими юридические обязательства), возможность выполнения новых типов работ или выполнения работ по другому;

7. Возможность коллективной работы над документами (что невозможно при бумажном делопроизводстве);

8. Значительное ускорение поиска и выборки документов (по различным атрибутам);

9. Повышение безопасности информации за счет того, что работа в СЭД с незарегистрированной рабочей станции невозможна, а каждому пользователю СЭД назначаются свои полномочия доступа к информации;

10. Повышение сохранности документов и удобства их хранения, так как они хранятся в электронном виде на сервере;

11. Улучшение контроля за исполнением документов.

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

В ходе проекта по созданию ИС были полностью автоматизированы следующие процессы деятельности, связанные с оборотом входящих, исходящих и внутренних документов:

o Прием и регистрация входящей корреспонденции;

o Удобный интерфейс поиска документа;

o Ознакомление с входящим / внутренним документом;

o Подготовка и утверждение проектов исходящих и внутренних документов;

o Регистрация исходящих / внутренних документов;

o Передача документов в архив;

o Контроль исполнения резолюции и документов.

3.3 Оценка экономической эффективности

Эффективность использования системы электронного документооборота достаточно высока и очевидна - потому, что системы электронного документооборота созданы для повышения эффективности использования рабочего времени сотрудников. Расчет эффективности основан на существенном уменьшении времени обработки документов.

По данным статистических исследований, средний % рабочего времени, которое сотрудники офиса тратят:

o на поиск и ожидание поступления документов - 20 %

o на согласование и утверждение документов - 20 %

o на передачу документов между подразделениями - 10 %

o на подготовку стандартных отчетов о движении документов - 10 %

Данные оценки являются минимальными, часто эти цифры существенно больше.

Cуммарное среднее время, которое сотрудники офиса тратят на рутинную обработку документов - более 60%. При этом некоторая часть сотрудников практически все свое рабочее время тратят на эти операции.

При использовании «Doc_Univer»:

o на поиск документов будет тратиться не часы, а секунды или минуты; ожидания документов не требуется - документы одновременно доступны всем имеющим к ним право доступа сотрудникам

o процесс согласования и утверждения документов становится прозрачен и происходит в режиме реального времени

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

o подготовка стандартных отчетов о движении документов делается одним нажатием кнопки.

Средний % экономии времени на вышеперечисленные виды обработки документов при использовании «Doc_Univer» - 80%.

Соответственно, использование «Док-Университет» может экономить 80%*60%=48% рабочего времени. электронный документооборот программа

При этом надо учесть, что остальные 52% рабочего времени, не полностью используются для эффективной работы, часть тратится на перерывы, на кофе, разговоры и т.п.

Если считать чистое рабочее время, то, «Doc_Univer» может экономить больше половины рабочего времени сотрудников офисов, работающих с документами - договорами, счетами, накладными, письмами и т.п.

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

Заключение

В результате выполнения курсовой работы: разработана информационная система управления документооборотом «Doc_Univer».

В частности:

o Проведен литературный обзор.

o Выполнено предпроектное обследование организации СК «Doc_Univer».

o Разработан проект приложения «Doc_Univer»:

§ Схема данных;

§ Модель интерфейса;

§ Предложена двух уровневая модель работы с данными;

§ Было предложено использование методологии DAL.

o Реализовано приложение с использованием Microsoft Visual Studio 2010 «Док-Университет»:

§ Реализована база данных на SQL SERVER 2005;

§ Реализован интерфейс программы.

Приложение «Doc_Univer» может быть использовано для информационной поддержки организаций занимающихся выполнением проектных работ.

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

Приложение «Doc_Univer» может быть использовано для информационной поддержки организаций занимающихся выполнением проектных работ.

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

Приложение «Doc_Univer» может быть использовано для информационной поддержки организаций занимающихся выполнением проектных работ.

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

Разрабатываемая система относится к классу CRM систем, так как ориентирована на управление информацией о клиентах и автоматическую обработку данной информации;

Проведен обзор наиболее популярных CRM систем в ресторанном бизнесе, выявлены их функциональные возможности, а также сравнительные анализ по стоимости;

Проведен обзор средств инженерии и разработки программного обеспечения, проанализированы средства, с помощью которых будет осуществляться проектирование и разработка ИС ресторана «Cream»;

Проведено обследование деятельности ресторана «Cream», описана организационная структура, функции работников ресторана, основные процессы, протекающие на предприятии;

Формализованы бизнес-процессы и потоки данных с помощью CASE-средства BpWin;

Построена логическая и физическая модель данных с помощью CASE-средства ErWin;

Разработана база данных с помощью SQL Server Compact Edition;

Разработан пользовательский интерфейс на языке программирования C#;

Детально описаны модули программы их функции и возможности;

Описан экономический эффект от внедрения продукта в ресторан.

Список использованной литературы

1. Маклаков С. В. BPWin и ERWin. CASE - средства разработки информационных систем. - М.: ДИАЛОГ - МИФИ, 2000.

2. Создание Windows-приложений на основе Visual C# [Электронный ресурс] / Интернет университет информационных технологий, автор Ч.А. Кариев - Режим доступа: http://www.intuit.ru/department/pl/visualcsharp/ - Заглавие с экрана.

3. C# Наиболее полное руководство. В подлиннике. Дейтел Х., БХВ-Петербург, 2006 г.

4. Астахова Л. В. Документационное обеспечение управления как отрасль деятельности // Делопроизводство. - М.: 2010. № 2. С. 3-9.

5. Афанасьева Л. П. Электронные документы в документообороте и архиве организации / Л. П. Афанасьева. // Секретарское дело. 2008. N 1. С. 26-34.

6. Белов А. Н. Делопроизводство и документооборот : учеб. Пособие для вузов М.: Эксмо, 2008. 624 с.

7. Березина Н.М. Современное делопроизводство. Спб.: Питер, 2010

8. Бобылева М. П. Эффективный документооборот: от традиционного к электронному М. : Термика, 2007.

9. Быкова Т. А. Делопроизводство : учеб. Для вузов М. : МЦФЭР, 2009.

10. Васильева И.Н. Организация делопроизводства. М.: Вузовский учебник, 2011. 272 с.

11. Гайдукова Л. Н. Проблемы традиционных технологий документационного обеспечения. // Секретарское дело. 2011. N 10. С. 17-22.

12. Демин Ю. М. Делопроизводство. Подготовка служебных документов. СПб.: Питер, 2006. 220 с.

13. Доронина Л. Регистрация и индексация документов. // Служба кадров и персонал. 2006. N 6. С. 81-83.

14. Инструкция по делопроизводству. // Кадровик. 2010. N 12.

Приложение

Реализация базы данных приложения

Код создания базы данных:

USE [master]

GO

CREATE DATABASE [DC]

GO

USE [DC]

GO

Код создания таблицы «Пользователи»:

CREATE TABLE Users

(

id bigint IDENTITY(1,1) NOT NULL,

user_fio varchar(100) NOT NULL,

user_login varchar(50) NOT NULL,

password_hash char(32) NOT NULL,

user_role int NOT NULL,

CONSTRAINT PK_Users PRIMARY KEY CLUSTERED

(

id ASC

)

);

GO

CREATE UNIQUE NONCLUSTERED INDEX IX_Users ON Users

(

user_login ASC

)

GO

Код создания таблицы «Корреспонденты»:

CREATE TABLE Correspondents

(

id bigint IDENTITY(1,1) NOT NULL,

corr_name varchar(200) NOT NULL,

contacts varchar(200) NOT NULL,

CONSTRAINT PK_Correspondents PRIMARY KEY CLUSTERED

(

id ASC

)

);

GO

Код создания таблицы «Тип документа»:

CREATE TABLE DocTypes

(

id bigint IDENTITY(1,1) NOT NULL,

doc_type_name varchar(50) NOT NULL,

CONSTRAINT PK_DocTypes PRIMARY KEY CLUSTERED

(

id ASC

)

);

GO

Код создания таблицы «Статус документа»:

CREATE TABLE DocStates

(

id bigint IDENTITY(1,1) NOT NULL,

doc_state_name varchar(50) NOT NULL,

CONSTRAINT PK_DocStates PRIMARY KEY CLUSTERED

(

id ASC

)

);

GO

Код создания таблицы «Направление документа»:

CREATE TABLE DocDirections

(

id bigint IDENTITY(1,1) NOT NULL,

doc_dir_name varchar(50) NOT NULL,

CONSTRAINT PK_DocDirections PRIMARY KEY CLUSTERED

(

id ASC

)

);

GO

Код создания таблицы «Документы»:

CREATE TABLE Documents

(

id bigint IDENTITY(1,1) NOT NULL,

doc_name varchar(100) NOT NULL,

doc_number varchar(50) NOT NULL,

doc_date_reg datetime NOT NULL,

doc_date_exec datetime NULL,

doc_file varchar(255) NULL,

id_user bigint NOT NULL,

id_corr bigint NULL,

id_doc_type bigint NOT NULL,

id_doc_state bigint NOT NULL,

id_doc_dir bigint NOT NULL,

CONSTRAINT PK_Documents PRIMARY KEY CLUSTERED

(

id ASC

)

);

GO

Код создания связей между таблицами:

ALTER TABLE Documents ADD

CONSTRAINT FK_Documents_Users FOREIGN KEY(id_user) REFERENCES Users (id),

CONSTRAINT FK_Documents_Correspondents FOREIGN KEY(id_corr) REFERENCES Correspondents (id),

CONSTRAINT FK_Documents_DocTypes FOREIGN KEY(id_doc_type) REFERENCES DocTypes (id),

CONSTRAINT FK_Documents_DocStates FOREIGN KEY(id_doc_state) REFERENCES DocStates (id),

CONSTRAINT FK_Documents_DocDirections FOREIGN KEY(id_doc_dir) REFERENCES DocDirections (id);

GO

Код создания хранимой процедуры add_user предназначенной для добавления пользователя в таблицу Users:

set ANSI_NULLS ON

set QUOTED_IDENTIFIER ON

GO

ALTER PROCEDURE [dbo].[add_user]

@p_user_fio nvarchar(100),

@p_user_login nvarchar(50),

@p_password_hash char(32),

@p_user_role int

AS

BEGIN

INSERT INTO Users(user_fio, user_login, password_hash, user_role)

VALUES (@p_user_fio, @p_user_login, @p_password_hash, @p_user_role)

END

Код создания хранимой процедуры del_user предназначенной для удаления пользователя из таблицы Users:

set ANSI_NULLS ON

set QUOTED_IDENTIFIER ON

GO

ALTER PROCEDURE [dbo].[del_user]

@p_id bigint

AS

BEGIN

delete from Users

where id = @p_id

END

Код создания хранимой процедуры edit_user предназначенной для редактирования данных о пользователе в таблице Users:

set ANSI_NULLS ON

set QUOTED_IDENTIFIER ON

GO

ALTER PROCEDURE [dbo].[edit_user]

@p_id bigint,

@p_user_fio nvarchar(100),

@p_user_login nvarchar(50),

@p_password_hash char(32),

@p_user_role int

AS

BEGIN

UPDATE Users SET

user_fio = @p_user_fio,

user_login = @p_user_login,

password_hash = @p_password_hash,

user_role = @p_user_role

WHERE id = @p_id

END

Программный код приложения. Модуль формы MainForm.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace DC

{

public partial class MainForm : Form

{

public MainForm()

{

InitializeComponent();

}

private void exitToolStripMenuItem_Click(object sender, EventArgs e)

{

//this.Close();

Application.Exit();

}

private void doclistToolStripMenuItem_Click(object sender, EventArgs e)

{

// Список документов

DocListForm f = new DocListForm();

f.MdiParent = this;

f.Show();

}

private void userToolStripMenuItem_Click(object sender, EventArgs e)

{

// Пользователи

UserListForm f = new UserListForm();

f.MdiParent = this;

f.Show();

}

private void corrToolStripMenuItem_Click(object sender, EventArgs e)

{

// Корреспонденты

CorrespondentsForm f = new CorrespondentsForm();

f.MdiParent = this;

f.Show();

}

private void docTypeToolStripMenuItem_Click(object sender, EventArgs e)

{

// Виды документов

DocTypesForm f = new DocTypesForm();

f.MdiParent = this;

f.Show();

}

private void docStateToolStripMenuItem_Click(object sender, EventArgs e)

{

// Статусы документов

DocStatesForm f = new DocStatesForm();

f.MdiParent = this;

f.Show();

}

private void docDirToolStripMenuItem_Click(object sender, EventArgs e)

{

// Направления документов

DocDirectionsForm f = new DocDirectionsForm();

f.MdiParent = this;

f.Show();

}

private void отчетПоНаправлениюToolStripMenuItem_Click(object sender, EventArgs e)

{

}

private void MainForm_Load(object sender, EventArgs e)

{

}

}

}

Программный код приложения. Модуль формы DocCardForm.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace DC

{

public partial class DocCardForm : Form

{

public DocCardForm()

{

InitializeComponent();

dtPickerReg.Value = DateTime.Now;

dtPickerExec.Value = DateTime.Now;

}

private void buttonOk_Click(object sender, EventArgs e)

{

//

DialogResult = System.Windows.Forms.DialogResult.OK;

}

public string DocNumber

{

get { return textBoxNumber.Text; }

}

public string DocName

{

get { return textBoxName.Text; }

}

public DateTime DateReg

{

get { return dtPickerReg.Value; }

}

public DateTime DateExec

{

get { return dtPickerExec.Value; }

}

public string DocFile

{

get { return textBoxFile.Text; }

}

public long DocUser

{

get { return long.Parse(comboBoxUser.SelectedValue.ToString()); }

}

public long DocCorrespondent

{

get { return long.Parse(comboBoxCorr.SelectedValue.ToString()); }

}

public long DocType

{

get { return long.Parse(comboBoxType.SelectedValue.ToString()); }

}

public long DocState

{

get { return long.Parse(comboBoxState.SelectedValue.ToString()); }

}

public long DocDirection

{

get { return long.Parse(comboBoxDir.SelectedValue.ToString()); }

}

private void DocCardForm_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet1.DocStates". При необходимости она может быть перемещена или удалена.

this.docStatesTableAdapter.Fill(this.dataSet1.DocStates);

// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet1.DocDirections". При необходимости она может быть перемещена или удалена.

this.docDirectionsTableAdapter.Fill(this.dataSet1.DocDirections);

// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet1.DocTypes". При необходимости она может быть перемещена или удалена.

this.docTypesTableAdapter.Fill(this.dataSet1.DocTypes);

// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet1.Correspondents". При необходимости она может быть перемещена или удалена.

this.correspondentsTableAdapter.Fill(this.dataSet1.Correspondents);

// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet1.Users". При необходимости она может быть перемещена или удалена.

this.usersTableAdapter.Fill(this.dataSet1.Users);

}

}

}

Программный код приложения. Модуль формы DocDirectionForm.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace DC

{

public partial class DocDirectionsForm : Form

{

public DocDirectionsForm()

{

InitializeComponent();

}

private void docDirectionsBindingNavigatorSaveItem_Click(object sender, EventArgs e)

{

this.Validate();

this.docDirectionsBindingSource.EndEdit();

this.tableAdapterManager.UpdateAll(this.dataSet1);

}

private void DocDirectionsForm_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet1.DocDirections". При необходимости она может быть перемещена или удалена.

this.docDirectionsTableAdapter.Fill(this.dataSet1.DocDirections);

}

private void docDirectionsDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)

{

}

}

}

Программный код приложения. Модуль формы DocListForm.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace DC

{

public partial class DocListForm : Form

{

public DocListForm()

{

InitializeComponent();

}

private void DocListForm_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet1.DocList". При необходимости она может быть перемещена или удалена.

this.docListTableAdapter.Fill(this.dataSet1.DocList);

//

//this.docListTableAdapter.FillBy(this.dataSet1.DocList,

}

private void buttonFilter_Click(object sender, EventArgs e)

{

// Фильтр

using (FilterForm f = new FilterForm())

{

if (f.ShowDialog() == DialogResult.OK)

{

try

{

//

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

}

}

}

private void buttonAdd_Click(object sender, EventArgs e)

{

// Добавить документ

using (DocCardForm f = new DocCardForm())

{

if (f.ShowDialog() == DialogResult.OK)

{

try

{

// Вызываем хранимую процедуру

docListTableAdapter.add_document(

f.DocName,

f.DocNumber,

f.DateReg,

f.DateExec,

f.DocFile,

f.DocUser,

f.DocCorrespondent,

f.DocType,

f.DocState,

f.DocDirection);

// Обновляем список документов

this.docListTableAdapter.Fill(this.dataSet1.DocList);

}

catch (Exception ex)

{

MessageBox.Show(ex.Message);

}

}

}

}

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)

{

}

}

}

Программный код приложения. Модуль формы DocStatesForm.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace DC

{

public partial class DocStatesForm : Form

{

public DocStatesForm()

{

InitializeComponent();

}

private void docStatesBindingNavigatorSaveItem_Click(object sender, EventArgs e)

{

this.Validate();

this.docStatesBindingSource.EndEdit();

this.tableAdapterManager.UpdateAll(this.dataSet1);

}

private void DocStatesForm_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet1.DocStates". При необходимости она может быть перемещена или удалена.

this.docStatesTableAdapter.Fill(this.dataSet1.DocStates);

}

}

}

Программный код приложения. Модуль формы DocTypesForm.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace DC

{

public partial class DocTypesForm : Form

{

public DocTypesForm()

{

InitializeComponent();

}

private void docTypesBindingNavigatorSaveItem_Click(object sender, EventArgs e)

{

this.Validate();

this.docTypesBindingSource.EndEdit();

this.tableAdapterManager.UpdateAll(this.dataSet1);

}

private void DocTypesForm_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet1.DocTypes". При необходимости она может быть перемещена или удалена.

this.docTypesTableAdapter.Fill(this.dataSet1.DocTypes);

}

private void docTypesDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)

{

}

}

}

Программный код приложения. Модуль формы FilterForm.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace DC

{

public partial class FilterForm : Form

{

private string sqlQueryFilter;

public FilterForm()

{

InitializeComponent();

// Настроить форму

dtPickerRegBegin.Value = new DateTime(DateTime.Now.Year, 1, 1);

dtPickerRegEnd.Value = new DateTime(DateTime.Now.Year, 12, 31);

dtPickerExecBegin.Value = new DateTime(DateTime.Now.Year, 1, 1);

dtPickerExecEnd.Value = new DateTime(DateTime.Now.Year, 12, 31);

}

private void buttonOk_Click(object sender, EventArgs e)

{

StringBuilder sb = new StringBuilder();

if (dtPickerRegBegin.Checked)

sb.AppendLine(dtPickerRegBegin.Value.ToString());

if (dtPickerRegEnd.Checked)

sb.AppendLine(dtPickerRegEnd.Value.ToString());

if (dtPickerExecBegin.Checked)

sb.AppendLine(dtPickerExecBegin.Value.ToString());

if (dtPickerExecEnd.Checked)

sb.AppendLine(dtPickerExecEnd.Value.ToString());

//sb.AppendLine(comboBoxDocType.Text);

if (checkBoxDocType.Checked)

sb.AppendLine(comboBoxDocType.SelectedValue.ToString());

if (checkBoxDocDir.Checked)

sb.AppendLine(comboBoxDocDir.SelectedValue.ToString());

if (checkBoxDocState.Checked)

sb.AppendLine(comboBoxDocState.SelectedValue.ToString());

sqlQueryFilter = sb.ToString();

//MessageBox.Show(sqlQueryFilter);

DialogResult = System.Windows.Forms.DialogResult.OK;

}

private void FilterForm_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet1.DocStates". При необходимости она может быть перемещена или удалена.

this.docStatesTableAdapter.Fill(this.dataSet1.DocStates);

// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet1.DocDirections". При необходимости она может быть перемещена или удалена.

this.docDirectionsTableAdapter.Fill(this.dataSet1.DocDirections);

// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet1.DocTypes". При необходимости она может быть перемещена или удалена.

this.docTypesTableAdapter.Fill(this.dataSet1.DocTypes);

}

using System;

InitializeComponent();

ToolTip tip1 = new ToolTip();

tip1.SetToolTip(плНазвание, "Название документа");

tip1.AutomaticDelay = 100;

this.плДатаРег1.Value = new DateTime(System.DateTime.Now.Year, 1, 1);

this.плДатаРег2.Value = new DateTime(System.DateTime.Now.Year, 12, 31);

//массив динамический, т.е. размер не ограничен

ArrayList Spisok1 = new ArrayList();

Spisok1.Add(new ClassCombo("1", "Письмо"));

Spisok1.Add(new ClassCombo("2", "Запрос"));

Spisok1.Add(new ClassCombo("3", "Ответ"));

плВид.DataSource = Spisok1;

плВид.DisplayMember = "Name";

плВид.ValueMember = "ID";

плВид.SelectedValue = "-1"; //первое значение никакое

// ПОДКЛЮЧЕНИЕ К SQL

ArrayList Spisok2 = new ArrayList();

SqlCommand cmd1 = new SqlCommand();

SqlConnection cnt1 = new SqlConnection();

cnt1.ConnectionString = Doc.Settings1.Default.canString.ToString();

using (cnt1)

{

cmd1.Connection = cnt1;

cnt1.Open();

cmd1.CommandText = "SELECT cast(Dk_id as varchar(5)), Dk_name FROM DocumentsKorresp";

if (cnt1.State == ConnectionState.Open)

{

SqlDataReader sqlDr = cmd1.ExecuteReader();

if (sqlDr.HasRows)

{

foreach (DbDataRecord rec in sqlDr)

{

Spisok2.Add(new ClassCombo(rec.GetString(0), rec.GetString(1)));

}

}

sqlDr.Dispose();

}

cmd1.Dispose();

}

плКорреспондент.DataSource = Spisok2;

плКорреспондент.DisplayMember = "Name";

плКорреспондент.ValueMember = "ID";

плКорреспондент.SelectedValue = "-1"; //первое значение никакое

}

private void Form_Filter_Load(object sender, EventArgs e)

{

}

private void button1_Click(object sender, EventArgs e)

{

MessageBox.Show(" Name: " + плВид.Text.ToString());

MessageBox.Show(" ID: " + плВид.SelectedValue.ToString());

string str = СтрокаПоиска();

}

private string СтрокаПоиска()

{

string[] StrSQLCondition = new string[7];

string SQLString;

SQLString = "";

if (плНазвание.Text.ToString() != "")

StrSQLCondition[0] = " and Doc_name like '%" + плНазвание.Text.ToString() + "%'";

if (плОписание.Text.ToString() != "")

StrSQLCondition[1] = " and Doc_desc like '%" + плОписание.Text.ToString() + "%'";

if (плВид.SelectedIndex != -1)

StrSQLCondition[2] = " and Documents.Dv_id=" + плВид.SelectedValue.ToString();

if (плКорреспондент.SelectedIndex != -1)

StrSQLCondition[3] = " and Documents.Dk_id=" + плКорреспондент.SelectedValue.ToString();

StrSQLCondition[4] = " and Doc_date >= '" + плДатаРег1.Value.ToString("MM/dd/yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo) + "' and Doc_date <='" + плДатаРег2.Value.ToString("MM/dd/yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo) + "'";

if (плДатаЗакрытия.Checked == true)

StrSQLCondition[5] = " and Doc_date_isp= '" + плДатаЗакрытия.Value.ToString("MM/dd/yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo) + "'";

if (плИсх.Checked == true)

StrSQLCondition[6] = " and Doc_inp_out=0";

if (плВх.Checked == true)

StrSQLCondition[6] = " and Doc_inp_out=1";

foreach (string s in StrSQLCondition)

{

SQLString += s;

}

return SQLString;

}

private void кнпОчистить_Click(object sender, EventArgs e)

{

плНазвание.Text = "";

плОписание.Text = "";

плДатаРег1.Value = new DateTime(System.DateTime.Now.Year, 1, 1);

плДатаРег2.Value = new DateTime(System.DateTime.Now.Year, 12, 31);

плДатаЗакрытия.Checked = false;

плКорреспондент.SelectedIndex = -1;

плВид.SelectedIndex = -1;

}

private void кнпПерейти_Click(object sender, EventArgs e)

{

Form_List f = new Form_List(СтрокаПоиска());

f.ShowDialog();

}

private void кнпПоискКорреспондента_Click(object sender, EventArgs e)

{

Form_FindKorresp f = new Form_FindKorresp();

f.ShowDialog();

плКорреспондент.SelectedValue = f.pKorrespondentID;

}

private void button2_Click(object sender, EventArgs e)

{

}

}

}

Программный код приложения. Модуль формы UserCardForm.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace DC

{

public partial class UserCardForm : Form

{

public UserCardForm()

{

InitializeComponent();

}

private void buttonOk_Click(object sender, EventArgs e)

{

//

if (textBoxFIO.Text.Length > 0 &&

textBoxLogin.Text.Length > 0 &&

textBoxPassword.Text.Length > 0)

{

DialogResult = System.Windows.Forms.DialogResult.OK;

}

else

{

MessageBox.Show("Все поля должны быть заполнены!", "Внимание",

MessageBoxButtons.OK, MessageBoxIcon.Warning);

}

}

public string fio

{

get { return textBoxFIO.Text; }

set { textBoxFIO.Text = value; }

}

public string login

{

get { return textBoxLogin.Text; }

set { textBoxLogin.Text = value; }

}

public string pwdhash

{

get { return Class1.getMd5Hash(textBoxPassword.Text); }

}

public string password

{

set { textBoxPassword.Text = value; }

}

private void textBoxLogin_TextChanged(object sender, EventArgs e)

{

}

}

}

Программный код приложения. Модуль формы UserListForm.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace DC

{

public partial class UserListForm : Form

{

public UserListForm()

{

InitializeComponent();

}

private void UserListForm_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "dataSet1.Users". При необходимости она может быть перемещена или удалена.

this.usersTableAdapter.Fill(this.dataSet1.Users);

}

private void buttonAdd_Click(object sender, EventArgs e)

{

// Добавить пользователя

using (UserCardForm f = new UserCardForm())

{

if (f.ShowDialog() == DialogResult.OK)

{

try

{

// Вызываем хранимую процедуру

usersTableAdapter.add_user(

f.fio,

f.login,

f.pwdhash,

2);

// Обновляем список пользователей

this.usersTableAdapter.Fill(this.dataSet1.Users);

}

catch (Exception)

{

MessageBox.Show("Не могу добавить пользователя!", "Ошибка",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

}

}

private void buttonEdit_Click(object sender, EventArgs e)

{

// Редактировать пользователя

if (dataGridView1.CurrentRow.Cells[2].Value.ToString() == "Admin")

{

MessageBox.Show("Администратора редактировать нельзя!");

return;

}

using (UserCardForm f = new UserCardForm())

{

f.fio = dataGridView1.CurrentRow.Cells[1].Value.ToString();

f.login = dataGridView1.CurrentRow.Cells[2].Value.ToString();

f.password = "";

long user_id = long.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());

if (f.ShowDialog() == DialogResult.OK)

{

try

{

// Вызываем хранимую процедуру

usersTableAdapter.edit_user(

user_id,

f.fio,

f.login,

f.pwdhash,

2);

// Обновляем список пользователей

this.usersTableAdapter.Fill(this.dataSet1.Users);

}

catch (Exception)

{

MessageBox.Show("Не могу обновить данные пользователя!", "Ошибка",

MessageBoxButtons.OK, MessageBoxIcon.Error);

}

}

}

}

private void buttonDel_Click(object sender, EventArgs e)

{

// Удалить пользователя

if (dataGridView1.CurrentRow.Cells[2].Value.ToString() == "Admin")

{

MessageBox.Show("Админа удалить нельзя!");

return;

}

string message = "Вы действительно хотите удалить этого пользователя?";

string caption = "Удаление записи";

MessageBoxButtons buttons = MessageBoxButtons.YesNo;

DialogResult result;

result = MessageBox.Show(message, caption, buttons);

if (result != System.Windows.Forms.DialogResult.Yes)

return;

long user_id = long.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());

try

{

// Вызываем хранимую процедуру

usersTableAdapter.del_user(user_id);

// Обновляем список пользователей

this.usersTableAdapter.Fill(this.dataSet1.Users);

}

catch (Exception)

{

MessageBox.Show("Не могу удалить пользователя!", "Ошибка");

}

}

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)

{

}

}

}

Размещено на Allbest.ru

...

Подобные документы

  • Задачи системы электронного документооборота. Анализ существующих информационных систем. Методы и средства инженерии программного обеспечения. Концептуальная модель данных в BPWin. Построение инфологической модели системы документооборота "Doc_Univer".

    курсовая работа [56,1 K], добавлен 25.03.2014

  • Назначение системы электронного документооборота. Построение функциональной модели поставки товаров в супермаркет. Основные свойства системы электронного документооборота ООО "Ксенокс". Особенности проектирования системы обеспечения продукцией в BPwin.

    курсовая работа [1,4 M], добавлен 15.01.2010

  • Принципы организации документооборота управленческой деятельности. Создание компонентов систем электронного документооборота. Directum: краткое описание системы, решаемые задачи, архитектура. Безопасные приемы работы. Виды опасных и вредных факторов.

    дипломная работа [1,7 M], добавлен 17.03.2013

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

    дипломная работа [1,5 M], добавлен 15.10.2013

  • Принципы автоматизации и типы архитектур систем учета электронного документооборота. Бизнес-процессы в среде "1С: Предприятие 8". Структура информационной базы электронного документооборота деканата. Объекты и методы механизма бизнес-процессов.

    дипломная работа [773,9 K], добавлен 27.06.2013

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

    дипломная работа [5,5 M], добавлен 24.09.2012

  • Современные электронные системы управления и работы с документами. Проблемы традиционных и электронных технологий ДОУ. Выбор эффективной СЭУД (классификация систем электронного управления документами). Защищенность электронного документооборота.

    дипломная работа [124,9 K], добавлен 12.12.2007

  • Основные принципы систем электронного документооборота. Комплексный подход к созданию СЭД. Описание особенностей среды разработки. Создание программного продукта, определение трудоемкости данного процесса и необходимых для его реализации затрат.

    дипломная работа [3,2 M], добавлен 14.05.2012

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

    дипломная работа [5,5 M], добавлен 19.12.2011

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

    курсовая работа [345,4 K], добавлен 06.05.2011

  • Значение документооборота как средства для управления предприятием. Организации системы электронного документооборота и требований, предъявляемых к системам. Проблема выбора системы электронного документооборота на предприятиях малого и среднего бизнеса.

    контрольная работа [31,8 K], добавлен 14.09.2015

  • Основные методы защиты электронного документооборота предприятия. Анализ криптопровайдера "КриптоПро". Построение типовой модели защищенной информационно-телекоммуникационной системы предприятия с применением программных средств криптографической защиты.

    дипломная работа [3,0 M], добавлен 01.07.2011

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

    дипломная работа [1,9 M], добавлен 20.12.2013

  • Процесс создания программы для электронного документооборота учреждения. Оценка ее качественных и количественных показателей. Выбор аппаратной и программной платформы Web-сайта. Разработка функциональной схемы обработки документов и доступа пользователей.

    дипломная работа [233,9 K], добавлен 02.10.2013

  • Разработка технологии работы по заключению договора на поставку с использованием системы электронного документооборота. Назначение и функции информационной технологии на основе СЭД "Дело-Предприятие". Анализ требований к программно-техническим средствам.

    курсовая работа [851,5 K], добавлен 11.03.2013

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

    курсовая работа [501,8 K], добавлен 08.12.2010

  • Использование информационных технологий в здравоохранении. Автоматизация электронного документооборота. Обзор рынка медицинских услуг. Здравоохранение в США. Программная реализация автоматизации электронного документооборота медицинских учреждений.

    отчет по практике [201,0 K], добавлен 27.04.2016

  • Понятие системы электронного документооборота. Документ - способ упорядочения информации. Современные системы электронного оборота документации и их технические возможности. Обзор разработчиков СЭД. Глобальные государственные инициативы в этой сфере.

    реферат [1,5 M], добавлен 09.12.2013

  • Понятие бизнес-процесса. Формы автоматизации регистрации документов. Функции систем электронного управления делопроизводства и документооборота, обоснование их выбора и практическое применение. Структура рынка программных продуктов в области ЭУД.

    курсовая работа [232,8 K], добавлен 17.07.2013

  • Организация конфиденциального документооборота в системе информационной безопасности предприятия на примере ООО "Торговый дом "Алдан". Создание системы взаимодействия бумажного и электронного документооборота. Программно-аппаратные средства защиты.

    курсовая работа [3,1 M], добавлен 12.11.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.