Курсовая — программа автоматизации учета кассовых операций.


Ознакомление с программой
Эта программа предназначена для автоматизации учета кассовых операций.
С помощью неё можно заносить в БД данные о прибытии/убытии денежных средств из кассы, а также данные, необходимые для проведения учета: Сумма денег, Вид учета, От кого, На какие цели, Кому, Корреспондирующие счета, Дата, Время. И если надо, то редактировать и просматривать отдельную запись.

Скриншот программы:

Курсовая - программа автоматизации учета кассовых операций.

Программа также позволяет создавать отчеты на прибытие, расходы, и подсчитывать оставшиеся денежные средства.
Как работать с программой будет разобрано в следующих одноименных разделах.
Особенности программы:
·Простой интуитивно понятный интерфейс
·Возможность редактирование данных
·Возможность создания различных отчеток
·Автоматическая проверка на корректность вводимых данных
·Автоматическая проверка оповещение о действиях в результате которых в кассе не хватает денег для окончания операции.
· Автоматическое сохранение и загрузка таблицы

Таблица с данными:

Вкладка «Таблица данных» позволяет нам заполнять осуществлять:
·приход/расход денежных средств — для этого надо нажать на кнопку «Ввод данных» и
заполнить все поля.
·Редактирование ранее осуществленных учетов денежных средств — для этого надо
нажать на кнопку «Редактирование», и изменить необходимые поля.
·Просмотр одной учетной записи — для этого надо нажать на кнопку «Просмотр»
·Просматривать все записи учетов — для этого надо посмотреть в табл.

Ввод данных
Для ввода новой учетной записи, т.е. осуществленя прихода/расхода денежных средств, надо нажать на кнопку «Ввод данных» на вкладке «Таблица с данными». После этого появится окошко с полями, которые надо заполнить, если хоть одно поле не заполнить, то программа не примет запись.
В поле «кол-во денег» можно вводить только цифры, без значений после запятой.
Интересными является поле «Вид учета», где можно ставить только один из двух символов: «+» —
для учета прибыли денежных средств, «-» — для учета убытия денежных средств.
Поля Дата и Время изменению не подлежат.

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

Удаление
Для удаления любой учетной записи надо нажать на кнопку «Удаление» на вкладке «Таблица с данными». После этого запись удалится, и таблица автоматически сохранится в файл.

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

Работа с отчетами
При составление большой БД прибытия/убытия денежных средств очень часто необходимо просмотреть тот или иной вид учета(или прибытия или убытия). Это позволяет зделать вкладка «Формирование отчёта», открыв которую можно выполнить одно из следующих действий:
1. Сформировать приходной отчет, где будут только те записи, в которых получены денежные средства. Для этого надо нажать на кнопку «Приходной ордер». Также ниже таблице будет расспологаться информация о количества записей этого вида операций и о количестве денег, полученных в сумме проведения всех операций.
2. Сформировать расходной отчет, где будут только те записи, в которых расход денежных средств. Для этого надо нажать на кнопку «Расходной ордер». Также ниже таблице будет  расспологаться информация о количества записей этого вида операций и о количестве денег,  расстраченных в сумме проведения всех операций.
3. Отчет, в котором сначало расспологаются все записи с прибытием, а потом с убытием денежных средств. Ниже таблицы представлена информация о количествах проведённых операций и о остатке денежных средств в кассе.

Исходники:

uAbout.pas

unit uAbout;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, ExtCtrls, StdCtrls, jpeg;

type
TAbout = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Image1: TImage;
SpeedButton1: TSpeedButton;
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
About: TAbout;

implementation

{$R *.dfm}

procedure TAbout.SpeedButton1Click(Sender: TObject);
begin
Close;
end;

end.

uAutoObiav.pas

unit uAutoObiav;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, ExtCtrls, jpeg, StdCtrls, ShellApi;

type
TFrmMain = class(TForm)
Image3: TImage;
Image1: TImage;
Image2: TImage;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
SpeedButton3: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton1: TSpeedButton;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton7: TSpeedButton;
SpeedButton8: TSpeedButton;
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton8Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure SpeedButton7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
FrmMain: TFrmMain;

implementation

uses
uBoxMess, uAbout;

{$R *.dfm}

procedure TFrmMain.SpeedButton1Click(Sender: TObject);
begin
FrmBoxMess.DeiMain.Text:=’Add’;
FrmBoxMess.ShowModal;
end;

procedure TFrmMain.SpeedButton2Click(Sender: TObject);
begin
FrmBoxMess.DeiMain.Text:=’Red’;
FrmBoxMess.ShowModal;
end;

procedure TFrmMain.SpeedButton3Click(Sender: TObject);
begin
FrmBoxMess.DeiMain.Text:=’Del’;
FrmBoxMess.ShowModal;
end;

procedure TFrmMain.SpeedButton4Click(Sender: TObject);
begin
FrmBoxMess.query1.SQL.Clear;
FrmBoxMess.query1.SQL.Add(‘Select * from AutoObiav order by firma, model’);
FrmBoxMess.Query1.Active:=True;
FrmBoxMess.frReport1.LoadFromFile(‘Othet.frf’);
FrmBoxMess.frReport1.ShowReport;
FrmBoxMess.Query1.Active:=False;
end;

procedure TFrmMain.SpeedButton5Click(Sender: TObject);
begin
FrmBoxMess.DeiMain.Text:=’OthVib’;
FrmBoxMess.ShowModal;
end;

procedure TFrmMain.SpeedButton8Click(Sender: TObject);
begin
Close;
end;

procedure TFrmMain.SpeedButton6Click(Sender: TObject);
begin
About.ShowModal;
end;

procedure TFrmMain.SpeedButton7Click(Sender: TObject);
begin
shellExecute(Application.Handle,Pchar(‘Open’),Pchar(‘Help.exe’),nil,nil, 0);
end;

end.

uBoxMess.pas

unit uBoxMess;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, DBCtrls, Mask, DB, DBTables, Grids, DBGrids,
FR_Class, FR_DSet, FR_DBSet;

type
TFrmBoxMess = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
DeiMain: TEdit;
Query1: TQuery;
DataSource1: TDataSource;
Edit1: TDBEdit;
Edit2: TDBEdit;
Edit3: TDBEdit;
Edit5: TDBEdit;
Edit7: TDBEdit;
Edit8: TDBEdit;
Memo1: TDBMemo;
Edit9: TDBEdit;
Label8: TLabel;
SpeedButton3: TSpeedButton;
Label9: TLabel;
Edit19: TEdit;
Edit11: TEdit;
Edit12: TEdit;
Edit13: TEdit;
Edit14: TEdit;
Edit15: TEdit;
Edit16: TEdit;
Edit17: TEdit;
Edit18: TEdit;
Memo11: TMemo;
Edit10: TEdit;
Edit4: TEdit;
Edit6: TEdit;
frReport1: TfrReport;
frDBDataSet1: TfrDBDataSet;
procedure FormShow(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;

var
FrmBoxMess: TFrmBoxMess;

implementation

{$R *.dfm}

procedure SbrosEditov;
begin
FrmBoxMess.Edit11.ReadOnly:=False;
FrmBoxMess.Edit12.ReadOnly:=False;
FrmBoxMess.Edit13.ReadOnly:=False;
FrmBoxMess.Edit14.ReadOnly:=False;
FrmBoxMess.Edit15.ReadOnly:=False;
FrmBoxMess.Edit16.ReadOnly:=False;
FrmBoxMess.Edit17.ReadOnly:=False;
FrmBoxMess.Edit18.ReadOnly:=False;
FrmBoxMess.Edit19.ReadOnly:=False;
FrmBoxMess.Edit10.ReadOnly:=False;
FrmBoxMess.Edit6.ReadOnly:=False;
FrmBoxMess.Edit4.ReadOnly:=False;
FrmBoxMess.memo11.ReadOnly:=False;
FrmBoxMess.Edit11.Enabled:=True;
FrmBoxMess.Edit12.Enabled:=True;
FrmBoxMess.Edit13.Enabled:=True;
FrmBoxMess.Edit14.Enabled:=True;
FrmBoxMess.Edit15.Enabled:=True;
FrmBoxMess.Edit16.Enabled:=True;
FrmBoxMess.Edit17.Enabled:=True;
FrmBoxMess.Edit18.Enabled:=True;
FrmBoxMess.Edit19.Enabled:=True;
FrmBoxMess.Edit10.Enabled:=True;
FrmBoxMess.Edit4.Enabled:=True;
FrmBoxMess.Edit6.Enabled:=True;
FrmBoxMess.memo11.Enabled:=True;
FrmBoxMess.Edit11.Text:=»;
FrmBoxMess.Edit12.Text:=»;
FrmBoxMess.Edit13.Text:=»;
FrmBoxMess.Edit14.Text:=»;
FrmBoxMess.Edit15.Text:=»;
FrmBoxMess.Edit16.Text:=»;
FrmBoxMess.Edit17.Text:=»;
FrmBoxMess.Edit18.Text:=»;
FrmBoxMess.Edit19.Text:=»;
FrmBoxMess.Edit10.Text:=»;
FrmBoxMess.Edit4.Text:=»;
FrmBoxMess.Edit6.Text:=»;
FrmBoxMess.Memo11.Lines.Clear;
FrmBoxMess.Label9.Enabled:=true;
FrmBoxMess.SpeedButton3.Enabled:=true;
end;

procedure TFrmBoxMess.FormShow(Sender: TObject);
begin
SbrosEditov;
Edit11.Text:=Edit1.Text;
Edit12.Text:=Edit2.Text;
Edit13.Text:=Edit3.Text;
Edit15.Text:=Edit5.Text;
Edit17.Text:=Edit7.Text;
Edit18.Text:=Edit8.Text;
Edit19.Text:=Edit9.Text;
Memo11.Text:=Memo1.Text;
if DeiMain.Text=’Add’
then begin
FrmBoxMess.Caption:=’Добавление новой записи’;
Edit14.Text:=’——————‘;
Edit14.Enabled:=False;
Edit16.Text:=’——————‘;
Edit16.Enabled:=False;
Edit4.Text:=’——————‘;
Edit4.Enabled:=False;
Edit6.Text:=’———‘;
Edit6.Enabled:=False;
Edit10.Text:=’————-‘;
Edit10.Enabled:=False;
SpeedButton3.Enabled:=False;
end;
if DeiMain.Text=’Red’
then begin
FrmBoxMess.Caption:=’Редактирование существующей записи’;
Edit19.Enabled:=False;
Edit14.Text:=’——————‘;
Edit14.Enabled:=False;
Edit16.Text:=’——————‘;
Edit16.Enabled:=False;
Edit4.Text:=’——————‘;
Edit4.Enabled:=False;
Edit6.Text:=’———‘;
Edit6.Enabled:=False;
end;
if DeiMain.Text=’Del’
then begin
FrmBoxMess.Caption:=’Удаление существующей записи’;
Edit11.Enabled:=False;
Edit12.Enabled:=False;
Edit13.Enabled:=False;
Edit14.Text:=’——————‘;
Edit14.Enabled:=False;
Edit15.Enabled:=False;
Edit16.Text:=’——————‘;
Edit16.Enabled:=False;
Edit17.Enabled:=False;
Edit18.Enabled:=False;
Edit19.Enabled:=False;
memo11.Enabled:=False;
Edit4.Text:=’——————‘;
Edit4.Enabled:=False;
Edit6.Text:=’———‘;
Edit6.Enabled:=False;
end;
if DeiMain.Text=’OthVib’
then begin
FrmBoxMess.Caption:=’Отчет по нескольким критериям’;
Label9.Enabled:=False;
Edit10.Text:=’————-‘;
Edit10.Enabled:=False;
SpeedButton3.Enabled:=False;
Edit19.Text:=’0′;
Edit6.Text:=’9999′;
Edit11.Text:=’%%’;
Edit12.Text:=’%%’;
Edit13.Text:=’0′;
Edit14.Text:=’2007′;
Edit15.Text:=’0′;
Edit16.Text:=’9999′;
Edit17.Text:=’0′;
Edit4.Text:=’99999999′;
Edit18.Text:=’%%’;
Memo11.Text:=’%%’;
end;
end;

procedure TFrmBoxMess.SpeedButton3Click(Sender: TObject);
begin
if (Edit10.text<>»)
then begin
query1.SQL.Clear;
query1.SQL.Add(‘Select * from AutoObiav where Numb=’ + Edit10.text);
Query1.Active:=True;
FormShow(Sender);
end
else ShowMessage(‘Сначало введите значение’);
end;

procedure TFrmBoxMess.SpeedButton2Click(Sender: TObject);
begin
if (DeiMain.Text=’Add’) and (Edit19.Text<>»)
then begin
query1.SQL.Clear;
query1.SQL.Add(‘Insert into AutoObiav (Firma, Model, GodVip, VDvig, Cena, TipKorp,Drugoe, Numb) Values (‘ + »»+Edit11.text+ »’,»’+Edit12.text+ »»+’,’ + Edit13.text+ ‘,’ + Edit15.text+ ‘,’ +Edit17.text+’,»’+Edit18.text+»’,»’+Memo11.Text +»’,’+Edit19.text + ‘)’);
Query1.ExecSQL;
ShowMessage(‘Запись добавлена успешно. Введите следующую запись’);
Edit19.SetFocus;
FormShow(Sender);
end;
if (DeiMain.Text=’Red’) and (Edit19.Text<>»)
then begin
query1.SQL.Clear;
query1.SQL.Add(‘Update AutoObiav set Firma=»’+Edit11.text+»’,Model=»’+Edit12.text+»’,GodVip=’+Edit13.text+’,VDvig=’+Edit15.text+’,Cena=’+Edit17.text+’,TipKorp=»’+Edit18.text+»’,Drugoe=»’+memo11.text+»’ where Numb=’+Edit19.text);
Query1.ExecSQL;
ShowMessage(‘Запись изменена успешно. Выбирите следующую запись для изменения’);
Edit10.SetFocus;
FormShow(Sender);
end;
if (DeiMain.Text=’Del’) and (Edit19.Text<>»)
then begin
query1.SQL.Clear;
query1.SQL.Add(‘Delete from AutoObiav where Numb=’ + Edit19.text);
Query1.ExecSQL;
ShowMessage(‘Запись удалена успешно. Выбирете следующую запись для удаления’);
Edit10.SetFocus;
FormShow(Sender);
end;
if DeiMain.Text=’OthVib’
then begin
query1.SQL.Clear;
query1.SQL.Add(‘Select * from AutoObiav where Firma Like »’+Edit11.text+»’ and Model like »’+Edit12.text+»’ and GodVip>=’+Edit13.text+’ and GodVip<=’+Edit14.text+’ and VDvig>=’+Edit15.text+’ and VDvig<=’+Edit16.text+’ and Cena>=’+Edit17.text+’ and Cena<=’+Edit4.text+’ and TipKorp like »’+Edit18.text + »’ and Drugoe like »’+Memo11.text + »’ and Numb>=’+Edit19.text + ‘ and Numb<=’+Edit6.text+’ order by firma, model’);
FrmBoxMess.Query1.Active:=True;
FrmBoxMess.frReport1.LoadFromFile(‘Othet.frf’);
FrmBoxMess.frReport1.ShowReport;
Query1.Active:=False;
end;
end;

procedure TFrmBoxMess.SpeedButton1Click(Sender: TObject);
begin
Close;
end;

procedure TFrmBoxMess.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Query1.Active:=False;
end;

end.

Скачать: Курсовая на паскале

Загрузка...