📄 wm_sel.pas
字号:
unit wm_sel;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, Mask, ExtCtrls, Grids, DBGrids, Db, DBTables;
type
Tfrm_wm_sel = class(TForm)
Panel1: TPanel;
Label1: TLabel;
txt_d_xx: TMaskEdit;
Label2: TLabel;
txt_d_sx: TMaskEdit;
cmd_q: TBitBtn;
Panel2: TPanel;
Panel3: TPanel;
qe_wm: TQuery;
ds_wm: TDataSource;
DBGrid1: TDBGrid;
Panel4: TPanel;
cmdOK: TBitBtn;
cmdCancel: TBitBtn;
qe_bh: TQuery;
ds_bh: TDataSource;
DBGrid2: TDBGrid;
Label3: TLabel;
txt_date: TEdit;
Label4: TLabel;
txt_dw: TEdit;
Label5: TLabel;
txt_je: TEdit;
qe_sum: TQuery;
procedure qe_bhAfterScroll(DataSet: TDataSet);
procedure FormShow(Sender: TObject);
procedure cmd_qClick(Sender: TObject);
procedure txt_d_xxKeyPress(Sender: TObject; var Key: Char);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure cmdOKClick(Sender: TObject);
procedure cmdCancelClick(Sender: TObject);
private
{ Private declarations }
procedure QueryResult;
public
{ Public declarations }
wm_pos: integer;
end;
var
frm_wm_sel: Tfrm_wm_sel;
implementation
{$R *.DFM}
uses
log, main, wm_tk;
procedure Tfrm_wm_sel.QueryResult;
begin
qe_bh.Close;
qe_bh.SQL.Clear;
if Trim(txt_d_xx.EditText) = '0000-00-00' then begin
if Trim(txt_d_sx.EditText) = '0000-00-00' then begin
MessageBox(Handle, '请确定日期', '沈阳信德', MB_ICONQUESTION or MB_OK);
txt_d_xx.SetFocus;
Exit;
end else begin
MessageBox(Handle, '请确定日期下限', '沈阳信德', MB_ICONQUESTION or MB_OK);
txt_d_xx.SetFocus;
Exit;
end;
end else begin
if Trim(txt_d_sx.EditText) = '0000-00-00' then begin
qe_bh.SQL.Add('SELECT WM_BH FROM WM_GL WHERE WM_ZF_BS = 0 AND WM_DATE = ''' + Trim(txt_d_xx.EditText) + ''' GROUP BY WM_BH');
end else begin
qe_bh.SQL.Add('SELECT WM_BH FROM WM_GL WHERE WM_ZF_BS = 0 AND WM_DATE >= ''' + Trim(txt_d_xx.EditText) + ''' AND WM_DATE <= ''' + Trim(txt_d_sx.EditText) + ''' GROUP BY WM_BH');
end;
end;
qe_bh.Open;
qe_bh.First;
//
if (qe_bh.Bof) and (qe_bh.Eof) then begin
MessageBox(Handle, '没有找到符合条件的记录', '沈阳信德', MB_ICONQUESTION or MB_OK);
txt_d_xx.SetFocus;
if cmdOK.Visible then cmdOK.Enabled := False;
Exit;
end else begin
if cmdOK.Visible then cmdOK.Enabled := True;
end;
end;
procedure Tfrm_wm_sel.qe_bhAfterScroll(DataSet: TDataSet);
var
f_zj: Double;
begin
if (qe_bh.Bof) and (qe_bh.Eof) then begin
//////////////////
qe_wm.Close;
qe_sum.Close;
txt_date.Text := '';
txt_dw.Text := '';
txt_je.Text := '';
end else begin
qe_wm.Close;
qe_wm.ParamByName('ibh').Value := Trim(qe_bh.FieldByName('wm_bh').AsString);
qe_wm.Open;
qe_wm.First;
txt_date.Text := Trim(qe_wm.FieldByName('wm_date').AsString);
txt_dw.Text := Trim(qe_wm.FieldByName('pj_ghdw').AsString);
//
qe_sum.Close;
qe_sum.ParamByName('ibh').Value := Trim(qe_bh.FieldByName('wm_bh').AsString);
qe_sum.Open;
qe_sum.First;
//
f_zj := qe_sum.FieldByName('pj_zj').Value;
f_zj := Int(f_zj) + Round((Frac(f_zj)*100))/100;
//
txt_je.Text := FloatToStr(f_zj);
end;
end;
procedure Tfrm_wm_sel.FormShow(Sender: TObject);
begin
if wm_pos = 1 then begin //外卖销售查询
frm_main.mu_cx_pj.Enabled := False;
frm_main.current_handle := Handle;
//
cmdOK.Visible := False;
cmdCancel.Visible := False;
//
frm_wm_sel.Caption := '配件销售查询';
end else if wm_pos = 2 then begin //外卖退货选择条件
cmdOK.Visible := True;
cmdCancel.Visible := True;
frm_wm_sel.Caption := '配件销售(退货)选择';
end;
//
txt_d_xx.SetFocus;
end;
procedure Tfrm_wm_sel.cmd_qClick(Sender: TObject);
begin
QueryResult;
end;
procedure Tfrm_wm_sel.txt_d_xxKeyPress(Sender: TObject; var Key: Char);
begin
if Ord(Key) = 13 then QueryResult;
end;
procedure Tfrm_wm_sel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
qe_sum.Close;
qe_wm.Close;
qe_bh.Close;
//
if wm_pos = 1 then begin
frm_main.mu_cx_pj.Enabled := True;
frm_main.current_handle := 0;
end;
//
Action := caFree;
end;
procedure Tfrm_wm_sel.FormDestroy(Sender: TObject);
begin
qe_sum := nil;
qe_wm := nil;
qe_bh := nil;
//
frm_wm_sel := nil;
end;
procedure Tfrm_wm_sel.cmdOKClick(Sender: TObject);
begin
if not Assigned(frm_wm_tk) then begin
frm_wm_tk := Tfrm_wm_tk.Create(Application);
frm_wm_tk.txt_bh.EditText := Trim(qe_bh.FieldByName('wm_bh').AsString);
frm_wm_tk.txt_dw.Text := Trim(txt_dw.Text);
frm_wm_tk.cur_bh := Trim(qe_bh.FieldByName('wm_bh').AsString);
frm_wm_tk.Show;
//
Close;
end;
end;
procedure Tfrm_wm_sel.cmdCancelClick(Sender: TObject);
begin
Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -