📄 u_charge.~pas
字号:
unit u_Charge;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, ADODB, DB;
type
TfrmCharge = class(TForm)
Label1: TLabel;
cmbCus: TComboBox;
edtCharge: TLabeledEdit;
btnCharge: TBitBtn;
btnClose: TBitBtn;
btnCancel: TBitBtn;
edtOutDH: TLabeledEdit;
procedure FormShow(Sender: TObject);
procedure btnCloseClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnCancelClick(Sender: TObject);
procedure cmbCusKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edtChargeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure btnChargeClick(Sender: TObject);
procedure edtOutDHKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmCharge: TfrmCharge;
implementation
uses u_DataCtrl, u_ShareFun;
{$R *.dfm}
procedure TfrmCharge.FormShow(Sender: TObject);
var
CusQry : TADOQuery ;
begin
CusQry := TADOQuery.Create(self);
CusQry.Connection := frmDataCtrl.ADOConn ;
CusQry.Close;
CusQry.SQL.Clear;
CusQry.SQL.Text := 'select * from vw_CusBalanceMonStat where BalanceMon>0';
try
CusQry.Active := true;
if CusQry.RecordCount<1 then Exit ;
while not CusQry.Eof do
begin
cmbCus.Items.Add(CusQry.FieldValues['CusSName']);
CusQry.Next;
end;
except
showmessage('数据添加失败!!');
end;
cmbCus.Text := '';
edtCharge.Text := '0.0';
cmbCus.SetFocus ;
CusQry.Close;
CusQry.Free;
CusQry :=nil;
end;
procedure TfrmCharge.btnCloseClick(Sender: TObject);
begin
Close ;
end;
procedure TfrmCharge.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := Cafree ;
end;
procedure TfrmCharge.btnCancelClick(Sender: TObject);
begin
cmbCus.Text := '' ;
edtCharge.Text :='' ;
cmbCus.SetFocus ;
end;
procedure TfrmCharge.cmbCusKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key =13) and (cmbCus.Text<>'') then
edtOutDH.SetFocus;
end;
procedure TfrmCharge.edtChargeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=13) and Not IsNumeric(edtCharge.Text) then
showmessage('请输入数字!');
if (key=13) and (IsNumeric(edtCharge.Text)) then
btnCharge.SetFocus;
end;
procedure TfrmCharge.btnChargeClick(Sender: TObject);
var
CusQry,OutDH : TADOQuery ;
Summary,TempOutDH: String ;
begin
if (cmbCus.Text='') then
begin
showmessage('请选择客户!!');
cmbCus.SetFocus;
exit;
end;
if Not IsNumeric(edtCharge.Text) then
begin
showmessage('请输入数字!');
edtCharge.SetFocus;
exit ;
end;
if edtOutDH.Text = '' then
TempOutDH := '0'
else
begin
TempOutDH := edtOutDH.Text;
OutDH := TADOQuery.Create(self);
OutDH.Connection := frmDataCtrl.ADOConn;
OutDH.Close;
OutDH.SQL.Clear;
OutDH.SQL.Add('select * from tb_GoodsOutMaster where OutBH = '+QuotedStr(TempOutDH));
OutDH.Open;
if OutDH.IsEmpty then
begin
Application.MessageBox('该出库编号不存在','警告',MB_OK);
edtOutDH.SetFocus;
Exit;
end;
end;
if Application.MessageBox('确实要为此客户收款吗?','询问',mb_Iconquestion+mb_yesNo)=IDNO then
Exit ;
Summary := cmbCus.Text +'收款 ';
CusQry := TADOQuery.Create(self);
CusQry.Connection := frmDataCtrl.ADOConn ;
CusQry.Close;
CusQry.SQL.Clear;
CusQry.SQL.Add('exec pip_CusAccount '+QuotedStr(cmbCus.Text)+',');
CusQry.SQL.Add(QuotedStr(Summary)+',0,0,'+QuotedStr(TempOutDH)+','+edtCharge.Text);
try
CusQry.ExecSQL;
showmessage('欠收款成功!!');
except
showmessage('欠收款失败!!');
end;
cmbCus.Text := '';
edtOutDH.Text := '';
edtCharge.Text := '0.0';
cmbCus.SetFocus ;
CusQry.Close;
CusQry.Free;
CusQry :=nil ;
end;
procedure TfrmCharge.edtOutDHKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key = vk_Return then
edtCharge.SetFocus;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -