📄 ubankdayaccbook.pas
字号:
unit uBankDayAccBook;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, LBCtrls, ExtCtrls, ActnList, StdCtrls, LBDBScrollBar, Grids,
LBDBGrid, FR_DSet, FR_DBSet, FR_Class, DB, DBClient, SimpleDS;
type
TfrmBankDayAccBook = class(TForm)
ActionList1: TActionList;
Action1: TAction;
Panel7: TPanel;
Image2: TImage;
Shape22: TShape;
Shape23: TShape;
Shape24: TShape;
Shape25: TShape;
LBSpeecButton1: TLBSpeecButton;
Panel4: TPanel;
Panel10: TPanel;
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Label1: TLabel;
Shape2: TShape;
Shape3: TShape;
Shape5: TShape;
DayLabel: TLabel;
LBDBGrid1: TLBDBGrid;
Panel5: TPanel;
Label4: TLabel;
Label6: TLabel;
Label7: TLabel;
Label19: TLabel;
Label20: TLabel;
Label12: TLabel;
Panel6: TPanel;
Panel8: TPanel;
Panel13: TPanel;
LBDBScrollBar1: TLBDBScrollBar;
OpenView: TPanel;
Image1: TImage;
DayAccBookData: TSimpleDataSet;
DayAccBookDataBILLCODE: TStringField;
DayAccBookDataSUMMARY: TStringField;
DayAccBookDataOTHERUNITNAME: TStringField;
DayAccBookDataINCOME: TBCDField;
DayAccBookDataOUTLAY: TBCDField;
DayAccBookDataBALANCE: TBCDField;
DayAccBookDataSDate: TDateField;
DayAccBookDs: TDataSource;
Report: TfrReport;
ReportDataSet: TfrDBDataSet;
LBSpeecButton2: TLBSpeecButton;
Shape1: TShape;
procedure FormShow(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Action1Execute(Sender: TObject);
procedure DayAccBookDataCalcFields(DataSet: TDataSet);
procedure LBSpeecButton2Click(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
procedure SelectData;
public
{ Public declarations }
end;
var
frmBankDayAccBook: TfrmBankDayAccBook;
implementation
uses uMain, uDataMo, uPublicvar, Tools;
{$R *.dfm}
procedure TfrmBankDayAccBook.SelectData;
var
Sum1, Sum2, Sum3, Sum4: Extended;
begin
Sum1:=0;
Sum2:=0;
OpenView.Visible:=True;
Update;
OpenData('select BILLCODE, BILLMODEL, OTHERUNITNAME, TOTALSUM, '+
'BALANCE, BALANCEWHITHER, PAYMENTWHITHER, BILLTYPE, ISBALANCETO, '+
'ISUSEPREPAYSUM, CANUSESUM, PREPAYSUM FROM PayMentHand where ISAUDITING='+''''+'1'+''''+' and '+
' BILLDATE='+#39+DateToStr(SDate)+#39+' and PAYTYPE<>'+#39+'现金'+#39+' Order by BillCode DESC',
dmData.sdsPublic);
with DayAccBookData do
begin
CancelUpdates;
while not dmData.sdsPublic.Eof do
begin
Append;
Fieldbyname('BILLCODE').asstring:=dmData.sdsPublic.Fieldbyname('BillCode').asstring;
Fieldbyname('SUMMARY').asstring:=dmData.sdsPublic.Fieldbyname('BILLMODEL').asstring;
Fieldbyname('OTHERUNITNAME').asstring:=dmData.sdsPublic.Fieldbyname('OTHERUNITNAME').asstring;
//收款
if dmData.sdsPublic.Fieldbyname('BILLTYPE').asstring='1' then
begin
Fieldbyname('INCOME').asFloat:=dmData.sdsPublic.Fieldbyname('TOTALSUM').asFloat;
Sum1:=Sum1+Fieldbyname('INCOME').asFloat;
Sum3:=Sum3+Fieldbyname('INCOME').asFloat;
//如果是使用了预收款
if dmData.sdsPublic.Fieldbyname('ISUSEPREPAYSUM').asstring='True' then
begin
Append;
Fieldbyname('SUMMARY').asstring:='预收款转销售款';
Fieldbyname('OTHERUNITNAME').asstring:=dmData.sdsPublic.Fieldbyname('OTHERUNITNAME').asstring;
Fieldbyname('OUTLAY').asFloat:=dmData.sdsPublic.Fieldbyname('PREPAYSUM').asFloat;
Sum2:=Sum2+Fieldbyname('OUTLAY').asFloat;
Sum3:=Sum3-Fieldbyname('OUTLAY').asFloat;
end;
if dmData.sdsPublic.FieldByName('ISBALANCETO').AsString='1' then
begin
Append;
Fieldbyname('SUMMARY').asstring:='余额转预收款';
Fieldbyname('OTHERUNITNAME').asstring:=dmData.sdsPublic.Fieldbyname('OTHERUNITNAME').asstring;
Fieldbyname('INCOME').asFloat:=dmData.sdsPublic.Fieldbyname('BALANCE').asFloat;
Sum1:=Sum1+Fieldbyname('INCOME').asFloat;
Sum3:=Sum3+Fieldbyname('INCOME').asFloat;
end;
end
else
//付款
if dmData.sdsPublic.Fieldbyname('BILLTYPE').asstring='2' then
begin
Fieldbyname('OUTLAY').asFloat:=dmData.sdsPublic.Fieldbyname('TOTALSUM').asFloat;
Sum2:=Sum2+Fieldbyname('OUTLAY').asFloat;
Sum4:=Sum4+Fieldbyname('OUTLAY').asFloat;
//如果是使用了预付款
if dmData.sdsPublic.Fieldbyname('ISUSEPREPAYSUM').asstring='True' then
begin
Append;
Fieldbyname('SUMMARY').asstring:='预付款转采购付款';
Fieldbyname('OTHERUNITNAME').asstring:=dmData.sdsPublic.Fieldbyname('OTHERUNITNAME').asstring;
Fieldbyname('INCOME').asFloat:=dmData.sdsPublic.Fieldbyname('PREPAYSUM').asFloat;
Sum1:=Sum1+Fieldbyname('INCOME').asFloat;
Sum4:=Sum4-Fieldbyname('INCOME').asFloat;
end;
//余额转预付款
if dmData.sdsPublic.FieldByName('ISBALANCETO').AsString='1' then
begin
Append;
Fieldbyname('SUMMARY').asstring:='余额转预付款';
Fieldbyname('OTHERUNITNAME').asstring:=dmData.sdsPublic.Fieldbyname('OTHERUNITNAME').asstring;
Fieldbyname('OUTLAY').asFloat:=dmData.sdsPublic.Fieldbyname('BALANCE').asFloat;
Sum2:=Sum2+Fieldbyname('OUTLAY').asFloat;
Sum4:=Sum4+Fieldbyname('OUTLAY').asFloat;
end;
end;
//退货
if (dmData.sdsPublic.Fieldbyname('PAYMENTWHITHER').asstring='1') then
begin
Append;
Fieldbyname('OTHERUNITNAME').asstring:=dmData.sdsPublic.Fieldbyname('OTHERUNITNAME').asstring;
if dmData.sdsPublic.Fieldbyname('BILLTYPE').asstring='2' then
begin
Fieldbyname('SUMMARY').asstring:='退货金额转预收款';
Fieldbyname('INCOME').asFloat:=dmData.sdsPublic.Fieldbyname('TOTALSUM').asFloat;
Sum1:=Sum1+Fieldbyname('INCOME').asFloat;
Sum3:=Sum3+Fieldbyname('INCOME').asFloat;
end
else
if dmData.sdsPublic.Fieldbyname('BILLTYPE').asstring='1' then
begin
Fieldbyname('SUMMARY').asstring:='退货金额转预付款';
Fieldbyname('OUTLAY').asFloat:=dmData.sdsPublic.Fieldbyname('TOTALSUM').asFloat;
Sum2:=Sum2+Fieldbyname('OUTLAY').asFloat;
Sum4:=Sum4+Fieldbyname('OUTLAY').asFloat;
end;
end;
dmData.sdsPublic.Next;
end;
Append;
Fieldbyname('SUMMARY').asstring:='本日合计';
Fieldbyname('INCOME').asFloat:=Sum1;
Fieldbyname('OUTLAY').asFloat:=Sum2;
Fieldbyname('BALANCE').asFloat:=Sum1-Sum2;
Append;
Fieldbyname('SUMMARY').asstring:='本日实际收支合计';
Fieldbyname('INCOME').asFloat:=Sum3;
Fieldbyname('OUTLAY').asFloat:=Sum4;
Fieldbyname('BALANCE').asFloat:=Sum3-Sum4;
First;
end;
OpenView.Visible:=False;
end;
procedure TfrmBankDayAccBook.FormShow(Sender: TObject);
begin
OpenData('select * From DayAccBook', DayAccBookData);
DayLabel.Caption:='日期:'+GetLongDate(sDate);
SelectData;
end;
procedure TfrmBankDayAccBook.FormActivate(Sender: TObject);
begin
GetWindowsItem(Caption, Self);
end;
procedure TfrmBankDayAccBook.FormDestroy(Sender: TObject);
begin
WindowItem.Delete(WindowItem.IndexOfObject(Self));
DayAccBookData.Close;
end;
procedure TfrmBankDayAccBook.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
frmBankdayAccBook:=Nil;
end;
procedure TfrmBankDayAccBook.Action1Execute(Sender: TObject);
begin
PrintView('RepBankdayAccBook.frf', Report);
end;
procedure TfrmBankDayAccBook.DayAccBookDataCalcFields(DataSet: TDataSet);
begin
DayAccBookData.Fieldbyname('SDate').asDateTime:=SDate;
end;
procedure TfrmBankDayAccBook.LBSpeecButton2Click(Sender: TObject);
begin
GetXoY(LBSpeecButton2);
sDate:=Date;
SelectDate;
DayLabel.Caption:='日期:'+GetLongDate(sDate);
SelectData;
end;
procedure TfrmBankDayAccBook.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=27 then Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -