Файл: Проектирование реализации операций бизнес-процесса «Управление документооборотом» (Информационная модель и её описание).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 27.05.2023

Просмотров: 106

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Рис. 2.19 Экранная форма пункта меню «Отчет», вкладка «О принтере» разрабатываемой подсистемы

Рис. 2.20 Экранная форма пункта меню «Отчет», вкладка «Ремонт» разрабатываемой подсистемы

Рис. 2.21 Экранная форма пункта меню «Отчет», вкладка «Перемещение»

Рис. 2.22 Экранная форма пункта меню «Отчет», формирование excel –документа учетная карточка

Рис. 2.23 Экранная форма пункта меню «Отчет», формирование excel –документа отчет по материалам

Таким образом, в работе спроектирована модель автоматизации процесса управления документацией на примере предприятия ОАО «Бобруйский ГАП № 1».

Заключение

На предприятии ОАО «Бобруйский ГАП № 1» исследован процесс управления документооборотом. Цель работы была достигнута, автоматизирован процесс ведения документации и отчетности в ОАО «Бобруйский ГАП № 1». Решены основные задачи, а именно:

  • изучены основные бизнес - процессы на предприятии ОАО «Бобруйский ГАП № 1»;
  • выявлены недостатки в существующей системе ведения документации и отчетности ОАО «Бобруйский ГАП № 1», определяющих необходимость автоматизации;
  • обоснован выбор проектных решений для решения задачи автоматизации;
  • обоснована экономическая эффективность проекта.

В рамках разрабатываемой темы «Автоматизация процесса ведения документации и отчетности в ОАО «Бобруйский ГАП № 1» определено наиболее уязвимое место в организации документооборота предприятия. Так на предприятии ОАО «Бобруйский ГАП № 1» возникли трудности с ведением документации и отчетности по учету расходов на содержании и передачи в ремонт принтеров и многофункциональных устройств, так как принтера на предприятии относят к малоценным быстроизнашивающимся предметам. Возникшая ситуация потребовала дополнительного учета, позволяющего оперативно добавлять их либо в учет основных затрат предприятия для ежемесячного расчета результатов экономической деятельности.

На ОАО «Бобруйский ГАП № 1» уже стоит и обслуживается версия "1С:Бухгалтерия 8" версии 8.2, в конфигурацию которой были внесены изменения и дополнения руководство предприятия и работники бухгалтерии предпочитают не изменять версию программы, чтобы не утерять уже дополненные разработанные модули, к тому же даже в версии 8.3 нет возможности отдельного учета материалов, с возможностью по необходимости переноса ценностей к основным средствам. Для решения задачи автоматизации ведения документации и отчетности на ОАО «Бобруйский ГАП № 1» наиболее приемлемой стратегией автоматизации является автоматизация по направлениям, так как поставленная задача затрагивает несколько отделов и является дополнением к уже существующему в ОАО «Бобруйский ГАП № 1» программному обеспечению. Результатом автоматизации процесса ведения документации и отчетности предприятия ОАО «Бобруйский ГАП № 1», в рамках решения задачи учета принтеров и МФУ разработана подсистема, дополняющая основную информационную систему. В процессе работы подсистемы формируются такие выходные документы, как: Учетная карточка и Отчет по материалам, а также электронные отчеты: о принтере, перемещение и ремонт. Вследствие автоматизации затраты времени на оформление и обработку документов по ведению учета и отчетности принтеров и МФУ сократятся на 67,4 часов в год, по сравнению с использованием бумажных носителей.


В разработанной подсистемы, дополняющей основную информационную систему ведения документации и отчетности на предприятии и решающей задачу учета принтеров и МФУ предприятия ОАО «Бобруйский ГАП № 1», используется СУБД Microsoft Access и язык программирования. В C++ Builder достаточно легко работать с базами данных Microsoft Access благодаря компонентам ADO. Выбор средства разработки поставленной задачи в рамках автоматизации ведения документации и отчетности проведено совместно с инженером предприятия ОАО «Бобруйский ГАП № 1». Приемлемыми средством разработки была принята RAD Studio 10.2, как один из удобных способов создавать приложения, работающие с данными, с визуально привлекательным пользовательским интерфейсом для Windows с помощью Delphi и C++.  Позволяет создавать клиент-серверные и многоуровневые взаимодействующие приложения, подключающиеся к широкому спектру корпоративных баз данных и облачных платформ.

Список использованных источников

  1. ISO/IEC 12207 Systems and software engineering — Software life cycle processes, разработан подкомитетом ПК 7 «Системная и программная инженерия» Совместного технического комитета №1 ИСО/МЭК «Информационные технологии» от 1.08.2008 г.;
  2. ГОСТ Р ИСО/МЭК 12207-99 «Процессы жизненного цикла программных средств», принят и введен в действие постановлением Госстандарта РФ от 23 декабря 1999 г. N 675-ст;
  3. СТБ ИСО/МЭК 12207-2003 «Информационные технологии. Процессы жизненного цикла программных средств», утвержден постановлением Госстандарта РБ от 19.03.2003 г.;
  4. СТБ 6.10.1-95 «Унифицированные системы документации Республики Беларусь. Основные положения», утвержден постановлением Госстандарта РБ от 01.10.1995;
  5. Общегосударственный классификатор Республики Беларусь
    010-95 «Унифицированные документы», утвержден постановлением Госстандарта РБ от 29 сентября 1995 г.;
  6. Общегосударственный классификатор «Основные средства и нематериальные активы» (ОКРБ 020-2002), утвержден постановлением Госстандарта РБ от 27.09.2002 № 48;
  7. Инструкция по бухгалтерскому учету основных средств, утвержденная Постановлением Министерства финансов Республики Беларусь от 12.12.2001 г. N 118;
  8. Постановлением Министерства финансов Республики Беларусь от 23.03.2004 г. N 41 «Об установлении лимита отнесения имущества к отдельным предметам в составе оборотных средств»;
  9. Руководящий документ «Методология функционального моделирования IDEF0», принят и введен в действие Постановлением Госстандарта России, 2000 г.
  10. Архангельский, А. Я. C++Builder. Работа с документами Excel / А.Я. Архангельский. - М.: Бином-Пресс2016. - 480 стр.: ил.;
  11. Гагарина Л. Г., Кокорева Е. В., Висанадул Б. Д. Технология разработки программного обеспечения, М.: ИД «ФОРУМ» - ИНФРА – М, 2009 – 400 стр.: ил.;
  12. Грекул В.И., Денищенко Г.Н., Коровкина Н.Л. Проектирование информационных систем - М.: ИУИТ, 2012 - 300 стр.: ил.;
  13. Кузнецов С. Д. Базы данных. Модели и языки – М.: Бином-Пресс, 2013 г. - 720 стр.: ил.;
  14. Липпман С. Б. Основы программирования на C++: Пер. с англ. — М.: Вильямс, 2002. — 256 стр. : ил.;
  15. Мельников В. П. Информационная безопасность и защита информации: Академия, 2012, - 336 стр. : ил.;
  16. Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных. Учебник для высших учебных заведений, М.: - КОРОНА-Век, 6-е издание, 2009. – 729 стр.: ил.;
  17. Фаронов В.В. «Delphi. Программирование на языке высокого уровня: Учебник для вузов». Издательский дом "Питер", 2013 - 642 стр.: ил.;
  18. Фатрелл Р., Шафер Д., Л. Шафер Л. Управление программными проектами: достижение оптимального качества при минимуме затрат, М.: Вильямс, 2003. – 1136 стр.: ил.;
  19. Герасимчук В. А. Автоматизация процессов предприятия // Молодой ученый. — 2016. — №11. — С. 654-657;
  20. Рысина В. А., Черепина И. О. Автоматизация учета материально-производственных запасов // Вопросы экономики и управления. — 2017. — №2. — С. 50-52;
  21. GS «Учет: услуги, торговля и склад при УСН» [Электронный ресурс] // Golubsofn [Офиц. сайт]. http://www.golubsoft.by/products/gs-uchet-uslugi-torgovlya-i-sklad-pri-usn (дата обращения: 13.12.2018);
  22. Программа материального учета [Электронный ресурс] // Разработка программного обеспечения для автоматизации бизнеса [Офиц. сайт]. http://usu.kz/programma_materialnogo_ucheta.php (дата обращения: 13.12.2018);
  23. Функциональные подсистемы 1С [Электронный ресурс] // "1С:Бухгалтерия 8" для Беларуси [Офиц. сайт]. http://svoyasistema.by/prodykty/bukhgalteriya/ (дата обращения: 13.12.2018).

Приложение А

ЛИСТИНГ

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

void __fastcall TForm1::Button1Click(TObject *Sender)

{

Form1->Hide();

Form3->Show();

}

void __fastcall TForm1::Button2Click(TObject *Sender)

{

Form1->Hide();

Form5->Show();

}

void __fastcall TForm1::Button3Click(TObject *Sender)

{

Form1->Hide();

Form7->Show();

}

//---------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)

{

Form1->Hide();

Form8->Show();

}

void __fastcall TForm1::Button5Click(TObject *Sender)

{

Form1->Close();

}

void __fastcall TForm1::Button6Click(TObject *Sender)

{

Form1->Hide();

Form10->Show();

}

__fastcall TDataModule2::TDataModule2(TComponent* Owner)

: TDataModule(Owner)

TForm3 *Form3;

__fastcall TForm3::TForm3(TComponent* Owner)

: TForm(Owner)

{

}

void __fastcall TForm3::FormClose(TObject *Sender, TCloseAction &Action)

{

Form1->Show();

}

void __fastcall TForm3::Button1Click(TObject *Sender)

{

Form3->Close();

}

void __fastcall TForm3::Button3Click(TObject *Sender)

{

int result=Application->MessageBox(L"Вы уверены что хотите удалить выбранный принтер?",L"Подтверждение", MB_YESNO);

if(result == IDYES)

{DBGrid1->DataSource->DataSet->Delete();}

Button4->Enabled=false;

Button3->Enabled=false;

}

void __fastcall TForm3::Button2Click(TObject *Sender)

{

Form3->Hide();

Form4->Caption="Добавление нового принтера";

Form4->Show();

}

void __fastcall TForm3::FormShow(TObject *Sender)

{

DataModule2->ADOQuery1->Close();

DataModule2->ADOQuery1->SQL->Clear();

DataModule2->ADOQuery1->SQL->Add("SELECT * FROM Printer;");

DataModule2->ADOQuery1->Open();

}

void __fastcall TForm3::Button4Click(TObject *Sender)

{

Form3->Hide();

Form4->Caption="Изменение выбранного принтера";

Form4->Edit1->Text=DBGrid1->DataSource->DataSet->FieldByName("PInv_num")->Text;

Form4->Edit2->Text=DBGrid1->DataSource->DataSet->FieldByName("PName")->Text;

Form4->Edit3->Text=DBGrid1->DataSource->DataSet->FieldByName("POtdel")->Text;

Form4->Edit4->Text=DBGrid1->DataSource->DataSet->FieldByName("PInv_num")->Text;

Form4->Edit5->Text=DBGrid1->DataSource->DataSet->FieldByName("PName")->Text;

Form4->Edit6->Text=DBGrid1->DataSource->DataSet->FieldByName("POtdel")->Text;

DBGrid1->DataSource->DataSet->Delete();

Form4->Show();

}

void __fastcall TForm3::DBGrid1CellClick(TColumn *Column)

{

if (DBGrid1->DataSource->DataSet->RecordCount>0) {

Button4->Enabled=true;

Button3->Enabled=true;

}

else

{

Button4->Enabled=false;

Button3->Enabled=false;

}

}

TForm4 *Form4;

__fastcall TForm4::TForm4(TComponent* Owner)

: TForm(Owner)

{

}

void __fastcall TForm4::Button1Click(TObject *Sender)

{

if(Button2->Caption=="Изменить")

{DataModule2->ADOQuery2->Close();

DataModule2->ADOQuery2->SQL->Clear();

DataModule2->ADOQuery2->SQL->Add("INSERT INTO Printer VALUES ("+Edit4->Text+", '"+Edit5->Text+"', '"+Edit6->Text+"');");

DataModule2->ADOQuery2->ExecSQL();}

Form4->Close();

}

void __fastcall TForm4::Button2Click(TObject *Sender)

{

int num=0;

int d=1;

if(Edit1->Text.IsEmpty() || Edit2->Text.IsEmpty() || Edit3->Text.IsEmpty() || isalpha(Edit1->Text[1]))

{Application->MessageBox(L"Не все поля заполнены либо заполнены не верно!",L"Ошибка!", MB_OK);}


else{

DataModule2->ADOQuery2->Close();

DataModule2->ADOQuery2->SQL->Clear();

DataModule2->ADOQuery2->SQL->Add("SELECT COUNT(*) AS Pole FROM Printer WHERE PInv_num ="+Edit1->Text+";");

DataModule2->ADOQuery2->Open();

d = DataModule2->ADOQuery2->FieldByName("Pole")->AsInteger;

if(d==0)

{

DataModule2->ADOQuery2->Close();

DataModule2->ADOQuery2->SQL->Clear();

DataModule2->ADOQuery2->SQL->Add("INSERT INTO Printer VALUES ("+Edit1->Text+", '"+Edit2->Text+"', '"+Edit3->Text+"');");

DataModule2->ADOQuery2->ExecSQL();

Form4->Close();

Form3->Show();}

else{Application->MessageBox(L"Данный инвентарный номер уже существует!",L"Ошибка!", MB_OK);}

}

}

void __fastcall TForm4::FormClose(TObject *Sender, TCloseAction &Action)

{

Edit1->Clear();

Edit2->Clear();

Edit3->Clear();

Form3->Show();

}

void __fastcall TForm4::FormShow(TObject *Sender)

{

if(Form4->Caption=="Изменение выбранного принтера")

{Button2->Caption="Изменить";}

else{Button2->Caption="Добавить";}

}

TForm5 *Form5;

__fastcall TForm5::TForm5(TComponent* Owner)

: TForm(Owner)

{

}

void __fastcall TForm5::Button1Click(TObject *Sender)

{

Form5->Close();

}

void __fastcall TForm5::FormShow(TObject *Sender)

{

DataModule2->ADOQuery1->Close();

DataModule2->ADOQuery1->SQL->Clear();

DataModule2->ADOQuery1->SQL->Add("SELECT * FROM Remont;");

DataModule2->ADOQuery1->Open();

}

void __fastcall TForm5::FormClose(TObject *Sender, TCloseAction &Action)

{

Form1->Show();

}

void __fastcall TForm5::Button3Click(TObject *Sender)

{

int result=Application->MessageBox(L"Вы уверены что хотите удалить выбранный принтер?",L"Подтверждение", MB_YESNO);

if(result == IDYES)

{DBGrid1->DataSource->DataSet->Delete();}

Button4->Enabled=false;

Button3->Enabled=false;

}

void __fastcall TForm5::Button2Click(TObject *Sender)

{

Form5->Hide();

Form6->Caption="Добавление нового принтера для ремонта";

Form6->Show();

}

void __fastcall TForm5::Button4Click(TObject *Sender)

{

Form5->Hide();

Form6->Caption="Изменение выбранного принтера";

Form6->ComboBox1->Text=DBGrid1->DataSource->DataSet->FieldByName("RInv_num")->Text;

Form6->DateTimePicker1->DateTime=DBGrid1->DataSource->DataSet->FieldByName("RDate_otpr")->AsDateTime;

Form6->DateTimePicker1->DateTime=DBGrid1->DataSource->DataSet->FieldByName("RDate_pol")->AsDateTime;

Form6->Edit2->Text=DBGrid1->DataSource->DataSet->FieldByName("RCause")->Text;

Form6->Edit3->Text=DBGrid1->DataSource->DataSet->FieldByName("RCost")->Text;

Form6->Edit4->Text=DBGrid1->DataSource->DataSet->FieldByName("RInv_num")->Text;

Form6->Edit5->Text=DBGrid1->DataSource->DataSet->FieldByName("RDate_otpr")->Text;

Form6->Edit6->Text=DBGrid1->DataSource->DataSet->FieldByName("RDate_pol")->Text;

Form6->Edit7->Text=DBGrid1->DataSource->DataSet->FieldByName("RCause")->Text;

Form6->Edit8->Text=DBGrid1->DataSource->DataSet->FieldByName("RCost")->Text;

DBGrid1->DataSource->DataSet->Delete();

Form6->Show();

}

void __fastcall TForm5::DBGrid1CellClick(TColumn *Column)

{

if (DBGrid1->DataSource->DataSet->RecordCount>0) {

Button4->Enabled=true;

Button3->Enabled=true;

}

else

{

Button4->Enabled=false;

Button3->Enabled=false;

}

}

TForm6 *Form6;

bool otmena=true;

__fastcall TForm6::TForm6(TComponent* Owner)

: TForm(Owner)

{

}

void __fastcall TForm6::FormShow(TObject *Sender)


{

int index = 0;

ComboBox1->Items->Clear();

DataModule2->ADOQuery2->Close();

DataModule2->ADOQuery2->SQL->Clear();

DataModule2->ADOQuery2->SQL->Add("SELECT PInv_num FROM Printer;");

DataModule2->ADOQuery2->Open();

DataModule2->ADOQuery2->First();

for(int i=0;i<DataModule2->ADOQuery2->RecordCount;i++)

{ComboBox1->Items->Add(DataModule2->ADOQuery2->FieldValues["PInv_num"]);

DataModule2->ADOQuery2->Next();}

if(Form6->Caption=="Изменение выбранного принтера")

{Button2->Caption="Изменить";

for(int i=0;i<ComboBox1->Items->Count;i++)

{

if(ComboBox1->Items->Strings[i]==Edit4->Text){

index = i;}

}

ComboBox1->ItemIndex=index;

}

else{Button2->Caption="Добавить";

}

}

void __fastcall TForm6::Button2Click(TObject *Sender)

{

if(ComboBox1->Text.IsEmpty() || Edit2->Text.IsEmpty() || Edit3->Text.IsEmpty())

{Application->MessageBox(L"Не все поля заполнены либо заполнены не верно!",L"Ошибка!", MB_OK);}

else{

DataModule2->ADOQuery2->Close();

DataModule2->ADOQuery2->SQL->Clear();

DataModule2->ADOQuery2->SQL->Add("INSERT INTO Remont VALUES ("+ComboBox1->Text+", '"+DateTimePicker1->DateTime+"', '"+DateTimePicker2->DateTime+"', '"+Edit2->Text+"', '"+Edit3->Text+"');");

DataModule2->ADOQuery2->ExecSQL();

otmena=false;

Form6->Close();}

}

void __fastcall TForm6::Button1Click(TObject *Sender)

{

Form6->Close();

}

void __fastcall TForm6::FormClose(TObject *Sender, TCloseAction &Action)

{

if(Button2->Caption=="Изменить" && otmena==true){

DataModule2->ADOQuery2->Close();

DataModule2->ADOQuery2->SQL->Clear();

DataModule2->ADOQuery2->SQL->Add("INSERT INTO Remont VALUES ("+Edit4->Text+", '"+Edit5->Text+"', '"+Edit6->Text+"', '"+Edit7->Text+"', '"+Edit8->Text+"');");

DataModule2->ADOQuery2->ExecSQL(); }

otmena=true;

Edit2->Text="";

Edit3->Text="";

Form5->Show();

}

TForm7 *Form7;

__fastcall TForm7::TForm7(TComponent* Owner)

: TForm(Owner)

{

}

void __fastcall TForm7::FormShow(TObject *Sender)

{

ComboBox1->Items->Clear();

DataModule2->ADOQuery1->Close();

DataModule2->ADOQuery1->SQL->Clear();

DataModule2->ADOQuery1->SQL->Add("SELECT PInv_num FROM Printer;");

DataModule2->ADOQuery1->Open();

DataModule2->ADOQuery1->First();

for(int i=0;i<DataModule2->ADOQuery1->RecordCount;i++)

{ComboBox1->Items->Add(DataModule2->ADOQuery1->FieldValues["PInv_num"]);

DataModule2->ADOQuery1->Next(); }

}

void __fastcall TForm7::ComboBox1Change(TObject *Sender)

{

if(!(ComboBox1->Text.IsEmpty()))

{

DataModule2->ADOQuery2->Close();

DataModule2->ADOQuery2->SQL->Clear();

DataModule2->ADOQuery2->SQL->Add("SELECT POtdel FROM Printer WHERE PInv_num="+ComboBox1->Text+";");

DataModule2->ADOQuery2->Open();

DataModule2->ADOQuery2->First();

Edit1->Text=DataModule2->ADOQuery2->FieldValues["POtdel"];

Edit2->Enabled=true;

if(!(Edit2->Text.IsEmpty()))

{Button2->Enabled=true;}

else{Button2->Enabled=false;}

}

else{

Edit1->Text="";

Edit2->Text="";

Edit2->Enabled=false;}

}

void __fastcall TForm7::FormClose(TObject *Sender, TCloseAction &Action)

{

Form1->Show();

}

void __fastcall TForm7::Button1Click(TObject *Sender)

{

Edit1->Text="";

Edit2->Text="";

Form7->Close();

}

void __fastcall TForm7::Edit2Change(TObject *Sender)

{

if(!(Edit2->Text.IsEmpty()))

{Button2->Enabled=true;}

else{Button2->Enabled=false;}

}

void __fastcall TForm7::Button2Click(TObject *Sender)

{

DataModule2->ADOQuery2->Close();