📄 csh700_01.pas.svn-base
字号:
unit Csh700_01;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, BAS200_08, dxExEdtr, DB, ADODB, ActnList, Menus, dxCntner, dxTL,
dxDBCtrl, dxDBGrid, ExtCtrls, ComCtrls, TeEngine, Series, TeeProcs,
Chart, DbChart, dxDBTLCl, dxGrClms, StdCtrls, wwdbdatetimepicker,
Buttons, ToolWin, wwfltdlg;
type
TCsh700_01Form = class(TBas200_08Form)
ADODataSet1ACCNO: TIntegerField;
ADODataSet1ACCNM: TStringField;
ADODataSet1CURNM: TStringField;
ADODataSet1AMOUNT: TBCDField;
dxDBGrid1ACCNM: TdxDBGridMaskColumn;
dxDBGrid1CURNM: TdxDBGridMaskColumn;
dxDBGrid1AMOUNT: TdxDBGridCurrencyColumn;
lblDate: TLabel;
edtDate: TwwDBDateTimePicker;
qryCsh550: TADOQuery;
sbSearch: TSpeedButton;
Splitter1: TSplitter;
Panel2: TPanel;
DBChart1: TDBChart;
BarSeries1: TBarSeries;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
ActOpen: TAction;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure sbSearchClick(Sender: TObject);
procedure dxDBGrid1AMOUNTDrawSummaryFooter(Sender: TObject;
ACanvas: TCanvas; ARect: TRect; var AText: String;
var AAlignment: TAlignment; AFont: TFont; var AColor: TColor;
var ADone: Boolean);
procedure ActPrintExecute(Sender: TObject);
procedure N1Click(Sender: TObject);
private
ASum:Double;
{ Private declarations }
public
procedure SetInterface; override;
procedure RefreshEvent; override;
procedure ReportGetValue(const ParName: String; var ParValue: Variant); override;
{ Public declarations }
end;
var
Csh700_01Form: TCsh700_01Form;
implementation
uses CommFun, SYSDATA, CshComm, Csh510_01;
{$R *.dfm}
procedure TCsh700_01Form.SetInterface;
begin
inherited;
Caption:=GetDBString('CSH70001001'); //资金余额查询
lblDate.Caption:=GetDBString('CSH70001002'); //日期
sbSearch.Caption:=GetDBString('CSH70001003'); //查询
ADODataSet1ACCNO.DisplayLabel:=GetDBString('CSH70001004'); //帐户编号
ADODataSet1ACCNM.DisplayLabel:=GetDBString('CSH70001005'); //帐户名称
ADODataSet1CURNM.DisplayLabel:=GetDBString('CSH70001006'); //币别
ADODataSet1AMOUNT.DisplayLabel:=GetDBString('CSH70001007'); //余额
end;
procedure TCsh700_01Form.FormCreate(Sender: TObject);
begin
inherited;
SetInterface;
edtDate.Date:=GetServerDate;
sbSearch.Click;
end;
procedure TCsh700_01Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
ADODataSet1.Close;
end;
procedure TCsh700_01Form.sbSearchClick(Sender: TObject);
var
AccNo:Integer;
begin
inherited;
//查询
if edtDate.Text='' then
begin
ShowMsg('UMS10000163'); //日期不能为空
edtDate.SetFocus;
Abort;
end;
Screen.Cursor:=crHourGlass;
//建立出纳总帐临时表
ADODataSet1.DisableControls;
ADODataSet1.Close;
ADODataSet1.FieldDefs.Clear;
ADODataSet1.FieldDefs.Add('ACCNO',ftInteger,0);
ADODataSet1.FieldDefs.Add('ACCNM',ftString,50);
ADODataSet1.FieldDefs.Add('CURNM',ftString,30);
ADODataSet1.FieldDefs.Add('AMOUNT',ftCurrency,0);
ADODataSet1.CreateDataSet;
ASum:=0;
//取得所有帐户的余额
qryCsh550.Close;
qryCsh550.SQL.Clear;
qryCsh550.SQL.Add('select A.*,B.G100_003 from CSH550 A, GLD100 B where A.C550_005=B.G100_001');
qryCsh550.Open;
while not qryCsh550.Eof do
begin
AccNo:=qryCsh550.FieldByName('C550_001').Value;
ADODataSet1.Append;
ADODataSet1.FieldByName('ACCNO').Value:=AccNo;
ADODataSet1.FieldByName('ACCNM').Value:=qryCsh550.FieldByName('C550_002').Value;
ADODataSet1.FieldByName('CURNM').Value:=qryCsh550.FieldByName('G100_003').Value;
ADODataSet1.FieldByName('AMOUNT').Value:=GetAccBalance(AccNo,edtDate.Date);
ADODataSet1.Post;
ASum:=ASum+ADODataSet1.FieldByName('AMOUNT').Value;
qryCsh550.Next;
end;
ADODataSet1.EnableControls;
DBChart1.RefreshData;
Screen.Cursor:=crDefault;
end;
procedure TCsh700_01Form.ReportGetValue(const ParName: String;
var ParValue: Variant);
begin
inherited;
if ParName='CURNM' then ParValue:=GetDBString('CSH70001006') //'币别'
else if ParName='ACCNM' then ParValue:=GetDBString('CSH70001005') //'帐户名称'
else if ParName='AMOUNT' then ParValue:=GetDBString('CSH70001007') //'余额'
else if ParName='DATE1' then ParValue:=GetDBString('CSH70001009')+edtDate.Text //'日期:'
end;
procedure TCsh700_01Form.dxDBGrid1AMOUNTDrawSummaryFooter(Sender: TObject;
ACanvas: TCanvas; ARect: TRect; var AText: String;
var AAlignment: TAlignment; AFont: TFont; var AColor: TColor;
var ADone: Boolean);
begin
inherited;
if VarToStr(ASum)<>'' then AText:=FloatToStrF(ASum,ffCurrency,18,2);
AColor := clWhite;
end;
procedure TCsh700_01Form.ActPrintExecute(Sender: TObject);
begin
try
SYSDM.frReport2.OnGetValue:=ReportGetValue;
inherited;
finally
SYSDM.frReport2.OnGetValue:=nil;
end;
end;
procedure TCsh700_01Form.N1Click(Sender: TObject);
var
AFieldInfo:TwwFieldInfo;
begin
inherited;
//查看
if ADODataSet1.IsEmpty then Exit;
Screen.Cursor:=crHourGlass;
Csh510_01Form:=TCsh510_01Form.Create(Application);
Csh510_01Form.edtFromDate.Date:=edtDate.Date;
Csh510_01Form.edtToDate.Date:=edtDate.Date;
Csh510_01Form.sbSearch.Click;
AFieldInfo:=TwwFieldInfo.Create;
FilterDialog(Csh510_01Form.DataSource1,False);
AFieldInfo.FieldName:='I120_003';
// AFieldInfo.DisplayLabel:=Csh510_01Form.ADOQuery1I120_003.DisplayLabel;
AFieldInfo.MatchType:=fdMatchStart;
AFieldInfo.CaseSensitive:=False;
AFieldInfo.NonMatching:=False;
// AFieldInfo.FilterValue:=ADODataSet1FName.Value;;
SYSDM.wwFilterDialog1.FieldInfo.Add(AFieldInfo);
SYSDM.wwFilterDialog1.ApplyFilter;
Screen.Cursor:=crDefault;
Csh510_01Form.ShowModal;
// if Assigned(AFieldInfo) then AFieldInfo.Free;
end;
procedure TCsh700_01Form.RefreshEvent;
begin
inherited;
sbSearch.Click;
end;
initialization
RegisterClass(TCsh700_01Form);
finalization
UnRegisterClass(TCsh700_01Form);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -