📄 ar_enter_nogatherinvoice.pas
字号:
unit Ar_Enter_NoGatherInvoice;
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_NoGatherInvoice = Class(TFrm_Base_Outer)
AdoQry_MainInvoiceNoId: TAutoIncField;
AdoQry_MainInvoiceNo: TStringField;
AdoQry_MainInvoiceType: TIntegerField;
AdoQry_MaInBillType: TIntegerField;
AdoQry_MaInOrderType: TIntegerField;
AdoQry_MainActive: TIntegerField;
AdoQry_MainActSubjectCode: TStringField;
AdoQry_MainTaxActNo: TStringField;
AdoQry_MainCustomerCode: TStringField;
AdoQry_MainSaleTypeCode: TStringField;
AdoQry_MainSaleEmployeeCode: TStringField;
AdoQry_MainSaleDeptCode: TStringField;
AdoQry_MainBank: TStringField;
AdoQry_MainBankActNo: TStringField;
AdoQry_MainCurrencyCode: TStringField;
AdoQry_MainExchangeRate: TFloatField;
AdoQry_MainSaleTermCode: TStringField;
AdoQry_MainTotalTaxAmount: TFloatField;
AdoQry_MainCancelAmount: TFloatField;
AdoQry_MainRemArk: TStringField;
AdoQry_MainCreateDate: TDateTimeField;
AdoQry_MainCreateEmployeeCode: TStringField;
AdoQry_MainEditDate: TDateTimeField;
AdoQry_MainEdItEmployeeCode: TStringField;
AdoQry_MainCustomerName: TStringField;
AdoQry_MaincreaterName: TStringField;
AdoQry_MainDeptName: TStringField;
AdoQry_MainSaleTypeName: TStringField;
AdoQry_MainSaleEmployeeName: TStringField;
AdoQry_MainCurrencyName: TStringField;
AdoQry_MainPayTermName: TStringField;
AdoQry_MainTaxRate: TFloatField;
AdoQry_MainTotalNoTaxAmount: TFloatField;
AdoQry_MainTotalTax: TFloatField;
AdoQry_MainTotalTaxAmountC: TFloatField;
AdoQry_MainTotalNoTaxAmountC: TFloatField;
AdoQry_MainTotalTaxC: TFloatField;
AdoQry_MainCancelAmountC: TFloatField;
AdoQry_MaInBillDate: TDateTimeField;
AdoQry_MainExportTradeTypeCode: TStringField;
AdoQry_MainExportTradeTypeName: 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_NoGatherInvoice: TFrm_Ar_Enter_NoGatherInvoice;
implementation
uses Ar_Enter_NoGatherInvoice_D,Sys_Global;
{$R *.DFM}
{ TFrm_Ar_Enter_Gathering }
procedure TFrm_Ar_Enter_NoGatherInvoice.InitForm(AdOConnection: TAdOConnection;
ReadOnly: Boolean);
begin
Application.ProcessMessages;
extendCaption:=False;
Inherited;
ExecuteSql(AdoQry_tmp,'select * from Ar_Param where ParamCode=''StartUseAr''',0);
If AdoQry_Tmp.RecordCount>0 then
begin
Act_New.Enabled := False;
Act_Modify.Enabled := False;
Act_Delete.Enabled := False;
end;
SelectFromSql:=' Select Sa_SaleInvoice.*,Customer.CustomerName,'
+' Employee1.EmployeeName as createrName, '
+' Sa_ExportTradeType.ExportTradeTypeName, '
+' Dept.DeptName,'
+' SaleType.SaleTypeName,'
+' Employee3.EmployeeName as SaleEmployeeName,'
+' Currency.CurrencyName,PayTermName'
+' From Sa_SaleInvoice '
+' left join SaleType on sa_SaleInvoice.SaleTypeCode=SaleType.SaleTypeCode '
+' left Join Sa_ExportTradeType on Sa_SaleInvoice.ExportTradeTypeCode=Sa_ExportTradeType.ExportTradeTypeCode '
+' left join Dept on sa_SaleInvoice.SaleDeptCode=Dept.DeptCode '
+' left join Employee Employee3 on sa_SaleInvoice.SaleEmployeeCode=Employee3.EmployeeCode '
+' left Join Customer '
+' On Sa_SaleInvoice.CustomerCode=Customer.CustomerCode '
+' left Join Currency '
+' On Sa_SaleInvoice.CurrencyCode=Currency.CurrencyCode '
+' left Join PayTerm '
+' On Sa_SaleInvoice.SaleTermCode=PayTermCode '
+' left Join Employee Employee1'
+' On Sa_SaleInvoice.CreateEmployeeCode=Employee1.EmployeeCode ';
ConditionUserDefine := 'Sa_SaleInvoice.InvoiceType1=1 ' ;
// ConditionUserDefine:=' Sa_SaleInvoice.TotalTaxAmount>Sa_SaleInvoice.CancelAmount ';
OrderByFields:=' CustomerCode,BillDate,InvoiceNo ';
GetData;
Lbl_Condition.Caption:='全部';//'开票日期>='+FormatDateTime('YYYY.MM.DD',strtodatetime(GetServerDateTime(dbconnect))-30);
Frm_Sys_Detail:=TFrm_Ar_Enter_NoGatherInvoice_D.Create(Application);
end;
procedure TFrm_Ar_Enter_NoGatherInvoice.FormDestroy(Sender: TObject);
begin
inherited;
Frm_Ar_Enter_NoGatherInvoice:=nil;
end;
function TFrm_Ar_Enter_NoGatherInvoice.SetDeleteSql: String;
begin
Result:='delete from Sa_SaleInvoice'
+' where InvoiceNo='+quotedstr(AdoQry_Main.fieldbyname('InvoiceNo').asstring);
end;
procedure TFrm_Ar_Enter_NoGatherInvoice.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 + -