📄 ar_enter_gatheringinvoice_d.pas
字号:
unit Ar_Enter_GatheringInvoice_D;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Entry_Detail, Db, AdODB, ExtCtrls, StdCtrls, Mask, ExtEdit;
Type
TFrm_Ar_Enter_GatheringInvoice_D = Class(TFrm_Base_Entry_Detail)
Label2: TLabel;
Label3: TLabel;
medt_Sdate: TMaskEdit;
Label5: TLabel;
edt_Amount: TEdit;
Label6: TLabel;
edt_reMainAmount: TEdit;
Label9: TLabel;
edt_CancelAmount: TEdit;
Edt_Invoiceno: TExtEdit;
Label1: TLabel;
Label4: TLabel;
edt_SaleDeptCode: TExtEdit;
edt_SaleDeptName: TExtEdit;
edt_SaleEmployeeCode: TExtEdit;
edt_SaleEmployeeName: TExtEdit;
procedure btn_okClick(Sender: TObject);
procedure Edt_InvoicenoExit(Sender: TObject);
procedure Edt_InvoicenoKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
procedure InitControls; Override;
procedure SaveBodyData; Override;
procedure SetStatus(CurrentStatus:String;var EnableControls:String);Override;
{ Public declarations }
end;
var
Frm_Ar_Enter_GatheringInvoice_D: TFrm_Ar_Enter_GatheringInvoice_D;
implementation
uses Sys_Global;
{$R *.DFM}
procedure TFrm_Ar_Enter_GatheringInvoice_D.InitControls;
var
SqlText:String;
begin
Inherited;
edt_CancelAmount.SetFocus;
with AdoQry_Body do
begin
edt_Invoiceno.text:=fieldbyname('Billno').asstring;
edt_SaleDeptCode.Text:=fieldbyname('SaleDeptCode').asstring;
edt_SaleDeptName.Text:=fieldbyname('DeptName').asstring;
edt_SaleEmployeeCode.Text:=fieldbyname('SaleEmployeeCode').asstring;
edt_SaleEmployeeName.Text:=fieldbyname('EmployeeName').asstring;
medt_Sdate.Text:=IIfString(fieldbyname('Billdate').asstring='',formatdatetime('yyyy.mm.dd',Date),fieldbyname('BillDate').AsString);
edt_Amount.Text:=floattostr(fieldbyname('TotalAmount').asfloat);
edt_reMainAmount.Text:=floattostr(fieldbyname('reMainTotalAmount').asfloat);
edt_CancelAmount.Text:=floattostr(fieldbyname('thiSCancelAmount').asfloat);
end;
end;
procedure TFrm_Ar_Enter_GatheringInvoice_D.SetStatus(CurrentStatus:String;var EnableControls:String);
begin
inherited;
if Currentstatus='Add' then
enablecontrols:='cmb_BillType,cmb_Billno,medt_Sdate,medt_edate,edt_Amount,edt_reMainAmount,edt_TotaldiSCount,edt_thisdiSCount,edt_CancelAmount,'
else
enablecontrols:='edt_CancelAmount,'
end;
procedure TFrm_Ar_Enter_GatheringInvoice_D.SaveBodyData;
begin
inherited;
if status='Add' then
AdoQry_Body.Append
else AdoQry_Body.Edit;
with AdoQry_Body do
begin
fieldbyname('Billno').asstring:=edt_Invoiceno.Text;
fieldbyname('SaleDeptCode').asstring:=edt_SaleDeptCode.Text;
fieldbyname('DeptName').asstring:=edt_SaleDeptName.Text;
fieldbyname('SaleEmployeeCode').asstring:=edt_SaleEmployeeCode.Text;
fieldbyname('EmployeeName').asstring:=edt_SaleEmployeeName.Text;
fieldbyname('Billdate').asstring:=medt_Sdate.Text;
fieldbyname('TotalAmount').asfloat:=strtofloat(edt_Amount.Text);
fieldbyname('reMainTotalAmount').asfloat:=strtofloat(edt_reMainAmount.text);
fieldbyname('thiSCancelAmount').asfloat:=strtofloat(edt_CancelAmount.text);
post;
end;
end;
procedure TFrm_Ar_Enter_GatheringInvoice_D.btn_okClick(Sender: TObject);
begin
if strtofloat(Trim(edt_CancelAmount.text))>strtofloat(Trim(edt_reMainAmount.text)) then
begin
DispInfo('本次核销金额不能大于余额!',3);
edt_CancelAmount.SetFocus;
abort;
end;
inherited;
end;
procedure TFrm_Ar_Enter_GatheringInvoice_D.Edt_InvoicenoExit(
Sender: TObject);
var sqltext:string;
begin
inherited;
sqltext:='select *,DeptName,EmployeeName from sa_SaleInvoice '
+' left join Dept on sa_SaleInvoice.SaleDeptCode=Dept.DeptCode'
+' left join Employee on sa_SaleInvoice.SaleEmployeeCode=Employee.EmployeeCode '
+' where Invoiceno='+quotedstr(edt_Invoiceno.text);
Executesql(AdoQry_tmp,sqltext,0);
edt_SaleDeptCode.Text:=AdoQry_tmp.fieldbyname('SaleDeptCode').asstring;
edt_SaleDeptName.Text:=AdoQry_tmp.fieldbyname('DeptName').asstring;
edt_SaleEmployeeCode.Text:=AdoQry_tmp.fieldbyname('SaleEmployeeCode').asstring;
edt_SaleEmployeeName.Text:=AdoQry_tmp.fieldbyname('EmployeeName').asstring;
medt_Sdate.Text:=AdoQry_tmp.fieldbyname('createdate').asstring;
edt_Amount.Text:=AdoQry_tmp.fieldbyname('TotaltaxAmount').asstring;
edt_reMainAmount.text:=floattostr(AdoQry_tmp.fieldbyname('TotaltaxAmount').asfloat-AdoQry_tmp.fieldbyname('CancelAmount').asfloat)
end;
procedure TFrm_Ar_Enter_GatheringInvoice_D.Edt_InvoicenoKeyDown(
Sender: TObject; var Key: Word; Shift: TShiftState);
begin
inherited;
if key=120 then
CommonHint(Sender,AdoQry_tmp,'createdate','单据日期','Invoiceno','发票号',
'sa_SaleInvoice',' CancelAmount<TotaltaxAmount');
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -