📄 ar_enter_gathering.pas
字号:
unit Ar_Enter_Gathering;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Outer, Menus, ExtPrintReport, Db, ActnList, AdODB, Grids, DBGridEh,
StdCtrls, ExtCtrls, ComCtrls, ToolWin, jpeg;
Type
TFrm_Ar_Enter_Gathering = Class(TFrm_Base_Outer)
AdoQry_MainGatheringNo: TStringField;
AdoQry_MainBalanceTypeCode: TStringField;
AdoQry_MainGatheringDate: TDateTimeField;
AdoQry_MainCustomerCode: TStringField;
AdoQry_MainActSubjectCode: TStringField;
AdoQry_MainCurrencyCode: TStringField;
AdoQry_MainExchangeRate: TFloatField;
AdoQry_MaInBillNo: TStringField;
AdoQry_MainCustomerBank: TStringField;
AdoQry_MainCustomerBankActNo: TStringField;
AdoQry_MainSaleDeptCode: TStringField;
AdoQry_MainSaleEmployeeCode: TStringField;
AdoQry_MainTotalTaxAmount: TFloatField;
AdoQry_MainTotalCancelAmount: TFloatField;
AdoQry_MainCreateDate: TDateTimeField;
AdoQry_MainCreateEmployeeCode: TStringField;
AdoQry_MainRemArk: TStringField;
AdoQry_MaincurrencyName: TStringField;
AdoQry_MaincustomerName: TStringField;
AdoQry_MainBalanceTypeName: TStringField;
AdoQry_MainDeptName: TStringField;
AdoQry_MainSalEmployeeName: TStringField;
AdoQry_MaincreaterName: TStringField;
procedure FormDestroy(Sender: TObject);
procedure Act_DeleteExecute(Sender: TObject);
private
{ Private declarations }
public
procedure InitForm(AdOConnection:TAdOConnection;ReadOnly:Boolean);Override;
function SetDeleteSql:String;Override;
{ Public declarations }
end;
var
Frm_Ar_Enter_Gathering: TFrm_Ar_Enter_Gathering;
implementation
uses Ar_Enter_Gathering_D,Sys_Global;
{$R *.DFM}
{ TFrm_Ar_Enter_Gathering }
procedure TFrm_Ar_Enter_Gathering.InitForm(AdOConnection: TAdOConnection;
ReadOnly: Boolean);
begin
Application.ProcessMessages;
extendCaption:=False;
Inherited;
selectfromsql:='select Ar_Gathering.*, '
+' currency.currencyName, '
+' customer.customerName, '
+' BalanceType.BalanceTypeName, '
+' Dept.DeptName, '
+' t1.EmployeeName as SalEmployeeName, '
+' t2.EmployeeName as createrName '
+' from Ar_Gathering '
+' left join currency on Ar_Gathering.currencyCode=currency.currencyCode '
+' left join customer on Ar_Gathering.customerCode=customer.customerCode '
+' left join BalanceType on Ar_Gathering.BalanceTypeCode=BalanceType.BalanceTypeCode '
+' left join Dept on Ar_Gathering.SaleDeptCode=Dept.DeptCode '
+' left join Employee t1 on Ar_Gathering.SaleEmployeeCode=t1.EmployeeCode '
+' left join Employee t2 on Ar_Gathering.CreateEmployeeCode=t2.EmployeeCode';
AdoQry_Main.Connection := AdOConnection;
Orderbyfields:='customerCode,Gatheringdate,Gatheringno';
getdata;
Frm_Sys_Detail:=TFrm_Ar_Enter_Gathering_D.Create(Application);
end;
procedure TFrm_Ar_Enter_Gathering.FormDestroy(Sender: TObject);
begin
inherited;
Frm_Ar_Enter_Gathering:=nil;
end;
function TFrm_Ar_Enter_Gathering.SetDeleteSql: String;
begin
Result:='delete from Ar_Gathering '
+' where Gatheringno='+quotedstr(AdoQry_Main.fieldbyname('Gatheringno').asstring);
end;
procedure TFrm_Ar_Enter_Gathering.Act_DeleteExecute(Sender: TObject);
begin
if AdoQry_Main.RecordCount=0 then exit;
if DispInfo(' 真的删除当前记录吗? ',2)<>'y' then exit;
try
dbconnect.beginTrans;
saveGatheringhistory(dbconnect,AdoQry_Main.fieldbyname('Gatheringno').asstring,userCode,2);
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.Text:=SetDeleteSql;
AdoQry_Tmp.ExecSQL;
AdoQry_Main.Delete;
dbconnect.CommitTrans;
except
if dbconnect.InTransaction then dbconnect.RollBackTrans;
DispInfo(' 无法删除当前记录,可能已经被其他数据表引用!',1);
Abort;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -