You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
176 lines
5.5 KiB
Plaintext
176 lines
5.5 KiB
Plaintext
unit u_fee_baoganadd;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, BusinessSkinForm, bsSkinCtrls, DB, ADODB, StdCtrls, Mask,
|
|
DBCtrls, wwdblook, RxLookup;
|
|
|
|
type
|
|
Tfrm_fee_baoganadd = class(TForm)
|
|
bsBusinessSkinForm1: TbsBusinessSkinForm;
|
|
bsSkinGroupBox1: TbsSkinGroupBox;
|
|
Label1: TLabel;
|
|
Label7: TLabel;
|
|
Label8: TLabel;
|
|
Label9: TLabel;
|
|
bsSkinGroupBox2: TbsSkinGroupBox;
|
|
Label10: TLabel;
|
|
bsSkinButton1: TbsSkinButton;
|
|
bsSkinButton2: TbsSkinButton;
|
|
wwDBLookupCombo1: TwwDBLookupCombo;
|
|
wwDBLookupCombo2: TwwDBLookupCombo;
|
|
wwDBLookupCombo4: TwwDBLookupCombo;
|
|
Edit1: TEdit;
|
|
Edit2: TEdit;
|
|
Label2: TLabel;
|
|
Edit3: TEdit;
|
|
table1: TDataSource;
|
|
procedure bsSkinButton1Click(Sender: TObject);
|
|
procedure bsSkinButton2Click(Sender: TObject);
|
|
procedure Edit1Change(Sender: TObject);
|
|
private
|
|
procedure t_ch_acceptdjoncharge(Sender: TField);//收费金额计算
|
|
|
|
{ Private declarations }
|
|
public
|
|
CFFeeName,CFCURR:string;
|
|
CFAMOUNT,CFEXCHANGE:Double;
|
|
{ Public declarations }
|
|
end;
|
|
|
|
var
|
|
frm_fee_baoganadd: Tfrm_fee_baoganadd;
|
|
|
|
implementation
|
|
|
|
uses u_main, u_data_share, my_sys_function;
|
|
|
|
{$R *.dfm}
|
|
|
|
procedure Tfrm_fee_baoganadd.bsSkinButton1Click(Sender: TObject);
|
|
var
|
|
afield : variant;
|
|
i: Integer;
|
|
amount:double;
|
|
begin
|
|
if (table1.DataSet.FieldByName('币别').AsString='USD') THEN BEGIN
|
|
amount:=StrToFloat(Edit1.Text);
|
|
table1.DataSet.Edit;
|
|
table1.DataSet['费用名称']:=wwDBLookupCombo1.Text;
|
|
table1.DataSet['币别']:=wwDBLookupCombo4.Text;
|
|
table1.DataSet['汇率']:=StrToFloat(Edit2.Text);
|
|
table1.DataSet['单价']:=amount/table1.DataSet.fieldbyname('数量').AsFloat;
|
|
table1.DataSet['不含税金额']:=amount;
|
|
table1.DataSet['拆分费用名称']:=CFFeeName;
|
|
table1.DataSet['拆分币别']:=CFCURR;
|
|
if (table1.DataSet.FieldByName('币别').AsString=CFCURR) then begin
|
|
table1.DataSet['拆分金额']:=StrToFloat(Edit1.Text);
|
|
table1.DataSet['拆分汇率']:=StrToFloat(Edit2.Text);
|
|
end else begin
|
|
table1.DataSet['拆分金额']:=StrToFloat(Edit1.Text)*StrToFloat(Edit2.Text);
|
|
table1.DataSet['拆分汇率']:=StrToFloat(Edit2.Text);
|
|
end;
|
|
table1.DataSet['金额']:=amount;
|
|
|
|
table1.DataSet.post;
|
|
afield := vararraycreate([0,table1.DataSet.fieldcount-1],varvariant);
|
|
for i := 0 to (table1.DataSet.fieldcount-1) do
|
|
begin
|
|
afield[i] :=table1.DataSet.fields[i].value ;
|
|
end;
|
|
table1.DataSet.append;
|
|
for i := 1 to (table1.DataSet.fieldcount-1) do
|
|
begin
|
|
if table1.DataSet.fields[i].FieldName<>'CH_ID' then
|
|
table1.DataSet.fields[i].value := afield[i] ;
|
|
end;
|
|
table1.DataSet['录入人']:=employee;
|
|
table1.DataSet['录入日期']:=now;
|
|
table1.DataSet['顺序']:=table1.DataSet.RecordCount+1;
|
|
table1.DataSet['费用名称']:=wwDBLookupCombo2.Text;
|
|
table1.DataSet['币别']:='RMB';
|
|
amount:=StrToFloat(Edit3.Text);
|
|
table1.DataSet['单价']:=amount/table1.DataSet.fieldbyname('数量').AsFloat;
|
|
table1.DataSet['不含税金额']:=amount;
|
|
table1.DataSet['金额']:=amount;
|
|
table1.DataSet['汇率']:=1;
|
|
table1.DataSet['拆分费用名称']:=CFFeeName;
|
|
table1.DataSet['拆分币别']:=CFCURR;
|
|
table1.DataSet['拆分金额']:=CFAMOUNT-StrToFloat(Edit1.Text);
|
|
table1.DataSet['拆分汇率']:=StrToFloat(Edit2.Text);
|
|
table1.DataSet.post;
|
|
|
|
|
|
end else begin
|
|
amount:=StrToFloat(Edit3.Text);
|
|
table1.DataSet.Edit;
|
|
table1.DataSet['费用名称']:=wwDBLookupCombo2.Text;
|
|
table1.DataSet['单价']:=amount/table1.DataSet.fieldbyname('数量').AsFloat;
|
|
table1.DataSet['不含税金额']:=amount;
|
|
table1.DataSet['金额']:=StrToFloat(Edit3.Text);
|
|
table1.DataSet['汇率']:=1;
|
|
table1.DataSet['拆分费用名称']:=CFFeeName;
|
|
table1.DataSet['拆分币别']:=CFCURR;
|
|
table1.DataSet['拆分金额']:=StrToFloat(Edit3.Text);
|
|
table1.DataSet['拆分汇率']:=1;
|
|
table1.DataSet.post;
|
|
afield := vararraycreate([0,table1.DataSet.fieldcount-1],varvariant);
|
|
for i := 0 to (table1.DataSet.fieldcount-1) do
|
|
begin
|
|
afield[i] :=table1.DataSet.fields[i].value ;
|
|
end;
|
|
table1.DataSet.append;
|
|
for i := 1 to (table1.DataSet.fieldcount-1) do
|
|
begin
|
|
if table1.DataSet.fields[i].FieldName<>'CH_ID' then
|
|
table1.DataSet.fields[i].value := afield[i] ;
|
|
end;
|
|
amount:=StrToFloat(Edit1.Text);
|
|
table1.DataSet['录入人']:=employee;
|
|
table1.DataSet['录入日期']:=now;
|
|
table1.DataSet['顺序']:=table1.DataSet.RecordCount+1;
|
|
table1.DataSet['费用名称']:=wwDBLookupCombo1.Text;
|
|
table1.DataSet['币别']:=wwDBLookupCombo4.Text;
|
|
table1.DataSet['单价']:=amount/table1.DataSet.fieldbyname('数量').AsFloat;
|
|
table1.DataSet['不含税金额']:=amount;
|
|
table1.DataSet['金额']:=StrToFloat(Edit1.Text);
|
|
table1.DataSet['汇率']:=StrToFloat(Edit2.Text);
|
|
table1.DataSet['拆分费用名称']:=CFFeeName;
|
|
table1.DataSet['拆分币别']:=CFCURR;
|
|
table1.DataSet['拆分金额']:=CFAMOUNT-StrToFloat(Edit3.Text);
|
|
table1.DataSet['拆分汇率']:=StrToFloat(Edit2.Text);
|
|
table1.DataSet.post;
|
|
|
|
end;
|
|
|
|
close;
|
|
end;
|
|
|
|
procedure Tfrm_fee_baoganadd.bsSkinButton2Click(Sender: TObject);
|
|
begin
|
|
close;
|
|
end;
|
|
|
|
procedure Tfrm_fee_baoganadd.t_ch_acceptdjoncharge(Sender: TField);
|
|
begin
|
|
|
|
end;
|
|
|
|
procedure Tfrm_fee_baoganadd.Edit1Change(Sender: TObject);
|
|
VAR
|
|
amount:Double;
|
|
begin
|
|
if (CFCURR='USD') THEN begin
|
|
amount:=CFAMOUNT-strtofloatdef(Edit1.Text,0);
|
|
amount:=amount*strtofloatdef(Edit2.Text,0);
|
|
Edit3.Text:=FloatToStr(amount);
|
|
end ELSE BEGIN
|
|
amount:=strtofloatdef(Edit1.Text,0)*strtofloatdef(Edit2.Text,0);
|
|
Edit3.Text:= FloatToStr(CFAMOUNT-amount);
|
|
end;
|
|
end;
|
|
|
|
end.
|