📄 bas_enter_payterm_d.pas
字号:
unit Bas_Enter_PayTerm_D;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Detail, Db, AdODB, ExtCtrls, StdCtrls, ExtEdit;
Type
TFrm_Bas_Enter_PayTerm_D = Class(TFrm_Base_Detail)
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label3: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
edt_termCode: TEdit;
edt_termName: TEdit;
edt_Credays: TEdit;
edt_fAdays1: TEdit;
edt_fArate1: TEdit;
edt_fAdays2: TEdit;
edt_fArate2: TEdit;
edt_fAdays3: TEdit;
edt_fArate3: TEdit;
edt_fAdays4: TEdit;
edt_fArate4: TEdit;
edt_remArk: TEdit;
procedure edt_CredaysExit(Sender: TObject);
procedure edt_fAdays1Exit(Sender: TObject);
procedure edt_fAdays2Exit(Sender: TObject);
procedure edt_fAdays3Exit(Sender: TObject);
procedure edt_fAdays4Exit(Sender: TObject);
procedure edt_fArate1Exit(Sender: TObject);
procedure edt_fArate2Exit(Sender: TObject);
procedure edt_fArate3Exit(Sender: TObject);
procedure edt_fArate4Exit(Sender: TObject);
procedure btn_okClick(Sender: TObject);
procedure edt_termCodeExit(Sender: TObject);
private
{ Private declarations }
public
function getUomName(ItemCode:string):string;
procedure InitControls; Override;
procedure SaveData;Override;
procedure SetStatus(CurrentStatus:String;var EnableControls:String); Override;
{ Public declarations }
end;
var
Frm_Bas_Enter_PayTerm_D: TFrm_Bas_Enter_PayTerm_D;
PayTermid:integer;
implementation
uses Sys_Global;
{$R *.DFM}
{ TFrm_Mrp_Enter_MsItemAssign_D }
procedure TFrm_Bas_Enter_PayTerm_D.SaveData;
var tmpPmCode:integer;
begin
inherited;
if (Add) then
with AdoQry_tmp do
begin
Close;
sql.clear;
sql.Add('insert into PayTerm(PayTermCode,PayTermName,Paycredays,PayfAdays1,PayfArate1,PayfAdays2,PayfArate2,PayfAdays3,PayfArate3,PayfAdays4,PayfArate4,remArk) '
+'Values('
+ quotedstr(edt_termCode.Text)+','
+quotedstr(edt_termName.text)+','
+edt_Credays.Text+','
+iifstring(edt_fAdays1.Text='','0',Trim(edt_fAdays1.text))+','
+iifstring(edt_fArate1.Text='','0',Trim(edt_fArate1.text))+','
+iifstring(edt_fAdays2.Text='','0',Trim(edt_fAdays2.text))+','
+iifstring(edt_fArate2.Text='','0',Trim(edt_fArate2.text))+','
+iifstring(edt_fAdays3.Text='','0',Trim(edt_fAdays3.text))+','
+iifstring(edt_fArate3.Text='','0',Trim(edt_fArate3.text))+','
+iifstring(edt_fAdays4.Text='','0',Trim(edt_fAdays4.text))+','
+iifstring(edt_fArate4.Text='','0',Trim(edt_fArate4.text))+','
+quotedstr(edt_remArk.text)+')');
Prepared;
execsql;
Close;
sql.clear;
sql.Add('select @@identity as termid');
Prepared;
open;
PayTermid:=fieldbyname('termid').asinteger;
end
else
with AdoQry_tmp do
begin
Close;
sql.clear;
sql.Add('update PayTerm '
+' set PayTermCode='+quotedstr(edt_termCode.Text)+','
+'PayTermName='+quotedstr(edt_termName.text)+','
+'Paycredays='+edt_Credays.text+','
+'PayfAdays1='+iifstring(edt_fAdays1.Text='','0',Trim(edt_fAdays1.text))+','
+'PayfArate1='+iifstring(edt_fArate1.Text='','0',Trim(edt_fArate1.text))+','
+'PayfAdays2='+iifstring(edt_fAdays2.Text='','0',Trim(edt_fAdays2.text))+','
+'PayfArate2='+iifstring(edt_fArate2.Text='','0',Trim(edt_fArate2.text))+','
+'PayfAdays3='+iifstring(edt_fAdays3.Text='','0',Trim(edt_fAdays3.text))+','
+'PayfArate3='+iifstring(edt_fArate3.Text='','0',Trim(edt_fArate3.text))+','
+'PayfAdays4='+iifstring(edt_fAdays4.Text='','0',Trim(edt_fAdays4.text))+','
+'PayfArate4='+iifstring(edt_fArate4.Text='','0',Trim(edt_fArate4.text))+','
+' remArk='+quotedstr(edt_remArk.text)
+' where PayTermCode='+quotedstr(AdoQry_Maintain.fieldbyname('PayTermCode').asstring));
Prepared;
execsql;
end;
with AdoQry_Maintain do
begin
// if (Add) then
// fieldbyname('PayTermid').asinteger:=PayTermid;
fieldbyname('PayTermCode').AsString:=edt_termCode.Text;
fieldbyname('PayTermName').asstring:=edt_termName.text;
fieldbyname('Paycredays').asinteger:=strtoint(edt_Credays.text);
fieldbyname('PayfAdays1').asinteger:=strtoint(iifstring(Trim(edt_fAdays1.text)='','0',Trim(edt_fAdays1.text)));
fieldbyname('PayfArate1').asfloat:=strtofloat(iifstring(Trim(edt_fArate1.text)='','0',Trim(edt_fArate1.text)));
fieldbyname('PayfAdays2').asinteger:=strtoint(iifstring(Trim(edt_fAdays2.text)='','0',Trim(edt_fAdays2.text)));
fieldbyname('PayfArate2').asfloat:=strtofloat(iifstring(Trim(edt_fArate2.text)='','0',Trim(edt_fArate2.text)));
fieldbyname('PayfAdays3').asinteger:=strtoint(iifstring(Trim(edt_fAdays3.text)='','0',Trim(edt_fAdays3.text)));
fieldbyname('PayfArate3').asfloat:=strtofloat(iifstring(Trim(edt_fArate3.text)='','0',Trim(edt_fArate3.text)));
fieldbyname('PayfAdays4').asinteger:=strtoint(iifstring(Trim(edt_fAdays4.text)='','0',Trim(edt_fAdays4.text)));
fieldbyname('PayfArate4').asfloat:=strtofloat(iifstring(Trim(edt_fArate4.text)='','0',Trim(edt_fArate4.text)));
fieldbyname('remArk').asstring:=edt_remArk.Text;
Post;
end;
end;
procedure TFrm_Bas_Enter_PayTerm_D.InitControls;
begin
if (Add) then
begin
SetFocus_Control:=edt_termCode;
edt_termCode.Enabled:=True;
end
else
SetFocus_Control:=edt_Credays;
inherited;
with AdoQry_Maintain do
begin
edt_termCode.Text:=fieldbyname('PayTermCode').AsString;
if not Add then
edt_termName.text:=fieldbyname('PayTermName').asstring
else edt_termName.text:='';
edt_Credays.Text:=inttostr(fieldbyname('Paycredays').Asinteger);
edt_fAdays1.Text:=inttostr(fieldbyname('PayfAdays1').Asinteger);
edt_fArate1.Text:=floattostr(fieldbyname('PayfArate1').Asfloat);
edt_fAdays2.Text:=inttostr(fieldbyname('PayfAdays2').Asinteger);
edt_fArate2.Text:=floattostr(fieldbyname('PayfArate2').Asfloat);
edt_fAdays3.Text:=inttostr(fieldbyname('PayfAdays3').Asinteger);
edt_fArate3.Text:=floattostr(fieldbyname('PayfArate3').Asfloat);
edt_fAdays4.Text:=inttostr(fieldbyname('PayfAdays4').Asinteger);
edt_fArate4.Text:=floattostr(fieldbyname('PayfArate4').Asfloat);
edt_remArk.Text:=fieldbyname('remArk').asstring;
end;
if not Add then edt_termCode.Enabled:=False;
end;
function TFrm_Bas_Enter_PayTerm_D.getUomName(
ItemCode: string): string;
begin
Result:='';
with AdoQry_tmp do
begin
Close;
sql.clear;
sql.Add('select UomName from Uom,Item where Item.UomCode*=Uom.UomCode and ItemCode='+quotedstr(ItemCode));
open;
Result:=fieldbyname('UomName').asstring;
end;
end;
procedure TFrm_Bas_Enter_PayTerm_D.SetStatus(CurrentStatus: String;
var EnableControls: String);
begin
inherited;
// if Currentstatus='Query' then
// enablecontrols:='Extedt_rate,Extedt_qty,Extedt_PmCode,';
end;
procedure TFrm_Bas_Enter_PayTerm_D.edt_CredaysExit(Sender: TObject);
begin
inherited;
if activecontrol.Name='btn_Cancel' then
exit;
if Trim(edt_Credays.text)='' then
begin
DispInfo('请输入信用天数!',1);
edt_Credays.SetFocus;
abort;
end;
try
strtoint(Trim(edt_Credays.text));
except
DispInfo('请输入正确的信用天数!',1);
edt_fAdays1.SetFocus;
abort;
end;
end;
procedure TFrm_Bas_Enter_PayTerm_D.edt_fAdays1Exit(Sender: TObject);
begin
inherited;
if activecontrol.Name='btn_Cancel' then
exit;
if (Trim(edt_fAdays1.text)='') or (Trim(edt_fArate1.text)='0') then
exit;
try
strtoint(Trim(edt_fAdays1.text));
except
DispInfo('请输入正确的优惠天数1!',1);
edt_fAdays1.SetFocus;
abort;
end;
if strtoint(Trim(edt_fAdays1.text))>=strtoint(Trim(edt_Credays.text)) then
begin
DispInfo('优惠天数1必须小于信用天数!',3);
edt_fAdays1.SetFocus;
abort;
end;
end;
procedure TFrm_Bas_Enter_PayTerm_D.edt_fAdays2Exit(Sender: TObject);
begin
inherited;
if activecontrol.Name='btn_Cancel' then
exit;
{if Trim(edt_fAdays2.text)='' then
begin
DispInfo('请输入优惠天数2!',1);
edt_fAdays2.SetFocus;
abort;
end;}
if (Trim(edt_fAdays2.Text)='0') or (Trim(edt_fAdays2.text)='') then
exit;
try
strtoint(Trim(edt_fAdays2.text));
except
DispInfo('请输入正确的优惠天数2!',1);
edt_fAdays2.SetFocus;
abort;
end;
if (Trim(edt_fAdays1.text)='') or (Trim(edt_fAdays1.text)='0') then
begin
DispInfo('请先输入优惠天数1!',1);
edt_fAdays1.SetFocus;
abort;
end;
if NOT ((strtoint(Trim(edt_fAdays2.text))>strtoint(Trim(edt_fAdays1.text))) and (strtoint(Trim(edt_fAdays2.text))<strtoint(Trim(edt_Credays.text)))) then
begin
DispInfo('优惠天数2必须大于优惠天数1并且小于信用天数!',3);
edt_fAdays2.SetFocus;
abort;
end;
if strtoint(Trim(edt_fAdays2.text))>999 then
begin
DispInfo('优惠天数2不能超过999!',3);
edt_fAdays2.SetFocus;
abort;
end;
end;
procedure TFrm_Bas_Enter_PayTerm_D.edt_fAdays3Exit(Sender: TObject);
begin
inherited;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -