Автор работы: Пользователь скрыл имя, 28 Февраля 2013 в 09:23, дипломная работа
Целью дипломного проекта является разработка программного продукта для автоматизации складского учета Регионального отделения ФСС РФ по РХ. Одним из необходимых требований, предъявленных руководством организации, является минимизация затрат на ввод программы в эксплуатацию и сопровождение. Новая программа позволит оптимизировать складской учет в Региональном отделении ФСС РФ по РХ.
В ходе проведенной работы были сформулированы и решены следующие задачи:
Изучение предметной области;
Анализ входных и выходных данных;
Разработка подсистемы ввода документов, обработки и вывода отчетной информации;
Анализ рынка программных продуктов, для решения задач складского учета;
ВВЕДЕНИЕ 6
1. ХАРАКТЕРИСТИКА СИСТЕМЫ СОЦИАЛЬНОГО СТРАХОВАНИЯ 9
1.1. История развития системы социального страхования в России 9
1.2. Общие положения 10
1.3. Структура Фонда социального страхования РФ 11
1.4. Характеристика организации 12
1.5. Основные задачи Регионального отделения ФСС РФ по РХ 13
1.8. Аппаратное обеспечение Регионального отделения 18
1.9. Единая интегрированная информационная система (ЕИИС) «Соцстрах» 19
1.10. Структура ЕИИС «Соцстрах» 23
Выводы 25
2. ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ ПРОГРАММЫ АВТОМАТИЗАЦИИ СКЛАДСКОГО УЧЕТА 26
2.1. Задачи и общие принципы учета материалов 26
2.2. Постановка задачи 29
2.3. Обзор программного обеспечения автоматизации складского учета 29
2.4. Программа Sklad v. 1.00 34
2.5. Описание программы 34
Выводы 41
3. ТЕХНИКА БЕЗОПАСНОСТИ И САНИТАРНЫЕ НОРМЫ 42
3.1. Описание рабочих мест 42
3.2. Расчет освещенности 42
3.3. Расчет вентиляции 46
3.4. Расчет для помещения 46
3.5. Оценка технических условий труда 48
Выводы 50
4. ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ ЭФФЕКТИВНОСТИ ПРОГРАММНОГО ПРОДУКТА 51
Выводы 55
ЗАКЛЮЧЕНИЕ 56
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 57
ГЛОССАРИЙ 59
СПИСОК АББРЕВИАТУР 61
ПРИЛОЖЕНИЯ 62
П.1. Комплексы задач, реализуемые подсистемами ЕИИС «Соцстрах» 62
П.2. Листинг программы 71
П. 3. Материалы внедрения дипломного проекта 101
П. 4 Демонстрационный материал 103
Продолжение таблицы
1 |
2 |
3 |
4 |
5 |
• отчеты Центрального аппарата Фонда, региональных отделений, филиалов, включая отчеты по капитализированным средствам, о начисленных и выплаченных суммах, об исполнении сметы расходов, сводные таблицы затрат; • приказы (акты) о назначении, изменении, приостановке, прекращении и возобновлении выплат, заявки о потребных суммах на следующий период; • почтовые переводы и поручения (ведомость получателей) для рассылки через Сбербанк. |
||||
15 |
Делопро-изводство |
Ф,Р,М |
1. Автоматизация процессов ведения внешней (входящая и исходящая корреспонденция) и внутренней (служебные записки, резолюции и т.п.) документации в Фонде, позволяющих производить регистрацию, учет движения, архивацию и контроль за исполнением документов во всех подразделениях Фонда. 2. Информационное обслуживание руководства Фонда. |
Находит-ся в разработ-ке |
16 |
Обмен, удаленный доступ |
Ф,Р,М |
1. Обеспечение единого состава данных для обмена. 2. Обеспечение унифицированных форматов передачи данных. 3. Реализация согласованного регламента обмена данными и удаленного доступа. |
Продолжение таблицы
1 |
2 |
3 |
4 |
5 |
4. Реализация операций экспорта и импорта данных для обмена в режиме off-line. |
||||
17 |
Генератор отчетов |
Ф,Р,М |
Автоматизированное получение произвольных отчетных форм на основе информации из баз данных Фонда. |
|
18 |
Админист-рирование баз данных |
Ф,Р,М |
Анализ показателей функционирования локальных вычислительных сетей Фонда. Актуализация (синхронизация) баз данных. Обеспечение использования в ЕИИС единых справочников и классификаторов. Ведение архивных данных. Восстановление |
|
19 |
Информа-ционно-справоч-ная система Фонда |
Ф,Р,М |
Организация WEB-сервера Фонда для: • обеспечения доступа
со стороны исполнительных органов
Фонда к публикуемой • обеспечения обмена
информацией по сети Интернет в форме
конференций между исполнительн • предоставления информационных услуг внешним организациям. |
|
20 |
Инстал-лятор |
Ф,Р,М |
Автоматизированная установка
подсистем ЕИИС "Соцстрах" на технических
средствах исполнительного |
Продолжение таблицы
1 |
2 |
3 |
4 |
5 |
21 |
Конвертор БД |
Ф,Р,М |
Конвертация имеющихся в исполнительных органах ФСС РФ данных на магнитных носителях в структуры данных ЕИИС "Соцстрах". |
|
22 |
Правовое обеспе-чение Фонда |
Ф,Р,М |
Обеспечение исполнительных
органов Фонда полными и Формирование и обработка баз данных правовой документации. |
Находит-ся в разработ-ке |
П.2. Листинг программы
program Sklad;
uses
Forms,
untMain in 'untMain.pas' {frmMain},
untLogin in 'untLogin.pas' {frmLogin},
untUsers in 'untUsers.pas' {frmUsers},
untAbout in 'untAbout.pas' {AboutBox},
untOptions in 'untOptions.pas' {frmOptions},
untSprNom in 'untSprNom.pas' {frmSprNom},
untSprPeriod in 'untSprPeriod.pas' {frmSprPeriod},
untTypes in 'untTypes.pas' {frmTypes},
untOtvet in 'untOtvet.pas' {frmOtvet},
untSprMat in 'untSprMat.pas' {frmSprMat},
untMoveMat in 'untMoveMat.pas' {frmMoveMat},
untReport in 'untReport.pas' {frmReport};
{$R *.RES}
begin
AboutBox:=TAboutBox.Create(
Application.Initialize;
Application.Title := 'Складской учет';
Application.CreateForm(
Application.CreateForm(
Application.CreateForm(
Application.CreateForm(
AboutBox.ShowModal;
Application.Run;
end.
unit untMain;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ExtCtrls, ToolWin, ComCtrls, StdCtrls, Buttons, Db, ADODB, ImgList,
ActnList, DBActns, StdActns;
type
TfrmMain = class(TForm)
MainMenu1: TMainMenu;
mnService: TMenuItem;
mnHelp: TMenuItem;
mnHelpAbout: TMenuItem;
mnServiceOptions: TMenuItem;
mnServiceArchiv: TMenuItem;
mnServiceRepair: TMenuItem;
mnBase: TMenuItem;
mnReport: TMenuItem;
ImageList1: TImageList;
ADOConnectionMain: TADOConnection;
mnFile: TMenuItem;
mnFileConnect: TMenuItem;
mnFileDisconnect: TMenuItem;
mnFileQuit: TMenuItem;
mnBaseUsers: TMenuItem;
mnBaseSpr: TMenuItem;
mnBaseSprNom: TMenuItem;
mnBaseSprMat: TMenuItem;
mnBaseSprPeriod: TMenuItem;
mnBaseSprTip: TMenuItem;
mnBaseSprOtvet: TMenuItem;
mnBaseMove: TMenuItem;
mnReportOborot: TMenuItem;
mnWindow: TMenuItem;
mnWindowCascade: TMenuItem;
mnWindowTile: TMenuItem;
ToolBar1: TToolBar;
tbConnect: TToolButton;
tbSep1: TToolButton;
tbUsers: TToolButton;
tbSep2: TToolButton;
tbBaseSprNom: TToolButton;
tbBaseSprPeriod: TToolButton;
tbBaseSprTip: TToolButton;
tbBaseSprOtvet: TToolButton;
tbBaseSprMat: TToolButton;
ToolButton6: TToolButton;
tbBaseMove: TToolButton;
ToolButton1: TToolButton;
tbReportOborot: TToolButton;
ToolButton3: TToolButton;
tbExit: TToolButton;
ActionListMove: TActionList;
DataSetInsert1: TDataSetInsert;
DataSetDelete1: TDataSetDelete;
DataSetEdit1: TDataSetEdit;
DataSetPost1: TDataSetPost;
mnContenst: TMenuItem;
SaveDialog1: TSaveDialog;
OpenDialog1: TOpenDialog;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure ADOConnectionMainAfterConnect(
procedure mnFileQuitClick(Sender: TObject);
procedure mnFileConnectClick(Sender: TObject);
procedure mnFileDisconnectClick(Sender: TObject);
procedure ADOConnectionMainAfterDisconne
procedure mnHelpAboutClick(Sender: TObject);
procedure mnServiceOptionsClick(Sender: TObject);
procedure mnBaseUsersClick(Sender: TObject);
procedure mnBaseSprNomClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure mnWindowCascadeClick(Sender: TObject);
procedure mnWindowTileClick(Sender: TObject);
procedure mnBaseSprPeriodClick(Sender: TObject);
procedure mnBaseSprTipClick(Sender: TObject);
procedure mnBaseSprOtvetClick(Sender: TObject);
procedure mnBaseSprMatClick(Sender: TObject);
procedure mnBaseMoveClick(Sender: TObject);
procedure mnReportOborotClick(Sender: TObject);
procedure mnContenstClick(Sender: TObject);
procedure mnServiceArchivClick(Sender: TObject);
procedure mnServiceRepairClick(Sender: TObject);
private
{ Private declarations }
public
Is_Admin:Boolean;
DbPath:String;
ToolsPath:String;
ArchivPath:String;
MatSelect:Longint;
Price:Currency;
Edinica:String;
{ Public declarations }
end;
function ExecuteCommand(CommandString:
var
frmMain: TfrmMain;
implementation
uses untBrowse,IniFiles, untLogin, untUsers, untAbout, untOptions,
untSprNom, untSprPeriod, untTypes, untOtvet, untSprMat, untMoveMat,
untReport;
{$R *.DFM}
procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);
var myIni:TIniFile;
begin
mnFileDisconnect.Click;
myIni:=TIniFile.Create(
myIni.WriteInteger(Self.Name,'
myIni.WriteInteger(Self.Name,'
myIni.WriteInteger(Self.Name,'
myIni.WriteInteger(Self.Name,'
case Self.WindowState of
wsNormal:myIni.WriteInteger(
wsMinimized:myIni.
wsMaximized:myIni.WriteInteger
end;
myIni.Free;
end;
procedure TfrmMain.FormCreate(Sender: TObject);
var myIni:TIniFile;
begin
myIni:=TIniFile.Create(
DbPath:=myIni.ReadString('
ToolsPath:=myIni.ReadString('
ArchivPath:=myIni.ReadString('
case myIni.ReadInteger(Self.Name,'
1:
begin
Self.WindowState:=wsNormal;
Self.Left:=myIni.ReadInteger(
Self.Top:=myIni.ReadInteger(
Self.Width:=myIni.ReadInteger(
Self.Height:=myIni.
end;
2:Self.WindowState:=
3:Self.WindowState:=
end;
myIni.Free;
Application.HelpFile :=ExtractFilePath(Application.
end;
procedure TfrmMain.
begin
mnFileConnect.Enabled:=False;
mnFileDisconnect.Enabled:=
mnBase.Enabled:=True;
if Is_Admin then
begin
mnBaseUsers.Enabled:=True;
tbUsers.Enabled:=True;
end
else
begin
mnBaseUsers.Enabled:=False;
tbUsers.Enabled:=False;
end;
mnReport.Enabled:=True;
//Справочник номенклатуры доступен
mnBaseSprNom.Enabled:=True;
tbBaseSprNom.Enabled:=True;
//Справочник периодов доступен
mnBaseSprPeriod.Enabled:=True;
tbBaseSprPeriod.Enabled:=True;
//Справочник типов документов доступен
mnBaseSprTip.Enabled:=True;
tbBaseSprTip.Enabled:=True;
//Справочник ответственных лиц доступен
mnBaseSprOtvet.Enabled:=True;
tbBaseSprOtvet.Enabled:=True;
//Справочник материалов доступен
mnBaseSprMat.Enabled:=True;
tbBaseSprMat.Enabled:=True;
//Движение материалов доступно
mnBaseMove.Enabled:=True;
tbBaseMove.Enabled:=True;
//Оборотка доступна
mnReportOborot.Enabled:=True;
tbReportOborot.Enabled:=True;
//Архивирование не доступно
mnServiceArchiv.Enabled:=
mnServiceRepair.Enabled:=
end;
procedure TfrmMain.mnFileQuitClick(
begin
frmMain.Close;
end;
procedure TfrmMain.mnFileConnectClick(
begin
frmLogin.ShowModal;
end;
procedure TfrmMain.
begin
ADOConnectionMain.Close;
end;
procedure TfrmMain.
begin
mnFileConnect.Enabled:=True;
mnFileDisconnect.Enabled:=
mnBaseUsers.Enabled:=False;
tbUsers.Enabled:=False;
mnReport.Enabled:=False;
mnBase.Enabled:=False;
//Справочник номенклатуры недоступен
mnBaseSprNom.Enabled:=False;
tbBaseSprNom.Enabled:=False;
//Справочник периодов недоступен
mnBaseSprPeriod.Enabled:=
tbBaseSprPeriod.Enabled:=
//Справочник типов документов недоступен
mnBaseSprTip.Enabled:=False;
tbBaseSprTip.Enabled:=False;
//Справочник ответственных лиц недоступен
mnBaseSprOtvet.Enabled:=False;
tbBaseSprOtvet.Enabled:=False;
//Справочник материалов недоступен
mnBaseSprMat.Enabled:=False;
tbBaseSprMat.Enabled:=False;
//Движение материалов недоступно
mnBaseMove.Enabled:=False;
tbBaseMove.Enabled:=False;
//Оборотка недоступна
mnReportOborot.Enabled:=False;
tbReportOborot.Enabled:=False;
//Архивирование доступно НЕ БУДЕТ
//mnServiceArchiv.Enabled:=
//mnServiceRepair.Enabled:=
end;
procedure TfrmMain.mnHelpAboutClick(
begin
AboutBox.ShowModal;
end;
procedure TfrmMain.
begin
frmOptions.ShowModal;
end;
procedure TfrmMain.mnBaseUsersClick(
begin
frmUsers.ShowModal;
end;
procedure TfrmMain.mnBaseSprNomClick(
var fmChild:TfrmSprNom;
begin
fmChild:=TfrmSprNom.Create(
fmChild.Caption:=fmChild.
end;
procedure TfrmMain.FormCloseQuery(
begin
if MessageBox(Self.Handle,'Вы
CanClose:=True
else
CanClose:=False;
end;
procedure TfrmMain.mnWindowCascadeClick(
begin
Self.Cascade;
end;
procedure TfrmMain.mnWindowTileClick(
begin
Self.Tile;
end;
procedure TfrmMain.mnBaseSprPeriodClick(
var fmChild:TfrmSprPeriod;
begin
fmChild:=TfrmSprPeriod.Create(
fmChild.Caption:=fmChild.
end;
procedure TfrmMain.mnBaseSprTipClick(
var fmChild:TfrmTypes;
begin
fmChild:=TfrmTypes.Create(
fmChild.Caption:=fmChild.
end;
procedure TfrmMain.mnBaseSprOtvetClick(
var fmChild:TfrmOtvet;
begin
fmChild:=TfrmOtvet.Create(
fmChild.Caption:=fmChild.
end;
procedure TfrmMain.mnBaseSprMatClick(
var fmChild:TfrmSprMat;
begin
fmChild:=TfrmSprMat.Create(
fmChild.Caption:=fmChild.
end;
procedure TfrmMain.mnBaseMoveClick(
var fmChild:TfrmMoveMat;
begin
fmChild:=TfrmMoveMat.Create(Ap
fmChild.Caption:=fmChild.
end;
procedure TfrmMain.mnReportOborotClick(
var fmChild:TfrmReport;
begin
fmChild:=TfrmReport.Create(
fmChild.Caption:=fmChild.
end;
procedure TfrmMain.mnContenstClick(
begin
Application.HelpCommand(HELP_
end;
function ExecuteCommand(CommandString:
var
si:STARTUPINFO;
pi:PROCESS_INFORMATION;
cmdline:string;
begin
ZeroMemory(@si,sizeof(si));
si.cb:=SizeOf(si);
cmdline:=CommandString;
if not CreateProcess( nil, // No module name (use command line).
PChar(cmdline), // Command line.
nil, // Process handle not inheritable.
nil, // Thread handle not inheritable.
False, // Set handle inheritance to FALSE.
0, // No creation flags.
nil, // Use parent's environment block.
nil, // Use parent's starting directory.
si, // Pointer to STARTUPINFO structure.
pi ) // Pointer to PROCESS_INFORMATION structure.
then
begin
result:=False;
Exit;
end;
WaitForSingleObject( pi.hProcess, INFINITE );
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
result:=True;
end;
procedure TfrmMain.mnServiceArchivClick(
var ArchName:String;
Year,Month,Day:Word;
begin
//Архивируем базу данных
DecodeDate(Date,Year,Month,
if Day<10 then ArchName:=ArchName+'0'+
if Month<10 then ArchName:=ArchName+'_0'+
ArchName:=ArchName+'_'+
SaveDialog1.FileName:=
if SaveDialog1.Execute then