Смекни!
smekni.com

Разработка статистической отчетности в системе АСУ ГГУ (стр. 2 из 3)

3.3 Реализация статистической отчетности в системе АСУ ГГУ

Для реализации статистической отчетности были созданы три формы написанные на языке C++Bilder5. Первая описывает статьи расходов. Вторая соответствие проводков со статьями расходов. Наконец третья описывает статьи расходов / доходов. Эта третья является родительской.

Для создания этих форм были созданы компоненты AsuTable: StatRashodTable, StatRdDdTable, StatProvodkiTable. Эти компоненты реализованы программами StatRashodTable.cpp, StatRashodTable.h, StatProvodkiTable.cpp, StatProvodkiTable.h, StatProvodkiTable.cpp, StatProvodkiTable.h. Текст программ приведен ниже в Приложении А, В и С.

Кроме того в создании использовались кнопки «найти» и «выход». Данные кнопки реализованы как методы Searchform из программы SearchWn.h. При нажатии манипулятором мышь на кнопку, появляется новая форма для нахождения нужной вам информации. При задействовании кнопки «выход» данная форма закрывается.

Данные в форму заносятся из таблиц. Обновляются и изменяются при помощи метода AsuDbgrid.

Программы реализующие эти формы: USStatRashodForm.h, USStatRashodForm.cpp, USStatRashodForm.dfm, USStatRdDdForm.h, USStatRdDdForm.cpp, USStatRdDdForm.dfm, USStatProvodkiForm.h, USStatProvodkiForm.cpp, USStatProvodkiForm.dfm. Тексты программ приведены в приложениях А, В и С.

Заключение

Статистическая отчетность создана для введения бухгалтерской деятельности (расчета прибыли предприятия, зарплаты персонала, введения бухгалтерского учета, вычисления различных налогов и платежей, составление оплаты за ресурсы и т.д.). Данная статистическая отчетность в системе АСУ ГГУ реализует экономическое понятие о отчетности. Она создана для более быстрой и качественной работы с различного вида экономических операций. При справочниках о статьях доходов и расходов (дебитов, кредитов) пользователь может выбрать те из них, по которым он собирается вести расчеты (осуществлять нужную ему экономическую операцию, как например расчет заработной платы). Система АСУ ГГУ проста в работе и предназначена на различных пользователей. То есть человек может успешно работать с системой вне зависимости от его знаний компьютера. Поэтому любой пользователь может без труда сделать экономическую отчетность о проделанной им работе при помощи данной системы.

Приложение А

Программа USStatRashodForm.h

// –

#ifndef USStatRashodFormH

#define USStatRashodFormH

// –

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include «ASUBUTEX.h»

#include «AsuDBGrd.h»

#include «AsuTable.h»

#include «AsuForm.h»

#include «StatRashodTable.h»

#include <Db.hpp>

#include <DBGrids.hpp>

#include <DBTables.hpp>

#include <Grids.hpp>

#include «ASUQUERY.h»

// –

class TFSStatRashod: public AsuForm

{

__published: // IDE-managed Components

TButton *SearchButton;

AsuButtonExit *AsuButtonExit1;

StatRashodTable *StatRashodTable1;

AsuQuery *AsuQuery1;

void __fastcall SearchButtonClick (TObject *Sender);

void __fastcall AsuButtonExit1Click (TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFSStatRashod (TComponent* Owner);

};

// –

extern PACKAGE TFSStatRashod *FSStatRashod;

// –

#endif

Программа USStatRashodForm.cpp

// –

#include <vcl.h>

#pragma hdrstop

#include «AsuObj.h»

#include «USStatRashodForm.h»

// –

#pragma package (smart_init)

#pragma link «ASUBUTEX»

#pragma link «AsuDBGrd»

#pragma link «AsuTable»

#pragma link «StatRashodTable»

#include «SearchWn.h»

#pragma link «ASUQUERY»

#pragma resource «*.dfm»

TFSStatRashod *FSStatRashod;

// –

__fastcall TFSStatRashod:TFSStatRashod (TComponent* Owner)

: AsuForm(Owner)

{

}

// –

void __fastcall TFSStatRashod: SearchButtonClick (TObject *Sender)

{

SearchForm->searchList = NULL;

SearchForm->gridSearch = StatRashodDBGrid;

SearchForm->ShowModal();

}

// –

void __fastcall TFSStatRashod: AsuButtonExit1Click (TObject *Sender)

{

((AsuForm *) Owner)->Close();

}

// –

Программа USStatRashodForm.dfm

object FSStatRashod: TFSStatRashod

Left = 194

Top = 9

Width = 544

Height = 501

Caption = 'Статья расходов'

Color = clBtnFace

Font. Charset = DEFAULT_CHARSET

Font. Color = clWindowText

Font. Height = -11

Font. Name = 'MS Sans Serif'

Font. Style = []

OldCreateOrder = False

PixelsPerInch = 96

TextHeight = 13

object StatRashodDBGrid: AsuDBGrid

Tag = 4

Left = 0

Top = 0

Width = 536

Height = 417

Align = alTop

TabOrder = 0

TitleFont. Charset = DEFAULT_CHARSET

TitleFont. Color = clWindowText

TitleFont. Height = -11

TitleFont. Name = 'MS Sans Serif'

TitleFont. Style = []

AsuDataSet = StatRashodTable1

Update = True

end

object SearchButton: TButton

Left = 16

Top = 432

Width = 75

Height = 25

Caption = '&Найти'

TabOrder = 1

OnClick = SearchButtonClick

end

object AsuButtonExit1: AsuButtonExit

Left = 144

Top = 432

Width = 75

Height = 25

Cancel = True

Caption = 'Выход'

TabOrder = 2

OnClick = AsuButtonExit1Click

end

object StatRashodTable1: StatRashodTable

Exclusive = True

TableName = 'StatRashod'

Left = 232

Top = 72

end

object AsuQuery1: AsuQuery

SQL. Strings = (

'Select CodeStRd, StatName from'

' StatRashod'

'Order by CodeStRd')

Left = 184

Top = 104

end

end


Программа StatRashodTable.h

// –

#ifndef StatRashodTableH

#define StatRashodTableH

// –

#include <SysUtils.hpp>

#include <Controls.hpp>

#include <Classes.hpp>

#include <Forms.hpp>

#include «AsuTable.h»

#include <Db.hpp>

#include <DBTables.hpp>

// –

class PACKAGE StatRashodTable: public AsuTable

{

private:

char *getNameColumn (AnsiString nameField);

TFieldType getFieldType(AnsiString);

protected:

public:

__fastcall StatRashodTable (TComponent* Owner);

__published:

};

// –

#endif


Программа StatRashodTable.h

// –

#include <vcl.h>

#pragma hdrstop

#include «AsuObj.h»

#include «StatRashodTable.h»

// #include «OValKursTp.h»

#pragma link «AsuTable»

#pragma package (smart_init)

// –

// ValidCtrCheck is used to assure that the components created do not have

// any pure virtual functions.

static inline void ValidCtrCheck (StatRashodTable *)

{

new StatRashodTable(NULL);

}

// –

__fastcall StatRashodTable: StatRashodTable (TComponent* Owner)

: AsuTable(Owner)

{

TableName = «StatRashod»;

}

// –

char *StatRashodTable:getNameColumn (AnsiString nameField)

{

if (! nameField. AnsiCompareIC («CodeStRd»)) return «Код Статьи расходов»;

if (! nameField. AnsiCompareIC («StatName»)) return «Наименование статьи»;

return 0;

}

// –

TFieldType StatRashodTable:getFieldType (AnsiString nameField)

{

return ftString;

}

// –

namespace Statrashodtable

{

void __fastcall PACKAGE Register()

{

TComponentClass classes[1] = {__classid(StatRashodTable)};

RegisterComponents («АСУ-таблицы», classes, 0);

}

}


Приложение B

Программа USStatRdDdForm.h

// –

#ifndef USStatRdDdFormH

#define USStatRdDdFormH

// –

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include «ASUBUTEX.h»

#include «AsuDBGrd.h»

#include «AsuTable.h»

#include «AsuForm.h»

#include «StatRdDdTable.h»

#include <Db.hpp>

#include <DBGrids.hpp>

#include <DBTables.hpp>

#include <Grids.hpp>

#include «ASUQUERY.h»

// –

class TFSStatRdDd: public AsuForm

{

__published: // IDE-managed Components

TButton *SearchButton;

AsuButtonExit *AsuButtonExit1;

StatRdDdTable *StatRdDdTable1;

AsuQuery *AsuQuery1;

void __fastcall SearchButtonClick (TObject *Sender);

void __fastcall AsuButtonExit1Click (TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFSStatRdDd (TComponent* Owner);

};

// –

extern PACKAGE TFSStatRdDd *FSStatRdDd;

// –

#endif

Программа USStatRdDdForm.cpp

// –

#include <vcl.h>

#pragma hdrstop

#include «AsuObj.h»

#include «USStatRdDdForm.h»

// –

#pragma package (smart_init)

#pragma link «ASUBUTEX»

#pragma link «AsuDBGrd»

#pragma link «AsuTable»

#pragma link «StatRdDdTable»

#include «SearchWn.h»

#pragma link «ASUQUERY»

#pragma resource «*.dfm»

TFSStatRdDd *FSStatRdDd;

// –

__fastcall TFSStatRdDd:TFSStatRdDd (TComponent* Owner)

: AsuForm(Owner)

{

}

// –

void __fastcall TFSStatRdDd: SearchButtonClick (TObject *Sender)

{

SearchForm->searchList = NULL;

SearchForm->gridSearch = StatRdDdDBGrid;

SearchForm->ShowModal();

}

// –

void __fastcall TFSStatRdDd: AsuButtonExit1Click (TObject *Sender)

{

((AsuForm *) Owner)->Close();

}

// –

Программа USStatRdDdForm.dfm

bject FSStatRdDd: TFSStatRdDd

Left = 194

Top = 9

Width = 544

Height = 501

Caption = 'Статьи расходов&bsol;доходов'

Color = clBtnFace

Font. Charset = DEFAULT_CHARSET

Font. Color = clWindowText

Font. Height = -11

Font. Name = 'MS Sans Serif'

Font. Style = []

OldCreateOrder = False

PixelsPerInch = 96

TextHeight = 13

object StatRdDdDBGrid: AsuDBGrid

Tag = 4

Left = 0

Top = 0

Width = 536

Height = 417

Align = alTop

TabOrder = 0

TitleFont. Charset = DEFAULT_CHARSET

TitleFont. Color = clWindowText

TitleFont. Height = -11

TitleFont. Name = 'MS Sans Serif'

TitleFont. Style = []

AsuDataSet = StatRdDdTable1

Update = True

end

object SearchButton: TButton

Left = 16

Top = 432

Width = 75

Height = 25

Caption = '&Найти'

TabOrder = 1

OnClick = SearchButtonClick

end

object AsuButtonExit1: AsuButtonExit

Left = 144

Top = 432

Width = 75

Height = 25

Cancel = True

Caption = 'Выход'

TabOrder = 2

OnClick = AsuButtonExit1Click

end

object StatRdDdTable1: StatRdDdTable

Exclusive = True

TableName = 'StatRdDd'

Left = 232

Top = 72

end

object AsuQuery1: AsuQuery

SQL. Strings = (

'Select StatRdDdName from'

' StatRdDd'

'Order by StatRdDdName')

Left = 184

Top = 104

end

end

Программа StatRdDdTable.h

// –

#ifndef StatRdDdTableH

#define StatRdDdTableH

// –

#include <SysUtils.hpp>

#include <Controls.hpp>

#include <Classes.hpp>

#include <Forms.hpp>

#include «AsuTable.h»

#include <Db.hpp>

#include <DBTables.hpp>

// –

class PACKAGE StatRdDdTable: public AsuTable

{

private:

char *getNameColumn (AnsiString nameField);

TFieldType getFieldType(AnsiString);

protected:

public:

__fastcall StatRdDdTable (TComponent* Owner);

__published:

};

// –

#endif


Программа StatRdDdTable.cpp

// –

#include <vcl.h>

#pragma hdrstop

#include «AsuObj.h»

#include «StatRdDdTable.h»

#pragma link «AsuTable»

#pragma package (smart_init)

// –

// ValidCtrCheck is used to assure that the components created do not have

// any pure virtual functions.

static inline void ValidCtrCheck (StatRdDdTable *)

{

new StatRdDdTable(NULL);

}

// –

__fastcall StatRdDdTable: StatRdDdTable (TComponent* Owner)

: AsuTable(Owner)

{

TableName = «StatRashod/Dohod»;

}

// –

char *StatRdDdTable:getNameColumn (AnsiString nameField)

{

if (! nameField. AnsiCompareIC («StatRdDdName»)) return «наименование статьи»;

return 0;

}

// –

TFieldType StatRdDdTable:getFieldType (AnsiString nameField)

{

return ftString;

}

// –

namespace StatRdDdtable

{

void __fastcall PACKAGE Register()

{

TComponentClass classes[1] = {__classid(StatRdDdTable)};

RegisterComponents («АСУ-таблицы», classes, 0);

}

}

// –


Приложение C

Программа USStatProvodkiForm.h

// –

#ifndef USStatProvodkiFormH

#define USStatProvodkiFormH

// –

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include «ASUBUTEX.h»

#include «AsuDBGrd.h»

#include «AsuTable.h»

#include «AsuForm.h»

#include «StatProvodkiTable.h»

#include <Db.hpp>

#include <DBGrids.hpp>

#include <DBTables.hpp>

#include <Grids.hpp>

#include «ASUQUERY.h»

// –

class TFSStatProvodki: public AsuForm

{

__published: // IDE-managed Components