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

📄 gl_enter_credenceh.pas

📁 一个MRPII系统源代码版本
💻 PAS
字号:
unit Gl_Enter_CredenceH;

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_Gl_Enter_CredenceH = Class(TFrm_Base_Entry_Head)
    AdoQry_HeadCharacterCode: TStringField;
    AdoQry_HeadCredencedate: TDateTimeField;
    AdoQry_HeadCredenceType: TIntegerField;
    AdoQry_HeadBillAmount: TIntegerField;
    AdoQry_HeadTotaldebitAmount: TFloatField;
    AdoQry_HeadTotalcreditAmount: TFloatField;
    AdoQry_HeadcreateEmployeeCode: TStringField;
    AdoQry_HeadcreateEmployeeName: TStringField;
    AdoQry_HeadcashierEmployeeCode: TStringField;
    AdoQry_HeadcashierEmployeeName: TStringField;
    AdoQry_HeadtallyEmployeeCode: TStringField;
    AdoQry_HeadtallyEmployeeName: TStringField;
    AdoQry_HeadassessorEmployeeCode: TStringField;
    AdoQry_HeadassessorEmployeeName: TStringField;
    AdoQry_HeadCharacterName: TStringField;
    AdoQry_HeadTallyFlag: TIntegerField;
    AdoQry_HeadAssessFlag: TIntegerField;
    AdoQry_HeadSignFlag: TIntegerField;
    AdoQry_HeadRemArk: TStringField;
    AdoQry_HeadCredenceid: TAutoIncField;
    AdoQry_HeadCredenceno: TStringField;
    procedure FormDestroy(Sender: TObject);
    procedure Act_DeleteExecute(Sender: TObject);
    procedure Act_CancelCheckExecute(Sender: TObject);
    procedure AdoQry_HeadAfterScroll(DataSet: TDataSet);
    procedure Act_ModifyExecute(Sender: TObject);
    procedure Act_NewExecute(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    tmpGl_Credence: string;
    { Private declarations }
  public
  procedure InitForm(AdOConnection:TAdOConnection;ReadOnly:Boolean);Override;
  function getuseAccount:boolean;
    { Public declarations }
  end;

var
  Frm_Gl_Enter_CredenceH: TFrm_Gl_Enter_CredenceH;

implementation

uses Gl_Enter_Credence, Sys_Global;

{$R *.DFM}

{ TFrm_Sal_Enter_SaleOrderH }

function TFrm_Gl_Enter_CredenceH.getuseAccount:boolean;
var sqltext:string;
begin
  Result:=False;
  sqltext:='select * from Gl_Param'
          +' where ParamCode=''StartUseAccount'' ';
  Executesql(AdoQry_tmp,sqltext,0);
  if AdoQry_tmp.fieldbyname('ParamValuen').asinteger=1 then
  Result:=True;
end;


procedure TFrm_Gl_Enter_CredenceH.InitForm(AdOConnection: TAdOConnection;
  ReadOnly: Boolean);
var sqltext:string;  
begin
  Application.ProcessMessages;
  inherited;
  If (ReadOnly) Then
  begin
    Act_New.Enabled:=False;
    Act_New.Visible:=False;
    Act_Modify.Enabled:=False;
    Act_Modify.Visible:=False;
    tlbtn_Delete.Visible:=False;
    tlbtn_Delete.Enabled:=False;
    act_Cancelcheck.Visible:=False;
    act_Cancelcheck.Enabled:=False;
    act_Delete.Visible:=False;
    act_Delete.enabled:=False;
    Pnl_Title.Caption:='记账凭证查询';
    Frm_Gl_Enter_CredenceH.Caption:='记账凭证查询';
  end
  Else
  begin
    Pnl_Title.Caption:='记账凭证';
    Frm_Gl_Enter_CredenceH.Caption:='记账凭证';
  end;
  //sqltext:='select  convert(varchAr(10),t1.Credenceid) as Credenceid,t1.Characterno as CharacterCode,  '
  sqltext:=//' create view '+ tmpGl_Credence+ ' as '
                 'select  t1.Credenceid,t1.Characterno as CharacterCode,  '
                 +'        Gl_CredenceType.CharacterCode as CharacterName,'
                 +'        t1.Credencedate,  '
                 +'        t1.Credenceno,     '
                 +'        t1.CredenceType,   '
                 +'        t1.BillAmount,     '
                 +'        t1.TotaldebitAmount,'
                 +'        t1.TotalcreditAmount, '
                + '        t1.CreateEmployeeCode,'
                +'         t1.assessflag,        '
                +'         t1.tallyflag,         '
                +'         t1.remArk,         '
                +'         t1.signflag,    '
                + '        Employee1.EmployeeName as createEmployeeName, '
                 +'        t1.cashierEmployeeCode,                       '
                + '        Employee2.EmployeeName as cashierEmployeeName,'
                + '        t1.tallyEmployeeCode,                         '
                + '        Employee3.EmployeeName as tallyEmployeeName,  '
                +'        t1.assessorEmployeeCode,                      '
                + '        Employee4.EmployeeName as assessorEmployeeName'
                +'    into #tmpGl_Credence  '
                +'     from  Gl_Credence t1   '

                + ' left join Employee Employee1 on t1.CreateEmployeeCode=Employee1.EmployeeCode   '
                + ' left join Employee Employee2 on t1.cashierEmployeeCode=Employee2.EmployeeCode  '
                + ' left join Employee Employee3 on t1.tallyEmployeeCode=Employee3.EmployeeCode    '
                + ' left join Employee Employee4 on t1.assessorEmployeeCode=Employee4.EmployeeCode '
                +'  left join Gl_CredenceType on t1.Characterno=Gl_CredenceType.Characterno ';
  Executesql(AdoQry_tmp,sqltext,1);
  selectfromsql:='select * from #tmpGl_Credence' ;
  Condition:=' assessflag=0 ';
  OrderByFields:=' Credenceno';
  GetData;
  Frm_Entry_Body:=TFrm_Gl_Enter_Credence.Create(Application);
end;

procedure TFrm_Gl_Enter_CredenceH.FormDestroy(Sender: TObject);
begin
  inherited;
  Frm_Gl_Enter_CredenceH:=nil;
end;

procedure TFrm_Gl_Enter_CredenceH.Act_DeleteExecute(Sender: TObject);
var  SqlText:String;
begin
  inherited;
  if AdoQry_Head.RecordCount=0 then exit;
  if DispInfo('确认要弃废这张凭证吗?',2)<>'y' then exit;
  try
    dbconnect.beginTrans;
    saveCredenceHistory(dbconnect,AdoQry_Head.fieldbyname('Credenceno').asstring,userCode,4);
    sqltext:='update Gl_Credence '
            +'   set CredenceType=1 '
            +' where Credenceno='+quotedstr(AdoQry_Head.fieldbyname('Credenceno').asstring);
    Executesql(AdoQry_tmp,sqltext,1);
    sqltext:='update #tmpGl_Credence '
            +'   set CredenceType=1 '
            +' where Credenceno='+quotedstr(AdoQry_Head.fieldbyname('Credenceno').asstring);
    Executesql(AdoQry_tmp,sqltext,1);

    AdoQry_Head.Edit;
    AdoQry_Head.fieldbyname('CredenceType').asinteger:=1;
    AdoQry_Head.Post;
    dbconnect.CommitTrans;
  except
    if dbconnect.InTransaction then
     dbconnect.RollBackTrans;
  end;
  tlbtn_Delete.Action:=act_Cancelcheck;
end;

procedure TFrm_Gl_Enter_CredenceH.Act_CancelCheckExecute(Sender: TObject);
var sqltext:string;
begin
  inherited;
  if AdoQry_Head.RecordCount=0 then exit;
  if DispInfo('确认要作废这张凭证吗?',2)<>'y' then exit;
  try
    dbconnect.beginTrans;
    saveCredenceHistory(dbconnect,AdoQry_Head.fieldbyname('Credenceno').asstring,userCode,3);
    sqltext:='update Gl_Credence '
            +'   set CredenceType=2 '
            +' where Credenceno='+quotedstr(AdoQry_Head.fieldbyname('Credenceno').asstring);
    Executesql(AdoQry_tmp,sqltext,1)        ;
    sqltext:='update #tmpGl_Credence '
            +'   set CredenceType=2 '
            +' where Credenceno='+quotedstr(AdoQry_Head.fieldbyname('Credenceno').asstring);
    Executesql(AdoQry_tmp,sqltext,1)        ;
    AdoQry_Head.Edit;
    AdoQry_Head.fieldbyname('CredenceType').asinteger:=2;
    AdoQry_Head.Post;
    dbconnect.CommitTrans;
  except
    if dbconnect.InTransaction then dbconnect.RollBackTrans;
  end;
  tlbtn_Delete.Action:=act_Delete;
end;

procedure TFrm_Gl_Enter_CredenceH.AdoQry_HeadAfterScroll(
  DataSet: TDataSet);
begin
  inherited;
  if AdoQry_Head.RecordCount=0 then
    tlbtn_Delete.Action:=act_Cancelcheck;
  if AdoQry_Head.fieldbyname('CredenceType').asinteger=2 then
    tlbtn_Delete.Action:=act_Delete
  else
    tlbtn_Delete.Action:=act_Cancelcheck;

end;

procedure TFrm_Gl_Enter_CredenceH.Act_ModifyExecute(Sender: TObject);
begin
  if AdoQry_Head.RecordCount=0 then exit;
  if AdoQry_Head.fieldbyname('CredenceType').asinteger=2 then exit;
  if not getuseAccount then
    begin
      DispInfo('帐套未启用,不可修改记账凭证!',3);
      exit;
    end;
  if AdoQry_Head.fieldbyname('assessflag').asinteger=1 then
    begin
      DispInfo('记账凭证已审核,不可修改!',3);
      exit;
    end;
  if AdoQry_Head.fieldbyname('signflag').asinteger=1 then
    begin
      DispInfo('记账凭证已出纳签字,不可修改!',3);
      exit;
    end;
  inherited;
end;

procedure TFrm_Gl_Enter_CredenceH.Act_NewExecute(Sender: TObject);
begin
  if not getuseAccount then
    begin
      DispInfo('帐套未启用,不可新增记账凭证!',3);
      exit;
    end;
  inherited;
  
end;

procedure TFrm_Gl_Enter_CredenceH.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  try
    //Executesql(AdoQry_tmp,'drop view '+tmpGl_Credence,1)
    Executesql(AdoQry_tmp,'drop table #tmpGl_Credence',1)
  except

  end;
end;

procedure TFrm_Gl_Enter_CredenceH.FormShow(Sender: TObject);
begin
  inherited;
  Windowstate:=wsMaximized;
end;

procedure TFrm_Gl_Enter_CredenceH.FormCreate(Sender: TObject);
begin
  inherited;
  //tmpGl_Credence:=randomstring;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -