Автоматизация складского учета Регионального отделения Фонда социального страхования Российской Федерации по Республике Хакасия

Автор работы: Пользователь скрыл имя, 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 файл

диплом.doc

— 2.56 Мб (Скачать файл)

    StatusBar1: TStatusBar;

    Panel2: TPanel;

    ADOQueryMat: TADOQuery;

    DataSource1: TDataSource;

    ADOQueryFindNom: TADOQuery;

    ADOQueryMatDSDesigner2: TSmallintField;

    ADOQueryMatDSDesigner4: TWideStringField;

    ADOQueryMatDSDesigner5: TBCDField;

    ADOQueryMatDSDesigner6: TWideStringField;

    ADOQueryMatDSDesigner7: TWideStringField;

    ADOQueryNom: TADOQuery;

    ADOQueryMatDSDesigner: TIntegerField;

    ADOQueryMatField: TStringField;

    Panel3: TPanel;

    ToolBar1: TToolBar;

    EditFind: TEdit;

    tbFilter: TToolButton;

    ToolBar2: TToolBar;

    tbAdd: TToolButton;

    tbDelete: TToolButton;

    tbEdit: TToolButton;

    tbSave: TToolButton;

    ToolButton2: TToolButton;

    DBGridEh1: TDBGridEh;

    ImageList1: TImageList;

    ADOQueryColor: TADOQuery;

    ADOQueryMatColor: TWordField;

    tbSeparator: TToolButton;

    tbSelect: TToolButton;

    ADOQueryMatDSDesigner3: TAutoIncField;

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

    procedure ADOQueryMatAfterScroll(DataSet: TDataSet);

    procedure FormCreate(Sender: TObject);

    procedure ADOQueryMatDSDesigner2Change(Sender: TField);

    procedure tbFilterMouseUp(Sender: TObject; Button: TMouseButton;

      Shift: TShiftState; X, Y: Integer);

    procedure DBGridEh1GetCellParams(Sender: TObject; Column: TColumnEh;

      AFont: TFont; var Background: TColor; State: TGridDrawState);

    procedure tbSelectClick(Sender: TObject);

    procedure DBGridEh1DblClick(Sender: TObject);

    procedure DBGridEh1KeyDown(Sender: TObject; var Key: Word;

      Shift: TShiftState);

    procedure FormShow(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  frmSprMat: TfrmSprMat;

 

implementation

 

uses untMain, untMoveMat;

 

{$R *.dfm}

 

procedure TfrmSprMat.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Action:=caFree;

end;

 

procedure TfrmSprMat.ADOQueryMatAfterScroll(DataSet: TDataSet);

begin

if ADOQueryMat.RecNo<>-1 then

   StatusBar1.Panels[0].Text:=IntToStr(ADOQueryMat.RecNo)+' : '+IntToStr(ADOQueryMat.RecordCount)

else

   StatusBar1.Panels[0].Text:='новая';

end;

 

procedure TfrmSprMat.FormCreate(Sender: TObject);

begin

Self.Top:=10;

Self.Width:=frmMain.ClientWidth*9 div 10;

Self.Height:=frmMain.ClientHeight*9 div 10;

Self.Left:=(Screen.Width-Self.Width) div 2;

ADOQueryMat.Active:=True;

end;

 

procedure TfrmSprMat.ADOQueryMatDSDesigner2Change(Sender: TField);

begin

ADOQueryFindNom.Active:=False;

ADOQueryFindNom.SQL.Clear;

ADOQueryFindNom.SQL.Add('select * from Номенклатура where нач_номер<='+ADOQueryMat.FieldByName('Шифр').AsString+' and кон_номер>='+ADOQueryMat.FieldByName('Шифр').AsString+';');

ADOQueryFindNom.Active:=True;

ADOQueryMat.FieldByName('Номенклатура').Value:=ADOQueryFindNom.FieldByName('Код').Value;

end;

 

procedure TfrmSprMat.tbFilterMouseUp(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y: Integer);

begin

if not tbFilter.Down then

  begin

    ADOQueryMat.Active:=False;

    ADOQueryMat.SQL.Clear;

    ADOQueryMat.SQL.Add('select * from Материалы order by Шифр,Наименование;');

    ADOQueryMat.Active:=True;

  end

else

  begin

    ADOQueryMat.Active:=False;

    ADOQueryMat.SQL.Clear;

    ADOQueryMat.SQL.Add('SELECT * FROM Материалы WHERE (InStr(1,Наименование,"'+EditFind.Text+'")<>0) or (InStr(1,Шифр,"'+EditFind.Text+'")<>0) order by Шифр,Наименование;');

    ADOQueryMat.Active:=True;

  end;

end;

 

procedure TfrmSprMat.DBGridEh1GetCellParams(Sender: TObject;

  Column: TColumnEh; AFont: TFont; var Background: TColor;

  State: TGridDrawState);

begin

if DBGridEh1.DataSource.DataSet.FieldByName('Color').Value=1 then

    begin

      AFont.Color:=clBlack;

      Background:=clAqua;

    end

else

if DBGridEh1.DataSource.DataSet.FieldByName('Color').Value=0 then

    begin

      AFont.Color:=clBlack;

      Background:=clCream;

    end;

end;

 

procedure TfrmSprMat.tbSelectClick(Sender: TObject);

begin

tbSave.Click;

frmMain.MatSelect:=ADOQueryMat.FieldByName('Код').AsInteger;

frmMain.Price:=ADOQueryMat.FieldByName('Цена').AsCurrency;

frmMain.Edinica:=ADOQueryMat.FieldByName('Единица').AsString;

Self.Close;

end;

 

procedure TfrmSprMat.DBGridEh1DblClick(Sender: TObject);

begin

if tbSelect.Visible then tbSelect.Click;

end;

 

 

procedure TfrmSprMat.DBGridEh1KeyDown(Sender: TObject; var Key: Word;

  Shift: TShiftState);

begin

if (Key=VK_RETURN) and (Shift=[ssCtrl]) and (tbSelect.Visible=True) then tbSelect.Click

   else if (Key=VK_ESCAPE) and (tbSelect.Visible=True) then Self.Close;

end;

 

procedure TfrmSprMat.FormShow(Sender: TObject);

begin

DBGridEh1.SetFocus;

end;

 

end.

 

 

 

unit untMoveMat;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, ComCtrls, ExtCtrls, Grids, ValEdit, ToolWin, DB, ADODB, DBGridEh,

  ActnList, DBActns, StdCtrls, ImgList, Mask, DBCtrlsEh, DBCtrls;

 

type

  TfrmMoveMat = class(TForm)

    StatusBar1: TStatusBar;

    Panel1: TPanel;

    ToolBar1: TToolBar;

    tbAdd: TToolButton;

    tbDelete: TToolButton;

    tbEdit: TToolButton;

    DataSource1: TDataSource;

    ADOQueryMove: TADOQuery;

    tbSave: TToolButton;

    ADOQueryMoveDSDesigner: TAutoIncField;

    ADOQueryMoveDSDesigner3: TWideStringField;

    ADOQueryMoveDSDesigner4: TDateTimeField;

    ADOQueryMoveDSDesigner5: TBCDField;

    ADOQueryMoveDSDesigner6: TIntegerField;

    ADOQueryMoveDSDesigner7: TWideStringField;

    ToolButton5: TToolButton;

    tbContenst: TToolButton;

    ADOQueryTypes: TADOQuery;

    ADOQueryOtvet: TADOQuery;

    ADOQueryMoveDSDesigner2: TIntegerField;

    ADOQueryMoveIntegerField: TStringField;

    ADOQueryMoveIntegerField2: TStringField;

    ImageListFilter: TImageList;

    Panel2: TPanel;

    PageControl1: TPageControl;

    TabSheet1: TTabSheet;

    DBGridEh1: TDBGridEh;

    TabSheet2: TTabSheet;

    ToolBar2: TToolBar;

    DBDate1: TDBDateTimeEditEh;

    DBDate2: TDBDateTimeEditEh;

    tbFilter: TToolButton;

    Panel3: TPanel;

    Panel4: TPanel;

    Panel5: TPanel;

    DBGridEhContenst: TDBGridEh;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    DataSourceContenst: TDataSource;

    ADOQueryMat: TADOQuery;

    Edit1: TEdit;

    Edit2: TEdit;

    Edit3: TEdit;

    Edit4: TEdit;

    Edit5: TEdit;

    ADOQueryMoveField: TIntegerField;

    ADODataSetContenst: TADODataSet;

    ADODataSetContenstDSDesigner: TIntegerField;

    ADODataSetContenstDSDesigner2: TIntegerField;

    ADODataSetContenstDSDesigner3: TBCDField;

    ADODataSetContenstDSDesigner4: TWideStringField;

    ADODataSetContenstDSDesigner5: TFloatField;

    ADODataSetContenstDSDesigner6: TBCDField;

    ADODataSetContenstDSDesigner7: TWideStringField;

    ADODataSetContenstMat: TStringField;

    procedure FormClose(Sender: TObject; var Action: TCloseAction);

    procedure ADOQueryMoveAfterScroll(DataSet: TDataSet);

    procedure tbContenstClick(Sender: TObject);

    procedure FormCreate(Sender: TObject);

    procedure DBGridEh1GetCellParams(Sender: TObject; Column: TColumnEh;

      AFont: TFont; var Background: TColor; State: TGridDrawState);

    procedure tbFilterClick(Sender: TObject);

    procedure DBGridEhContenstColumns0EditButtons0Click(Sender: TObject;

      var Handled: Boolean);

    procedure DBGridEhContenstKeyDown(Sender: TObject; var Key: Word;

      Shift: TShiftState);

    procedure DBGridEh1KeyDown(Sender: TObject; var Key: Word;

      Shift: TShiftState);

    procedure DBGridEh1Columns3EditButtons0Click(Sender: TObject;

      var Handled: Boolean);

    procedure ADOQueryMoveBeforePost(DataSet: TDataSet);

    procedure ADODataSetContenstAfterPost(DataSet: TDataSet);

    procedure ADODataSetContenstAfterScroll(DataSet: TDataSet);

    procedure ADODataSetContenstBeforePost(DataSet: TDataSet);

    procedure ADOQueryMoveAfterPost(DataSet: TDataSet);

    procedure tbDeleteClick(Sender: TObject);

  private

    { Private declarations }

    function isClosePeriod(DatePeriod:TDateTime):Boolean;

    procedure ItogFoterContenst;

  public

    { Public declarations }

  end;

 

var

  frmMoveMat: TfrmMoveMat;

 

implementation

 

uses untMain, untSprMat;

 

{$R *.dfm}

 

procedure TfrmMoveMat.FormClose(Sender: TObject; var Action: TCloseAction);

var Rs:TADOQuery;

begin

//Заполняем  поля  фильтра в базу

Rs:=TADOQuery.Create(Application);

Rs.Connection:=frmMain.ADOConnectionMain;

Rs.SQL.Add('select * from options');

Rs.Active:=True;

Rs.Edit;

Rs.FieldByName('Date1').Value:=DBDate1.Value;

Rs.FieldByName('Date2').Value:=DBDate2.Value;

Rs.Post;

Rs.Active:=False;

Rs.Close;

 

Action:=caFree;

end;

 

procedure TfrmMoveMat.ADOQueryMoveAfterScroll(DataSet: TDataSet);

begin

if ADOQueryMove.RecNo<>-1 then

   StatusBar1.Panels[0].Text:=IntToStr(ADOQueryMove.RecNo)+' : '+IntToStr(ADOQueryMove.RecordCount)

else

   StatusBar1.Panels[0].Text:='новая';

end;

 

procedure TfrmMoveMat.tbContenstClick(Sender: TObject);

begin

if PageControl1.Pages[1].Showing=True then

   begin

   PageControl1.Pages[0].Show;

   tbContenst.ImageIndex:=15;

   tbContenst.Hint:='Содержание  документа (Alt+Enter)';

   end

  else

   begin

   if ADOQueryMove.RecNo=-1 then ADOQueryMove.Post;

   ItogFoterContenst;

   Edit1.Text:=ADOQueryMove.FieldByName('ТипНаименование').asString;

   Edit2.Text:=ADOQueryMove.FieldByName('Документ').asString;

   Edit3.Text:=ADOQueryMove.FieldByName('Дата').asString;

   Edit4.Text:=ADOQueryMove.FieldByName('ОтветственныйИмя').asString;

   Edit5.Text:=ADOQueryMove.FieldByName('Примечания').asString;

   PageControl1.Pages[1].Show;

   tbContenst.ImageIndex:=16;

   tbContenst.Hint:='Список  документов (Alt+Enter)';

   end;

 

end;

 

procedure TfrmMoveMat.FormCreate(Sender: TObject);

var Rs:TADOQuery;

begin

Self.Top:=10;

Self.Width:=frmMain.ClientWidth*9 div 10;

Self.Height:=frmMain.ClientHeight*9 div 10;

Self.Left:=(Screen.Width-Self.Width) div 2;

ADOQueryMove.Active:=True;

ADODataSetContenst.Active:=True;

//Заполняем  поля  фильтра

Rs:=TADOQuery.Create(Application);

Rs.Connection:=frmMain.ADOConnectionMain;

Rs.SQL.Add('select * from options');

Rs.Active:=True;

DBDate1.Value:=Rs.FieldByName('Date1').AsVariant;

DBDate2.Value:=Rs.FieldByName('Date2').AsVariant;

Rs.Active:=False;

Rs.Close;

 

PageControl1.Pages[0].Show;

end;

 

procedure TfrmMoveMat.DBGridEh1GetCellParams(Sender: TObject;

  Column: TColumnEh; AFont: TFont; var Background: TColor;

  State: TGridDrawState);

begin

AFont.Color:=clBlack;

if DBGridEh1.DataSource.DataSet.FieldByName('Статус').Value=1 then

   Background:=clAqua

else

   if DBGridEh1.DataSource.DataSet.FieldByName('Статус').Value=-1 then

      Background:=clCream;

end;

 

procedure TfrmMoveMat.tbFilterClick(Sender: TObject);

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(DBDate1.Text,4,2)+'/'+Copy(DBDate1.Text,1,2)+'/'+Copy(DBDate1.Text,7,4)+'# and');

    ADOQueryMove.SQL.Add('Движение.Дата<=#'+Copy(DBDate2.Text,4,2)+'/'+Copy(DBDate2.Text,1,2)+'/'+Copy(DBDate2.Text,7,4)+'#');

    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.DBGridEhContenstColumns0EditButtons0Click(

  Sender: TObject; var Handled: Boolean);

var FormMat:TfrmSprMat;

begin

frmMain.MatSelect:=0;

FormMat:=TfrmSprMat.Create(Application);

FormMat.tbSeparator.Visible:=True;

FormMat.tbSelect.Visible:=True;

FormMat.FormStyle:=fsNormal;

FormMat.Visible:=False;

FormMat.ShowModal;

 

if frmMain.MatSelect<>0 then

  begin

    ADODataSetContenst.Edit;

    ADODataSetContenst.FieldByName('Материал').Value:=frmMain.MatSelect;

    ADODataSetContenst.FieldByName('Цена').Value:=frmMain.Price;

    ADODataSetContenst.FieldByName('Единица').Value:=frmMain.Edinica;

    ADODataSetContenst.FieldByName('Количество').Value:=0;

    ADODataSetContenst.FieldByName('Сумма').Value:=0;

    DBGridEhContenst.SelectedField:=ADODataSetContenst.FieldByName('Количество');

  end;

end;

 

procedure TfrmMoveMat.DBGridEhContenstKeyDown(Sender: TObject;

  var Key: Word; Shift: TShiftState);

begin

if (Key=VK_RETURN) and (Shift=[ssAlt]) then tbContenst.Click;

end;

 

procedure TfrmMoveMat.DBGridEh1KeyDown(Sender: TObject; var Key: Word;

  Shift: TShiftState);

begin

if (Key=VK_RETURN) and (Shift=[ssAlt]) then tbContenst.Click;

end;

 

procedure TfrmMoveMat.DBGridEh1Columns3EditButtons0Click(Sender: TObject;

  var Handled: Boolean);

var Rs:TADOQuery;

begin

Rs:=TADOQuery.Create(Application);

Rs.Connection:=frmMain.ADOConnectionMain;

Rs.SQL.Add('SELECT Sum(Состояние.Сумма) AS Итог FROM Состояние WHERE Документ='+ADOQueryMove.FieldByName('Код').AsString+';');

Rs.Active:=True;

ADOQueryMove.Edit;

if Rs.FieldByName('Итог').IsNull then

   ADOQueryMove.FieldByName('Сумма').Value:=0

else

   ADOQueryMove.FieldByName('Сумма').Value:=Rs.FieldByName('Итог').Value;

Rs.Active:=False;

Rs.Close;

end;

 

procedure TfrmMoveMat.ADOQueryMoveBeforePost(DataSet: TDataSet);

begin

if isClosePeriod(DataSet.FieldByName('Дата').AsDateTime) then

   Raise Exception.Create('Период  закрыт для редактирования');

end;

 

function TfrmMoveMat.isClosePeriod(DatePeriod:TDateTime):Boolean;

var Year,Month,Day:Word;

    Rs:TADOQuery;

begin

Result:=True;

DecodeDate(DatePeriod,Year,Month,Day);

Rs:=TADOQuery.Create(Application);

Rs.Connection:=frmMain.ADOConnectionMain;

Rs.SQL.Clear;

Rs.SQL.Add('select * from Периоды  where Year(Период)='+IntToStr(Year)+' and Month(Период)='+IntToStr(Month)+';');

Rs.Active:=True;

if Rs.RecordCount<>0 then

   if Rs.FieldByName('Доступ').AsBoolean=True then Result:=False;

Rs.Close;

Rs.Free;

end;

 

procedure TfrmMoveMat.ADODataSetContenstAfterPost(DataSet: TDataSet);

var Rs:TADOQuery;

begin

Rs:=TADOQuery.Create(Application);

Rs.Connection:=frmMain.ADOConnectionMain;

Rs.SQL.Add('SELECT Sum(Состояние.Сумма) AS Итог FROM Состояние WHERE Документ='+ADOQueryMove.FieldByName('Код').AsString+';');

Rs.Active:=True;

ADOQueryMove.Edit;

ADOQueryMove.FieldByName('Сумма').Value:=Rs.FieldByName('Итог').Value;

ADOQueryMove.Post;

Rs.Active:=False;

Rs.Close;

ItogFoterContenst;

end;

 

procedure TfrmMoveMat.ADODataSetContenstAfterScroll(DataSet: TDataSet);

begin

if ADODataSetContenst.RecNo<>-1 then

   StatusBar1.Panels[0].Text:=IntToStr(ADODataSetContenst.RecNo)+' : '+IntToStr(ADODataSetContenst.RecordCount)

else

   StatusBar1.Panels[0].Text:='новая';

end;

 

procedure TfrmMoveMat.ADODataSetContenstBeforePost(DataSet: TDataSet);

begin

if isClosePeriod(ADOQueryMove.FieldByName('Дата').AsDateTime) then

   Raise Exception.Create('Период  закрыт для редактирования')

else

   ADODataSetContenst.FieldByName('Сумма').Value:=ADODataSetContenst.FieldByName('Цена').Value*ADODataSetContenst.FieldByName('Количество').Value;

end;

 

procedure TfrmMoveMat.ADOQueryMoveAfterPost(DataSet: TDataSet);

begin

DataSet.Refresh;

end;

 

procedure TfrmMoveMat.ItogFoterContenst;

var ADOQ:TADOQuery;

begin

ADOQ:=TADOQuery.Create(Application);

ADOQ.Connection:=frmMain.ADOConnectionMain;

ADOQ.SQL.Add('select count(Документ) as Кол, sum(Сумма) as Итог from Состояние  where Документ='+ADOQueryMove.FieldByName('Код').AsString+';');

ADOQ.Active:=True;

DBGridEhContenst.Columns[1].Footer.Value:=ADOQ.FieldByName('Кол').AsString;

DBGridEhContenst.Columns[4].Footer.Value:=ADOQ.FieldByName('Итог').AsString;

Информация о работе Автоматизация складского учета Регионального отделения Фонда социального страхования Российской Федерации по Республике Хакасия