📄 acr300_01.pas.svn-base
字号:
unit Acr300_01;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, BAS200_03, dxExEdtr, ActnList, DB, ADODB, Menus, dxCntner, dxTL,
dxDBCtrl, dxDBGrid, ExtCtrls, ComCtrls, ToolWin, StdCtrls,
wwdbdatetimepicker, Buttons, dxDBTLCl, dxGrClms;
type
TAcr300_01Form = class(TBas200_03Form)
lblDate: TLabel;
sbSearch: TSpeedButton;
edtFromDate: TwwDBDateTimePicker;
edtToDate: TwwDBDateTimePicker;
cbType: TComboBox;
lblType: TLabel;
ADOQuery1O510A_001: TWideStringField;
ADOQuery1O510A_003: TDateTimeField;
ADOQuery1O510A_004: TSmallintField;
ADOQuery1O150_002: TWideStringField;
ADOQuery1O150_003: TWideStringField;
ADOQuery1G100_003: TWideStringField;
ADOQuery1O510B_026: TFloatField;
ADOQuery1O510B_024: TFloatField;
ADOQuery1FNotBill: TFloatField;
ADOQuery1O510B_027: TFloatField;
ADOQuery1FNotAmount: TFloatField;
dxDBGrid1O510A_001: TdxDBGridColumn;
dxDBGrid1O510A_003: TdxDBGridDateColumn;
dxDBGrid1O510A_004: TdxDBGridMaskColumn;
dxDBGrid1O150_002: TdxDBGridColumn;
dxDBGrid1O150_003: TdxDBGridColumn;
dxDBGrid1G100_003: TdxDBGridColumn;
dxDBGrid1O510B_026: TdxDBGridMaskColumn;
dxDBGrid1O510B_024: TdxDBGridMaskColumn;
dxDBGrid1FNotBill: TdxDBGridMaskColumn;
dxDBGrid1O510B_027: TdxDBGridMaskColumn;
dxDBGrid1FNotAmount: TdxDBGridMaskColumn;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure sbSearchClick(Sender: TObject);
procedure ADOQuery1O510A_004GetText(Sender: TField; var Text: String;
DisplayText: Boolean);
private
AStatus:array[0..5] of string;
{ Private declarations }
public
procedure SetInterface; override;
procedure BrowseEvent; override;
procedure ReportGetValue(const ParName: String; var ParValue: Variant); override;
{ Public declarations }
end;
var
Acr300_01Form: TAcr300_01Form;
implementation
uses CommFun, SYSDATA, Ord510_02;
{$R *.dfm}
procedure TAcr300_01Form.SetInterface;
begin
inherited;
Caption:=GetDBString('ACR30001001'); //销售发票查询
lblType.Caption:=GetDBString('ACR30001002'); //类型
lblDate.Caption:=GetDBString('ACR30001003'); //日期
sbSearch.Caption:=GetDBString('ACR30001004'); //查询
cbType.Clear;
cbType.Items.Add(GetDBString('ACR30001005')); //未开票额
cbType.Items.Add(GetDBString('ACR30001006')); //已开票额
cbType.ItemIndex:=0;
ADOQuery1O510A_001.DisplayLabel:=GetDBString('ACR30001007'); //销售单号
ADOQuery1O510A_003.DisplayLabel:=GetDBString('ACR30001008'); //销售日期
ADOQuery1O510A_004.DisplayLabel:=GetDBString('ACR30001009'); //定单状态
ADOQuery1O150_002.DisplayLabel:=GetDBString('ACR30001010'); //客户编号
ADOQuery1O150_003.DisplayLabel:=GetDBString('ACR30001011'); //客户名称
ADOQuery1G100_003.DisplayLabel:=GetDBString('ACR30001012'); //币别名称
ADOQuery1O510B_026.DisplayLabel:=GetDBString('ACR30001013'); //应开票额
ADOQuery1O510B_024.DisplayLabel:=GetDBString('ACR30001014'); //已开票额
ADOQuery1FNotBill.DisplayLabel:=GetDBString('ACR30001015'); //未开票额
ADOQuery1O510B_027.DisplayLabel:=GetDBString('ACR30001016'); //已收款额
ADOQuery1FNotAmount.DisplayLabel:=GetDBString('ACR30001017'); //未收款额
//0=新建,1=执行,2=发货,3=取消,4=锁定,5=完成
AStatus[0]:=GetDBString('ACR30001018'); //新建
AStatus[1]:=GetDBString('ACR30001019'); //执行
AStatus[2]:=GetDBString('ACR30001020'); //发货
AStatus[3]:=GetDBString('ACR30001021'); //取消
AStatus[4]:=GetDBString('ACR30001022'); //锁定
AStatus[5]:=GetDBString('ACR30001023'); //完成
end;
procedure TAcr300_01Form.FormCreate(Sender: TObject);
var
ADate:TDateTime;
begin
inherited;
ADate:=GetServerDate;
edtFromDate.Date:=GetMonthFirstDate(ADate);
edtToDate.Date:=GetMonthEndDate(ADate);
sbSearch.Click;
end;
procedure TAcr300_01Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
//
end;
procedure TAcr300_01Form.BrowseEvent;
begin
Ord510_02Form:=TOrd510_02Form.Create(Application);
Ord510_02Form.OpenData(ADOQuery1.FieldByName('O510A_001').AsString);
Ord510_02Form.ShowModal;
end;
procedure TAcr300_01Form.ReportGetValue(const ParName: String;
var ParValue: Variant);
begin
end;
procedure TAcr300_01Form.sbSearchClick(Sender: TObject);
var
AFromDate,AToDate:TDateTime;
S:String;
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;
case cbType.ItemIndex of
0:S:='>0'; //未开发票
1:S:='=0'; //已开发票
end;
try
Screen.Cursor:=crHourGlass;
ADOQuery1.DisableControls;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select O510A_001,O510A_003,O510A_004,O150_002,O150_003,G100_003,O510B_026,O510B_024,O510B_026-O510B_025-O510B_024 as FNotBill,O510B_027,O510B_024-O510B_027 as FNotAmount');
ADOQuery1.SQL.Add('from ORD510A,ORD510B,ORD150,GLD100');
ADOQuery1.SQL.Add('where O510A_001=O510B_001 and O510A_017=O150_001 and O510A_007=G100_001 and ');
ADOQuery1.SQL.Add(' O510B_026-O510B_025-O510B_024'+S+' and O510A_003>='+GetDateString(AFromDate)+' and O510A_003<='+GetDateString(AToDate));
ADOQuery1.SQL.Add('order by O510A_001');
ADOQuery1.Open;
finally
ADOQuery1.EnableControls;
Screen.Cursor:=crDefault;
end;
ARecordCount:=GetDataSetCount(ADOQuery1);
end;
procedure TAcr300_01Form.ADOQuery1O510A_004GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
inherited;
if ADOQuery1.IsEmpty then Exit;
Text:=AStatus[Sender.AsInteger];
end;
initialization
RegisterClass(TAcr300_01Form);
finalization
UnRegisterClass(TAcr300_01Form);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -