📄 csh750_01.pas.svn-base
字号:
unit Csh750_01;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Bas200_11, dxExEdtr, DB, ADODB, ActnList, Menus, dxCntner, dxTL,
dxDBCtrl, dxDBGrid, ExtCtrls, ComCtrls, ToolWin, Buttons, StdCtrls,
wwdbdatetimepicker;
type
TCsh750_01Form = class(TBas200_11Form)
lblType: TLabel;
cbType: TComboBox;
lblDate: TLabel;
edtFromDate: TwwDBDateTimePicker;
edtToDate: TwwDBDateTimePicker;
sbSearch: TSpeedButton;
qryCsh500: TADOQuery;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure sbSearchClick(Sender: TObject);
private
{ Private declarations }
public
procedure SetInterface; override;
procedure BrowseEvent; override;
procedure RefreshEvent; override;
procedure ReportGetValue(const ParName: String; var ParValue: Variant); override;
{ Public declarations }
end;
var
Csh750_01Form: TCsh750_01Form;
implementation
uses SYSDATA, CommFun;
{$R *.dfm}
procedure TCsh750_01Form.SetInterface;
begin
inherited;
Caption:=GetDBString('CSH75001001'); //销售利润分析
lblType.Caption:=GetDBString('CSH75001002'); //类型
lblDate.Caption:=GetDBString('CSH75001003'); //日期
sbSearch.Caption:=GetDBString('CSH75001004'); //查询
cbType.Clear;
cbType.Items.Add(GetDBString('CSH75001005')); //销售定单
cbType.ItemIndex:=0;
end;
procedure TCsh750_01Form.FormCreate(Sender: TObject);
var
ADate:TDateTime;
begin
inherited;
ADate:=GetServerDate;
edtFromDate.Date:=GetMonthFirstDate(ADate);
edtToDate.Date:=GetMonthEndDate(ADate);
sbSearch.Click;
end;
procedure TCsh750_01Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
//
end;
procedure TCsh750_01Form.sbSearchClick(Sender: TObject);
var
AFromDate,AToDate:TDateTime;
// ACustNo,ACurrNo:Integer;
begin
inherited;
//查询
if (edtFromDate.Text='') or (edtToDate.Text='') then
begin
ShowMsg('UMS10000319'); //起止日期不可为空
if edtFromDate.Text='' then edtFromDate.SetFocus else edtToDate.SetFocus;
Abort;
end;
if edtFromDate.Date>edtToDate.Date then
begin
ShowMsg('UMS10000320'); //结束日期不能小于起始日期
edtToDate.SetFocus;
Abort;
end;
AFromDate:=edtFromDate.Date;
AToDate:=edtToDate.Date;
try
Screen.Cursor:=crHourGlass;
ADODataSet1.DisableControls;
ADODataSet1.Close;
ADODataSet1.CreateDataSet;
qryCsh500.Close;
qryCsh500.SQL.Clear;
qryCsh500.SQL.Add('select * from');
qryCsh500.SQL.Add(' (select A.*,');
qryCsh500.SQL.Add(' B.O150_002,B.O150_003,');
qryCsh500.SQL.Add(' C.G100_002,C.G100_003');
qryCsh500.SQL.Add(' from CSH610 A,ORD150 B,GLD100 C');
qryCsh500.SQL.Add(' where C610_001=0 and C610_002=O150_001 and C610_003=G100_001');
qryCsh500.SQL.Add(' union');
qryCsh500.SQL.Add(' select A.*,');
qryCsh500.SQL.Add(' B.H150_002,B.H150_003,');
qryCsh500.SQL.Add(' C.G100_002,C.G100_003');
qryCsh500.SQL.Add(' from CSH610 A,HRM150 B,GLD100 C');
qryCsh500.SQL.Add(' where C610_001=1 and C610_002=H150_001 and C610_003=G100_001) AA');
qryCsh500.SQL.Add('where C610_004='+IntToStr(cbType.ItemIndex)+' and C610_006>='+GetDateString(AFromDate)+' and C610_006<='+GetDateString(AToDate));
qryCsh500.SQL.Add('order by C610_001,O150_002,G100_002,C610_006,C610_011');
qryCsh500.Open;
while not qryCsh500.Eof do
begin
if ADODataSet1.Locate('FCurrName;FType;FCode',VarArrayOf([qryCsh500.FieldByName('G100_003').Value,qryCsh500.FieldByName('C610_001').Value,qryCsh500.FieldByName('O150_002').Value]),[]) then
ADODataSet1.Edit
else
ADODataSet1.Append;
ADODataSet1.FieldByName('FCurrName').Value:=qryCsh500.FieldByName('G100_003').Value;
ADODataSet1.FieldByName('FType').Value:=qryCsh500.FieldByName('C610_001').Value;
ADODataSet1.FieldByName('FCode').Value:=qryCsh500.FieldByName('O150_002').Value;
ADODataSet1.FieldByName('FName').Value:=qryCsh500.FieldByName('O150_003').Value;
case qryCsh500.FieldByName('C610_005').AsInteger of //0=期初,1=收入,2=支出
0:ADODataSet1.FieldByName('FOpen').AsFloat:=ADODataSet1.FieldByName('FOpen').AsFloat+qryCsh500.FieldByName('C610_007').AsFloat;
1:ADODataSet1.FieldByName('FInAmt').AsFloat:=ADODataSet1.FieldByName('FInAmt').AsFloat+qryCsh500.FieldByName('C610_007').AsFloat;
2:ADODataSet1.FieldByName('FOutAmt').AsFloat:=ADODataSet1.FieldByName('FOutAmt').AsFloat+qryCsh500.FieldByName('C610_007').AsFloat;
end;
ADODataSet1.FieldByName('FBalance').Value:=qryCsh500.FieldByName('C610_008').Value;
ADODataSet1.FieldByName('FCustNo').Value:=qryCsh500.FieldByName('C610_002').Value;
ADODataSet1.FieldByName('FCurrNo').Value:=qryCsh500.FieldByName('C610_003').Value;
ADODataSet1.Post;
qryCsh500.Next;
end;
finally
ADODataSet1.EnableControls;
Screen.Cursor:=crDefault;
end;
ARecordCount:=GetDataSetCount(ADODataSet1);
end;
procedure TCsh750_01Form.BrowseEvent;
begin
inherited;
end;
procedure TCsh750_01Form.RefreshEvent;
begin
inherited;
sbSearch.Click;
end;
procedure TCsh750_01Form.ReportGetValue(const ParName: String;
var ParValue: Variant);
begin
inherited;
end;
initialization
RegisterClass(TCsh750_01Form);
finalization
UnRegisterClass(TCsh750_01Form);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -