Автор: Пользователь скрыл имя, 19 Марта 2012 в 23:03, курсовая работа
Целью дипломного проекта является разработка программного продукта для автоматизации складского учета Регионального отделения ФСС РФ по РХ. Одним из необходимых требований, предъявленных руководством организации, является минимизация затрат на ввод программы в эксплуатацию и сопровождение. Новая программа позволит оптимизировать складской учет в Региональном отделении ФСС РФ по РХ.
ВВЕДЕНИЕ 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
Background:=clCream;
end;
procedure TfrmMoveMat.tbFilterClick(
begin
if tbFilter.Down=True then
begin
ADOQueryMove.SQL.Clear;
ADOQueryMove.SQL.Add('SELECT')
ADOQueryMove.SQL.Add(' Движение.Код AS Код,');
ADOQueryMove.SQL.Add(' Движение.Тип AS Тип,');
ADOQueryMove.SQL.Add(' Движение.Документ AS Документ,');
ADOQueryMove.SQL.Add(' Движение.Дата AS Дата,');
ADOQueryMove.SQL.Add(' Движение.Сумма AS Сумма,');
ADOQueryMove.SQL.Add(' Движение.Ответственный AS Ответственный,');
ADOQueryMove.SQL.Add(' Движение.Примечания AS Примечания,');
ADOQueryMove.SQL.Add(' Типы.Статус AS Статус');
ADOQueryMove.SQL.Add('FROM');
ADOQueryMove.SQL.Add(' Движение INNER JOIN Типы ON Типы.Код = Движение.Тип');
ADOQueryMove.SQL.Add('WHERE Движение.Дата>=#'+Copy(
ADOQueryMove.SQL.Add('
ADOQueryMove.SQL.Add('ORDER BY Движение.Дата, Движение.Документ;');
ADOQueryMove.Active:=True;
end
else
begin
ADOQueryMove.SQL.Clear;
ADOQueryMove.SQL.Add('SELECT')
ADOQueryMove.SQL.Add(' Движение.Код AS Код,');
ADOQueryMove.SQL.Add(' Движение.Тип AS Тип,');
ADOQueryMove.SQL.Add(' Движение.Документ AS Документ,');
ADOQueryMove.SQL.Add(' Движение.Дата AS Дата,');
ADOQueryMove.SQL.Add(' Движение.Сумма AS Сумма,');
ADOQueryMove.SQL.Add(' Движение.Ответственный AS Ответственный,');
ADOQueryMove.SQL.Add(' Движение.Примечания AS Примечания,');
ADOQueryMove.SQL.Add(' Типы.Статус AS Статус');
ADOQueryMove.SQL.Add('FROM');
ADOQueryMove.SQL.Add(' Движение INNER JOIN Типы ON Типы.Код = Движение.Тип');
ADOQueryMove.SQL.Add('ORDER BY Движение.Дата, Движение.Документ;');
ADOQueryMove.Active:=True;
end;
end;
procedure TfrmMoveMat.
Sender: TObject; var Handled: Boolean);
var FormMat:TfrmSprMat;
begin
frmMain.MatSelect:=0;
FormMat:=TfrmSprMat.Create(
FormMat.tbSeparator.Visible:=
FormMat.tbSelect.Visible:=
FormMat.FormStyle:=fsNormal;
FormMat.Visible:=False;
FormMat.ShowModal;
if frmMain.MatSelect<>0 then
begin
ADODataSetContenst.Edit;
ADODataSetContenst.
ADODataSetContenst.
ADODataSetContenst.
ADODataSetContenst.
ADODataSetContenst.
DBGridEhContenst.
end;
end;
procedure TfrmMoveMat.
var Key: Word; Shift: TShiftState);
begin
if (Key=VK_RETURN) and (Shift=[ssAlt]) then tbContenst.Click;
end;
procedure TfrmMoveMat.DBGridEh1KeyDown(
Shift: TShiftState);
begin
if (Key=VK_RETURN) and (Shift=[ssAlt]) then tbContenst.Click;
end;
procedure TfrmMoveMat.
var Handled: Boolean);
var Rs:TADOQuery;
begin
Rs:=TADOQuery.Create(
Rs.Connection:=frmMain.
Rs.SQL.Add('SELECT Sum(Состояние.Сумма) AS Итог
FROM Состояние WHERE Документ='+ADOQueryMove.
Rs.Active:=True;
ADOQueryMove.Edit;
if Rs.FieldByName('Итог').IsNull then
ADOQueryMove.FieldByName('
else
ADOQueryMove.FieldByName('
Rs.Active:=False;
Rs.Close;
end;
procedure TfrmMoveMat.
begin
if isClosePeriod(DataSet.
Raise Exception.Create('Период
end;
function TfrmMoveMat.isClosePeriod(
var Year,Month,Day:Word;
Rs:TADOQuery;
begin
Result:=True;
DecodeDate(DatePeriod,Year,
Rs:=TADOQuery.Create(
Rs.Connection:=frmMain.
Rs.SQL.Clear;
Rs.SQL.Add('select * from Периоды where Year(Период)='+IntToStr(Year)+
Rs.Active:=True;
if Rs.RecordCount<>0 then
if Rs.FieldByName('Доступ').
Rs.Close;
Rs.Free;
end;
procedure TfrmMoveMat.
var Rs:TADOQuery;
begin
Rs:=TADOQuery.Create(
Rs.Connection:=frmMain.
Rs.SQL.Add('SELECT Sum(Состояние.Сумма) AS Итог
FROM Состояние WHERE Документ='+ADOQueryMove.
Rs.Active:=True;
ADOQueryMove.Edit;
ADOQueryMove.FieldByName('
ADOQueryMove.Post;
Rs.Active:=False;
Rs.Close;
ItogFoterContenst;
end;
procedure TfrmMoveMat.
begin
if ADODataSetContenst.RecNo<>-1 then
StatusBar1.Panels[0].Text:=
else
StatusBar1.Panels[0].Text:='
end;
procedure TfrmMoveMat.
begin
if isClosePeriod(ADOQueryMove.
Raise Exception.Create('Период
else
ADODataSetContenst.
end;
procedure TfrmMoveMat.
begin
DataSet.Refresh;
end;
procedure TfrmMoveMat.ItogFoterContenst;
var ADOQ:TADOQuery;
begin
ADOQ:=TADOQuery.Create(
ADOQ.Connection:=frmMain.
ADOQ.SQL.Add('select count(Документ) as Кол, sum(Сумма)
as Итог from Состояние where Документ='+ADOQueryMove.
ADOQ.Active:=True;
DBGridEhContenst.Columns[1].
DBGridEhContenst.Columns[4].
ADOQ.Close;
end;
procedure TfrmMoveMat.tbDeleteClick(
begin
if isClosePeriod(ADOQueryMove.
MessageBox(Self.Handle,'
else
if MessageBox(Self.Handle,'
if PageControl1.Pages[0].Showing=
if ADOQueryMove.RecordCount<>0 then ADOQueryMove.Delete
else
if ADODataSetContenst.
end;
end.
unit untReport;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGridEh, ComCtrls, StdCtrls, Mask, DBCtrlsEh, ToolWin,
DB, ADODB, ImgList, FR_Class, FR_DSet, FR_DBSet;
type
TfrmReport = class(TForm)
ToolBar2: TToolBar;
DBDate1: TDBDateTimeEditEh;
DBDate2: TDBDateTimeEditEh;
tbReport: TToolButton;
DBGridEh1: TDBGridEh;
StatusBar1: TStatusBar;
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
ADOQuery1DSDesigner: TWideStringField;
ADOQuery1DSDesigner2: TSmallintField;
ADOQuery1DSDesigner3: TWideStringField;
ADOQuery1DSDesigner4: TFloatField;
ADOQuery1DSDesigner5: TBCDField;
ADOQuery1DSDesigner6: TFloatField;
ADOQuery1DSDesigner7: TBCDField;
ADOQuery1DSDesigner8: TFloatField;
ADOQuery1DSDesigner9: TBCDField;
ADOQuery1DSDesigner10: TFloatField;
ADOQuery1DSDesigner11: TBCDField;
ImageListReport: TImageList;
ToolButton1: TToolButton;
tbPrint: TToolButton;
frReport1: TfrReport;
frDBDataSet1: TfrDBDataSet;
ADOQuery1DSDesigner12: TWideStringField;
ADOQuery1DSDesigner13: TBCDField;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ADOQuery1AfterScroll(DataSet: TDataSet);
procedure tbReportClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure tbPrintClick(Sender: TObject);
procedure ADOQuery1BeforeOpen(DataSet: TDataSet);
procedure ADOQuery1BeforeClose(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmReport: TfrmReport;
implementation
uses untMain;
{$R *.dfm}
procedure TfrmReport.FormClose(Sender: TObject; var Action: TCloseAction);
var Rs:TADOQuery;
begin
//Заполняем поля фильтра в базу
Rs:=TADOQuery.Create(
Rs.Connection:=frmMain.
Rs.SQL.Add('select * from options');
Rs.Active:=True;
Rs.Edit;
Rs.FieldByName('Date1').Value:
Rs.FieldByName('Date2').Value:
Rs.Post;
Rs.Active:=False;
Rs.Close;
ADOQuery1.Active:=False;
Action:=caFree;
end;
procedure TfrmReport.
begin
if ADOQuery1.RecNo<>-1 then
StatusBar1.Panels[0].Text:=
else
StatusBar1.Panels[0].Text:='
end;
procedure TfrmReport.tbReportClick(
var AddCom:TADOCommand;
begin
ADOQuery1.Active:=False;
AddCom:=TADOCommand.Create(
AddCom.Connection:=frmMain.
//Очистка таблицы
AddCom.CommandText:='DELETE Отчет_по_материалам.* FROM Отчет_по_материалам;';
AddCom.Execute;
//Сальдо на начало
AddCom.CommandText:='INSERT INTO Отчет_по_материалам ( Материал, СальдоНачКол, СальдоНачСум ) '+
'SELECT Состояние.Материал, Sum([Типы].[Статус]*[
'FROM (Типы INNER JOIN Движение ON Типы.Код = Движение.Тип) INNER JOIN Состояние ON Движение.Код = Состояние.Документ '+
'WHERE (((Движение.Дата)<#'+Copy(
'GROUP BY Состояние.Материал;';
AddCom.Execute;
//Сальдо на конец
AddCom.CommandText:='INSERT INTO Отчет_по_материалам ( Материал, СальдоКонКол, СальдоКонСум ) '+
'SELECT Состояние.Материал, Sum([Типы].[Статус]*[
'FROM (Типы INNER JOIN Движение ON Типы.Код = Движение.Тип) INNER JOIN Состояние ON Движение.Код = Состояние.Документ '+
'WHERE (((Движение.Дата)<=#'+Copy(
'GROUP BY Состояние.Материал;';
AddCom.Execute;
//Приход-расход
AddCom.CommandText:='INSERT INTO Отчет_по_материалам ( Материал, ПриходКол, ПриходСум, РасходКол, РасходСум ) '+
'SELECT Состояние.Материал, IIf([Типы].[Статус]=1,[
'FROM (Типы INNER JOIN Движение ON Типы.Код = Движение.Тип) INNER JOIN Состояние ON Движение.Код = Состояние.Документ '+
'WHERE (((Движение.Дата)>=#'+Copy(
AddCom.Execute;
ADOQuery1.Active:=True;
end;
procedure TfrmReport.FormCreate(Sender: TObject);
var Rs:TADOQuery;
begin
Self.Top:=10;
Self.Width:=frmMain.
Self.Height:=frmMain.
Self.Left:=(Screen.Width-Self.
//Заполняем поля фильтра
Rs:=TADOQuery.Create(
Rs.Connection:=frmMain.
Rs.SQL.Add('select * from options');
Rs.Active:=True;
DBDate1.Value:=Rs.FieldByName(
DBDate2.Value:=Rs.FieldByName(
Rs.Active:=False;
Rs.Close;
end;
procedure TfrmReport.tbPrintClick(
begin
if frReport1.LoadFromFile(
begin
frReport1.Dictionary.
frReport1.Dictionary.
frReport1.ShowReport;
end
else
MessageBox(Self.Handle,'Не
end;
procedure TfrmReport.
begin
tbPrint.Enabled:=True;
end;
procedure TfrmReport.
begin
tbPrint.Enabled:=False;
end;
end.
П. 3. Материалы внедрения дипломного проекта
П. 4 Демонстрационный материал