📄 ar_enter_saleinvoice4h.pas
字号:
unit Ar_Enter_SaleInvoice4H;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Entry_Head, Menus, Db, ActnList, AdODB, Grids, DBGridEh, StdCtrls,
ExtCtrls, ComCtrls, ToolWin, jpeg, ExtPrintReport;
Type
TFrm_Ar_Enter_SaleInvoice4H = Class(TFrm_Base_Entry_Head)
AdoQry_HeadInvoiceNo: TStringField;
AdoQry_HeadCreateDate: TDateTimeField;
AdoQry_HeadCreateEmployeeCode: TStringField;
AdoQry_HeadCustomerCode: TStringField;
AdoQry_HeadCurrencyCode: TStringField;
AdoQry_HeadExchangeRate: TFloatField;
AdoQry_HeadSaleTermCode: TStringField;
AdoQry_HeadTotalTaxAmount: TFloatField;
AdoQry_HeadRemArk: TStringField;
AdoQry_HeadCustomerName: TStringField;
AdoQry_HeadCurrencyName: TStringField;
AdoQry_HeadPayTermName: TStringField;
AdoQry_HeadBank: TStringField;
AdoQry_HeadBankActNo: TStringField;
AdoQry_HeadEditDate: TDateTimeField;
AdoQry_HeadEdItEmployeeCode: TStringField;
AdoQry_HeadcreaterName: TStringField;
AdoQry_HeadActive: TIntegerField;
AdoQry_HeadTaxActNo: TStringField;
AdoQry_HeadSaleTypeCode: TStringField;
AdoQry_HeadSaleEmployeeCode: TStringField;
AdoQry_HeadSaleDeptCode: TStringField;
AdoQry_HeadDeptName: TStringField;
AdoQry_HeadSaleTypeName: TStringField;
AdoQry_HeadSaleEmployeeName: TStringField;
AdoQry_HeadInvoiceNoId: TAutoIncField;
AdoQry_HeadInvoiceType: TIntegerField;
AdoQry_HeadBillType: TIntegerField;
AdoQry_HeadOrderType: TIntegerField;
AdoQry_HeadActSubjectCode: TStringField;
AdoQry_HeadCancelAmount: TFloatField;
AdoQry_HeadTaxRate: TFloatField;
AdoQry_HeadTotalNoTaxAmount: TFloatField;
AdoQry_HeadTotalTax: TFloatField;
AdoQry_HeadTotalTaxAmountC: TFloatField;
AdoQry_HeadTotalNoTaxAmountC: TFloatField;
AdoQry_HeadTotalTaxC: TFloatField;
AdoQry_HeadCancelAmountC: TFloatField;
AdoQry_HeadBillDate: TDateTimeField;
AdoQry_HeadISCredence: TIntegerField;
AdoQry_HeadInAccountDate: TDateTimeField;
procedure Act_NewExecute(Sender: TObject);
procedure Act_ModifyExecute(Sender: TObject);
procedure Act_LookExecute(Sender: TObject);
procedure DBGridEhGetCellParams(Sender: TObject; Column: TColumnEh;
AFont: TFont; var Background: TColor; State: TGridDrawState);
procedure Act_CancelCheckExecute(Sender: TObject);
procedure Act_DeleteExecute(Sender: TObject);
procedure AdoQry_HeadAfterScroll(DataSet: TDataSet);
procedure FormCreate(Sender: TObject);
procedure AdoQry_HeadTotalNoTaxAmountGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
procedure AdoQry_HeadTotalTaxGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure AdoQry_HeadTotalTaxAmountCGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
procedure AdoQry_HeadTotalNoTaxAmountCGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
procedure AdoQry_HeadTotalTaxCGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure AdoQry_HeadCancelAmountCGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
procedure AdoQry_HeadTotalTaxAmountGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
procedure AdoQry_HeadCancelAmountGetText(Sender: TField;
var Text: String; DisplayText: Boolean);
private
{ Private declarations }
public
procedure InitForm(AdOConnection:TAdOConnection;ReadOnly:Boolean);Override;
{ Public declarations }
end;
var
Frm_Ar_Enter_SaleInvoice4H: TFrm_Ar_Enter_SaleInvoice4H;
implementation
uses //Sal_Enter_ShipOrder_C1, Sal_Enter_ShipOrder,
Ar_Enter_SaleInvoice4_C1,
Ar_Enter_SaleInvoice4,Sys_Global;
{$R *.DFM}
procedure TFrm_Ar_Enter_SaleInvoice4H.InitForm(AdOConnection: TAdOConnection;
ReadOnly: Boolean);
begin
Application.ProcessMessages;
inherited;
If (ReadOnly) Then
begin
Act_New.Enabled:=False;
Act_New.Visible:=False;
Act_Modify.Enabled:=False;
Act_Modify.Visible:=False;
act_Cancelcheck.Enabled:=False;
act_Cancelcheck.Visible:=False;
act_Delete.Enabled:=False;
act_Delete.Visible:=False;
Pnl_Title.Caption:='专用发票查询';
Frm_Ar_Enter_SaleInvoice4H.Caption:='专用发票查询';
end
Else
begin
Act_New.Enabled:=False;
Act_New.Visible:=False;
Act_New.Enabled:=True;
Act_New.Visible:=True;
Pnl_Title.Caption:='专用发票';
Frm_Ar_Enter_SaleInvoice4H.Caption:='专用发票';
end;
SelectFromSql:=' Select Sa_SaleInvoice.*,Customer.CustomerName,'
+' Dept.DeptName, '
+' Employee3.EmployeeName as SaleEmployeeName, '
+' SaleType.SaleTypeName, '
+' Employee1.EmployeeName as createrName, '
+' Currency.CurrencyName,PayTermName'
+' From Sa_SaleInvoice '
+' left join Dept on sa_SaleInvoice.SaleDeptCode=Dept.DeptCode '
+' left join Employee Employee3 on sa_SaleInvoice.SaleEmployeeCode=Employee3.EmployeeCode '
+' left join SaleType on sa_SaleInvoice.SaleTypeCode=SaleType.SaleTypeCode '
+' 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.InvoiceType=1 and OrderType=1';
OrderByFields:=' CustomerCode,CreateDate,Invoiceno ';
GetData;
Lbl_Condition.Caption:='全部';//'开票日期>='+FormatDateTime('YYYY.MM.DD',strtodatetime(GetServerDateTime(dbconnect))-30);
end;
procedure TFrm_Ar_Enter_SaleInvoice4H.Act_NewExecute(Sender: TObject);
begin
inherited;
Frm_Ar_Enter_SaleInvoice4_C1:=TFrm_Ar_Enter_SaleInvoice4_C1.Create(Application);
Frm_Ar_Enter_SaleInvoice4_C1.SetSysParam(UserCode,ModuleCode,MenuId,LoginDate);
Frm_Ar_Enter_SaleInvoice4_C1.InitForm(DbConnect,False);
end;
procedure TFrm_Ar_Enter_SaleInvoice4H.Act_ModifyExecute(Sender: TObject);
begin
inherited;
if AdoQry_Head.RecordCount=0 then exit;
if AdoQry_Head.fieldbyname('active').asinteger=0 then exit;
Frm_Ar_Enter_SaleInvoice4:=TFrm_Ar_Enter_SaleInvoice4.Create(Application);
Frm_Ar_Enter_SaleInvoice4.SetSysParam(UserCode,ModuleCode,MenuId,LoginDate);
Frm_Ar_Enter_SaleInvoice4.InitForm(DbConnect,'Edit',AdoQry_Head);
Frm_Ar_Enter_SaleInvoice4.ShowModal;
if Frm_Ar_Enter_SaleInvoice4<>nil then
Frm_Ar_Enter_SaleInvoice4.Close;
end;
procedure TFrm_Ar_Enter_SaleInvoice4H.Act_LookExecute(Sender: TObject);
begin
inherited;
if AdoQry_Head.RecordCount=0 then exit;
Frm_Ar_Enter_SaleInvoice4:=TFrm_Ar_Enter_SaleInvoice4.Create(Application);
Frm_Ar_Enter_SaleInvoice4.SetSysParam(UserCode,ModuleCode,MenuId,LoginDate);
Frm_Ar_Enter_SaleInvoice4.InitForm(DbConnect,'Query',AdoQry_Head);
Frm_Ar_Enter_SaleInvoice4.ShowModal;
if Frm_Ar_Enter_SaleInvoice4<>nil then
Frm_Ar_Enter_SaleInvoice4.Close;
end;
procedure TFrm_Ar_Enter_SaleInvoice4H.DBGridEhGetCellParams(
Sender: TObject; Column: TColumnEh; AFont: TFont; var Background: TColor;
State: TGridDrawState);
begin
inherited;
if AdoQry_Head.RecordCount=0 then exit;
if AdoQry_Head.fieldbyname('active').asinteger=0 then
begin
afont.Color:=clred;
end;
end;
procedure TFrm_Ar_Enter_SaleInvoice4H.Act_CancelCheckExecute(
Sender: TObject);
var sqltext:string;
begin
inherited;
if AdoQry_Head.RecordCount=0 then exit;
if AdoQry_Head.fieldbyname('active').asinteger=0 then exit;
if DispInfo('确认要作废这张专用发票吗?',2)<>'y' then exit;
sqltext:='select active from sa_SaleInvoice'
+' where Invoiceno='+quotedstr(AdoQry_Head.fieldbyname('Invoiceno').asstring);
Executesql(AdoQry_tmp,sqltext,0);
if AdoQry_tmp.RecordCount=0 then
begin
DispInfo('这张发票已被别人删除,请刷新!',1);
abort;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -