⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ar_enter_nogatherinvoice.pas

📁 一个MRPII系统源代码版本
💻 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 + -