📄 urc.pas
字号:
unit urc;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls, dialogs, Grids, DBGridEh, Menus, ComCtrls, Mask,
DBCtrlsEh, DBLookupEh, DBCtrls, ActnList;
type
Trc = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
b_find: TBitBtn;
b_select: TButton;
DBLookupComboboxEh1: TDBLookupComboboxEh;
Label15: TLabel;
Label6: TLabel;
DBText2: TDBText;
DBText1: TDBText;
Label7: TLabel;
Label8: TLabel;
DBText3: TDBText;
Label17: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
DBText4: TDBText;
DBText5: TDBText;
DBText6: TDBText;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
DBText9: TDBText;
DBText10: TDBText;
DBText11: TDBText;
L_b: TLabel;
GroupBox5: TGroupBox;
DBGridEh2: TDBGridEh;
b_save: TBitBtn;
b_cancel: TBitBtn;
Label16: TLabel;
GroupBox1: TGroupBox;
Label23: TLabel;
Label9: TLabel;
Label10: TLabel;
Edit9: TEdit;
Edit10: TEdit;
Label11: TLabel;
Edit11: TEdit;
Label12: TLabel;
Edit12: TEdit;
GroupBox3: TGroupBox;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
l_count: TLabel;
Label27: TLabel;
Label28: TLabel;
Edit4: TEdit;
l_zq: TLabel;
DBText7: TDBText;
Label29: TLabel;
DBText8: TDBText;
Label13: TLabel;
Label14: TLabel;
Edit13: TEdit;
Edit14: TEdit;
DateTimePicker1: TDateTimePicker;
Label30: TLabel;
ActionList1: TActionList;
a_cancel: TAction;
procedure CancelBtnClick(Sender: TObject);
procedure b_findClick(Sender: TObject);
procedure b_saveClick(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure b_selectClick(Sender: TObject);
procedure Edit9Enter(Sender: TObject);
procedure Edit9Exit(Sender: TObject);
procedure Edit4Change(Sender: TObject);
procedure Edit9Change(Sender: TObject);
procedure Edit11Change(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit9KeyPress(Sender: TObject; var Key: Char);
procedure Edit11KeyPress(Sender: TObject; var Key: Char);
procedure a_cancelExecute(Sender: TObject);
procedure a_cancelUpdate(Sender: TObject);
private
{ Private declarations }
public
procedure Save_fp;
{ Public declarations }
end;
var
rc: Trc;
implementation
uses DB, u_dm, ADODB, u_main, RICH_SYS;
{$R *.dfm}
procedure Trc.CancelBtnClick(Sender: TObject);
begin
close;
end;
procedure Trc.b_findClick(Sender: TObject);
var
s: string;
begin
with dm1.A_person_find do
begin
close;
if Edit1.Text = '' then
Parameters.ParamByName('pno').Value := ''
else
Parameters.ParamByName('pno').Value := edit1.Text;
if edit2.Text = '' then
Parameters.ParamByName('py').Value := ''
else
Parameters.ParamByName('py').Value := trim(edit2.Text);
Open;
DBLookupComboboxEh1.Visible := recordcount > 1;
b_select.Visible := recordcount > 1;
if recordcount < 1 then
begin
edit1.SelectAll;
edit1.SetFocus;
exit;
end;
if recordcount = 1 then
begin
with dm1.A_rc_item do
begin
close;
Parameters.ParamByName('person_id').Value :=
dm1.A_person_find.fieldbyname('person_id').AsInteger;
open;
end;
with dm1.A_rc_sum do
begin
close;
Parameters.ParamByName('@acount_id').Value :=
strtoint(main.Acount_id);
open;
Locate('person_id',
dm1.A_person_find.fieldbyname('person_id').AsInteger,
[]);
str((FieldByName('y_count').AsFloat /
FieldByName('r_count').AsFloat * 100): 7: 2, s);
L_b.Caption := '已完成任务:' + s + '%';
edit9.SelectAll;
Edit9.SetFocus;
end;
end;
end;
b_save.Enabled := DBText2.Caption <> '';
end;
procedure Trc.b_saveClick(Sender: TObject);
var
s: string;
begin
if ((Edit9.Text = '') or (edit11.Text = '')) then exit;
if ((Edit9.Text = '0') and (edit11.Text = '0')) then exit;
if edit13.Text = '' then
begin
MessageDlg('对不起,你没有输入收款人姓名,操作已被取消!', mtWarning,
[mbok], 0);
edit13.SetFocus;
exit;
end;
if edit14.Text = '' then
begin
MessageDlg('对不起,你没有输入操作员姓名,操作已被取消!', mtWarning,
[mbok], 0);
edit14.SetFocus;
exit;
end;
if ((Edit9.Text <> '0') and (edit11.Text <> '0')) then
begin
s :=
'insert into rc(acount_id,person_id,rc_date,s1,s2,s1_no,s2_no,user_name,m_name) values(';
s := s + main.Acount_id + ',' +
dm1.A_person_find.fieldbyname('person_id').AsString + ',' +
string_sqlText(DateToStr(DateTimePicker1.Date)) + ',' +
edit9.Text + ',' +
edit11.Text + ',' +
string_sqlText(edit10.Text) + ',' +
string_sqlText(edit12.Text) + ',' +
string_sqlText(edit14.Text) + ',' +
string_sqlText(edit13.Text) + ')';
end;
if ((Edit9.Text <> '0') and (edit11.Text = '0')) then
begin
s :=
'insert into rc(acount_id,person_id,rc_date,s1,s1_no,user_name,m_name) values(';
s := s + main.Acount_id + ',' +
dm1.A_person_find.fieldbyname('person_id').AsString + ',' +
string_sqlText(DateToStr(DateTimePicker1.Date)) + ',' +
edit9.Text + ',' +
string_sqlText(edit10.Text) + ',' +
string_sqlText(edit14.Text) + ',' +
string_sqlText(edit13.Text) + ')';
end;
if ((Edit9.Text = '0') and (edit11.Text <> '0')) then
begin
s :=
'insert into rc(acount_id,person_id,rc_date,s2,s2_no,user_name,m_name) values(';
s := s + main.Acount_id + ',' +
dm1.A_person_find.fieldbyname('person_id').AsString + ',' +
string_sqlText(DateToStr(DateTimePicker1.Date)) + ',' +
edit11.Text + ',' +
string_sqlText(edit12.Text) + ',' +
string_sqlText(edit14.Text) + ',' +
string_sqlText(edit13.Text) + ')';
end;
dm1.EXE_SQL(s);
dm1.A_rc_item.Requery();
dm1.A_rc_sum.Requery();
with dm1.A_rc_sum do
begin
Locate('person_id',
dm1.A_person_find.fieldbyname('person_id').AsInteger,
[]);
end;
//保存发票号
Save_fp;
a_cancel.Execute;
MessageDlg('入库成功!', mtWarning, [mbok], 0);
edit1.SelectAll;
edit1.SetFocus;
end;
procedure Trc.Edit1Change(Sender: TObject);
begin
if edit2.Text <> '' then edit2.Text := '';
end;
procedure Trc.Edit2Change(Sender: TObject);
begin
if edit1.Text <> '' then edit1.Text := '';
end;
procedure Trc.FormCreate(Sender: TObject);
begin
edit13.Text := main.User_name;
edit14.Text := main.User_name;
DateTimePicker1.Date := Date;
dm1.A_rc_item.Close;
end;
procedure Trc.b_selectClick(Sender: TObject);
begin
if Trim(DBLookupComboboxEh1.Text) = '' then exit;
dm1.A_person_find.Locate('person_id',
strtoint(Trim(DBLookupComboboxEh1.Text)), []);
with dm1.A_rc_item do
begin
close;
Parameters.ParamByName('person_id').Value :=
dm1.A_person_find.fieldbyname('person_id').AsInteger;
open;
end;
with dm1.A_rc_sum do
begin
close;
Parameters.ParamByName('@acount_id').Value :=
strtoint(main.Acount_id);
open;
Locate('person_id', dm1.A_person_find.fieldbyname('person_id').AsInteger,
[]);
end;
b_select.Visible := false;
DBLookupComboboxEh1.Visible := false;
edit9.SelectAll;
Edit9.SetFocus;
end;
procedure Trc.Edit9Enter(Sender: TObject);
begin
(Sender as tedit).Color := clAqua;
end;
procedure Trc.Edit9Exit(Sender: TObject);
begin
(Sender as tedit).Color := clWhite;
end;
procedure Trc.Edit4Change(Sender: TObject);
begin
try
l_zq.Caption := '应找人民币:' + CurrToStr(StrToCurr(edit4.Text) -
StrToCurr(l_count.Caption)) + '元';
except
exit;
end;
end;
procedure Trc.Edit9Change(Sender: TObject);
begin
if edit10.Text = '' then
edit10.Text := main.F_s1;
try
l_count.Caption := CurrToStr(StrToCurr(edit9.Text) +
StrToCurr(Edit11.Text));
except
edit9.SetFocus;
end;
end;
procedure Trc.Edit11Change(Sender: TObject);
begin
if edit12.Text = '' then
Edit12.Text := main.F_s2;
try
l_count.Caption := CurrToStr(StrToCurr(edit9.Text) +
StrToCurr(Edit11.Text));
except
edit9.SetFocus;
end;
end;
procedure Trc.Save_fp;
var
s: string;
begin
//保存发票号
s := '';
if main.F_s1 <> '' then
begin
if edit10.Text <> '' then
s := 'update cw_dict set d_values=' + string_sqlText(Edit10.Text) +
' where d_key=' + string_sqlText('f_s1');
end
else
s := 'insert into cw_dict (d_key,d_values) values(' +
string_sqlText('f_s1') + ',' + string_sqlText(Edit10.Text) + ')';
if s <> '' then
begin
dm1.EXE_SQL(s);
main.F_s1 := Edit10.Text;
Edit9.Text := '0';
main.F_s1 := incno(main.F_s1, 1);
end;
s := '';
if main.F_s2 <> '' then
begin
if edit12.Text <> '' then
s := 'update cw_dict set d_values=' + string_sqlText(Edit12.Text) +
' where d_key=' + string_sqlText('f_s2');
end
else
s := 'insert into cw_dict (d_key,d_values) values(' +
string_sqlText('f_s2') + ',' + string_sqlText(Edit12.Text) + ')';
if s <> '' then
begin
dm1.EXE_SQL(s);
main.F_s2 := Edit12.Text;
Edit10.Text := '0';
main.F_s2 := incno(main.F_s2, 1);
end;
end;
procedure Trc.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
b_find.Click;
end;
end;
procedure Trc.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
b_find.Click;
end;
end;
procedure Trc.Edit9KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
edit11.SelectAll;
edit11.SetFocus;
end;
end;
procedure Trc.Edit11KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
b_save.SetFocus;
end;
end;
procedure Trc.a_cancelExecute(Sender: TObject);
begin
edit9.Text := '0';
edit11.Text := '0';
edit10.Text := '';
edit12.Text := '';
edit9.SetFocus;
end;
procedure Trc.a_cancelUpdate(Sender: TObject);
begin
a_cancel.Enabled := b_save.Enabled;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -