ad_enter_assetcarddepreciationsubject_d.pas
来自「一个MRPII系统源代码版本」· PAS 代码 · 共 222 行
PAS
222 行
unit Ad_Enter_AssetCardDepreciationSubject_D;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Entry_Detail, Db, AdODB, ExtCtrls, StdCtrls, Mask, ExtEdit, linkedit;
Type
TFrm_Ad_Enter_AssetCardDepreciationSubject_D = Class(TFrm_Base_Entry_Detail)
Label2: TLabel;
Label11: TLabel;
Edt_RemArk: TEdit;
Label14: TLabel;
Label17: TLabel;
MEdt_LastOperationTime: TMaskEdit;
Edt_PrepareShipQty: TEdit;
Label15: TLabel;
Edt_Spec: TEdit;
Label3: TLabel;
edt_Name: TEdit;
edt_UomCode: TLinkEdit;
edt_UomName: TEdit;
Label1: TLabel;
Label4: TLabel;
edt_Sum: TEdit;
edt_Amount: TEdit;
procedure Edt_DeptCodeExit(Sender: TObject);
procedure Edt_DeptCodeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edt_DeptCodeButtonClick(Sender: TObject);
procedure edt_UomCodeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure edt_UomCodeButtonClick(Sender: TObject);
procedure edt_UomCodeExit(Sender: TObject);
private
procedure getAssignRate(tmp:TAdoQuery);
{ Private declarations }
public
procedure InitControls; Override;
procedure SaveBodyData; Override;
procedure SetStatus(CurrentStatus:String;var EnableControls:String); Override;
{ Public declarations }
end;
var
Frm_Ad_Enter_AssetCardDepreciationSubject_D: TFrm_Ad_Enter_AssetCardDepreciationSubject_D;
implementation
uses Sys_Global;
{$R *.DFM}
{ TFrm_Sal_Enter_SaleOrder_D }
procedure TFrm_Ad_Enter_AssetCardDepreciationSubject_D.InitControls;
begin
If (status='Add') Then
SetFocus_Control:=Edt_Name
Else
SetFocus_Control:=Edt_Name;
Inherited;
with AdoQry_Body do
begin
If (Status='Add') then
begin
Edt_RemArk.Text:=fieldbyname('RemArk').AsString;
end
else
begin
Edt_Name.Text:=fieldbyname('fixingName').AsString;
Edt_Spec.Text:=fieldbyname('fixingspec').AsString;
edt_UomCode.Text:=fieldbyname('UomCode').asstring;
edt_UomName.Text:=fieldbyname('UomName').asstring;
edt_Amount.Text:=fieldbyname('fixingAmount').asstring;
edt_Sum.Text:=fieldbyname('fixingsum').asstring;
Edt_RemArk.Text:=fieldbyname('RemArk').AsString;
end;
end;
end;
procedure TFrm_Ad_Enter_AssetCardDepreciationSubject_D.SaveBodyData;
begin
If Status='Add' Then
AdoQry_Body.Append
Else
AdoQry_Body.Edit;
with AdoQry_Body do
begin
fieldbyname('AssetCode').AsString:=fieldbyname('AssetCode').AsString;
fieldbyname('fixingName').AsString:=Edt_Name.Text;
fieldbyname('fixingspec').AsString:=Edt_Spec.Text;
fieldbyname('UomCode').AsString:=edt_UomCode.Text;
fieldbyname('UomName').AsString:=edt_UomName.Text;
fieldbyname('fixingAmount').AsString:=edt_Amount.Text;
fieldbyname('fixingsum').AsString:=edt_Sum.Text;
fieldbyname('RemArk').AsString:=Edt_RemArk.Text;
Post;
end;
end;
procedure TFrm_Ad_Enter_AssetCardDepreciationSubject_D.Edt_DeptCodeExit(
Sender: TObject);
begin
inherited;
if(ActiveControl.Name='btn_Cancel')then
Abort;
if (Status='Add')or((Status<>'Add') and
(TEdit(Sender).Text<>AdoQry_Body.fieldbyname('KmCode').AsString)) then
begin
with AdoQry_Body do
begin
AdoQry_Body.DisableControls;
First;
While Not Eof Do
begin
If (AdoQry_Body.fieldbyname('KmCode').AsString=TCustomEdit(Sender).Text) Then
begin
DispInfo('存在相同记录,请重新选择!',3);
AdoQry_Body.EnableControls;
Abort;
end;
Next;
end;
First;
AdoQry_Body.EnableControls;
end;
end;
end;
procedure TFrm_Ad_Enter_AssetCardDepreciationSubject_D.SetStatus(CurrentStatus: String;
var EnableControls: String);
begin
inherited;
EnableControls:='edt_Name,Edt_Spec,edt_UomCode,edt_Amount,edt_Sum,Edt_RemArk,';
end;
procedure TFrm_Ad_Enter_AssetCardDepreciationSubject_D.getAssignRate(tmp:TAdoQuery);
var
Rate:real;
begin
Rate:=0;
With tmp do
begin
tmp.DisableControls;
First;
While Not Eof do
begin
Rate:=Rate+fieldbyname('AssignCode').AsFloat;
Next;
end;
tmp.EnableControls;
end;
// IF (Rate+StrToFloat(EDT_AssignRate.Text)>100) Then DispInfo('分配率不能大于100%',3);
end;
procedure TFrm_Ad_Enter_AssetCardDepreciationSubject_D.Edt_DeptCodeKeyDown(
Sender: TObject; var Key: Word; Shift: TShiftState);
begin
inherited;
If key=120 Then
CommOnHint(Sender,AdoQry_Tmp,'KmName','折旧费用科目名称','KmCode',
'折旧费用科目代码',' Gl_AccountSubject ');
end;
procedure TFrm_Ad_Enter_AssetCardDepreciationSubject_D.Edt_DeptCodeButtonClick(
Sender: TObject);
begin
inherited;
CommOnHint(Sender,AdoQry_Tmp,'KmName','折旧费用科目名称','KmCode',
'折旧费用科目代码',' Gl_AccountSubject ');
end;
procedure TFrm_Ad_Enter_AssetCardDepreciationSubject_D.edt_UomCodeKeyDown(
Sender: TObject; var Key: Word; Shift: TShiftState);
begin
inherited;
if key=120 then
CommOnHint(Sender,AdoQry_Tmp,'UomName','单位名称','UomCode',
'单位代码',' Uom ');
end;
procedure TFrm_Ad_Enter_AssetCardDepreciationSubject_D.edt_UomCodeButtonClick(
Sender: TObject);
begin
inherited;
CommOnHint(Sender,AdoQry_Tmp,'UomName','单位名称','UomCode',
'单位代码',' Uom ');
end;
procedure TFrm_Ad_Enter_AssetCardDepreciationSubject_D.edt_UomCodeExit(
Sender: TObject);
begin
inherited;
if(ActiveControl.Name='btn_Cancel')then
Abort;
if TCustomEdit(Sender).Text <>'' then
begin
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.clear;
AdoQry_Tmp.SQL.Text:=' Select UomCode,UomName from Uom'
+' where UomCode= '''+TCustomEdit(Sender).Text+''' ';
AdoQry_Tmp.Open;
if not AdoQry_Tmp.Eof then
begin
edt_UomName.Text := AdoQry_Tmp.fieldbyname('UomName').AsString;
end
else
begin
DispInfo('单位代码错误,请重新输入!',1);
TWinControl(Sender).SetFocus;
Abort;
end;
end
else
edt_UomName.Text:='';
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?