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

📄 fncashleger.pas

📁 详细的ERP设计资料
💻 PAS
字号:
unit FNCashLeger;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, WSVoucherBrowse, DB, ActnList, Grids,WSEdit, DBGrids, QLDBGrid,
  ComCtrls, ExtCtrls, ToolWin,DateUtils, ADODB, StdCtrls, Buttons, Menus;

type
  TFNCashLegerForm = class(TWSVoucherBrowseForm)
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ToolButton11: TToolButton;
    ToolButton12: TToolButton;
    ToolButton13: TToolButton;
    adsMaster: TADODataSet;
    ADOQuery: TADOQuery;
    adsMasterDSDesigner: TDateTimeField;
    adsMasterDSDesigner2: TStringField;
    adsMasterDSDesigner3: TStringField;
    adsMasterDSDesigner4: TStringField;
    adsMasterDSDesigner5: TStringField;
    adsMasterDSDesigner6: TStringField;
    adsMasterDSDesigner7: TBCDField;
    adsMasterDSDesigner8: TBCDField;
    adsMasterDSDesigner9: TBCDField;
    adsMasterDSDesigner10: TStringField;
    ToolButton1: TToolButton;
    procedure DBGridCellClick(Column: TColumn);
    procedure DBGridDblClick(Sender: TObject);
    procedure UpdateDBGrid;
    procedure ShowForm(const name,Strcaption,AccountsID,Datestr :string);

  private
    { Private declarations }
  public
    { Public declarations }
  protected
    function CreateEditForm: TWSEditForm; override;
  end;

var
  FNCashLegerForm: TFNCashLegerForm;


implementation

uses CommonDM ;


{$R *.dfm}

function TFNCashLegerForm.CreateEditForm: TWSEditForm;
begin
//  Result := TSLEdClearBillAForm.Create(Self);
end;


procedure TFNCashLegerForm.DBGridCellClick(Column: TColumn);
begin
//  inherited;
  UpdateDBGrid;
end;

procedure TFNCashLegerForm.DBGridDblClick(Sender: TObject);
begin
//  inherited;
  UpdateDBGrid;
end;

procedure TFNCashLegerForm.UpdateDBGrid;
var  I: Integer;
begin
  with DBGrid do
  begin
    FooterRowCount := 0;
    Columns[0].Footer.ValueType := fvtStaticText;
    Columns[0].Footer.Value := '合计:';
    Columns[0].Footer.Alignment := taCenter;
    Columns[0].Title.Alignment:= taCenter;
//    Columns[0].Width :=130;
    for I := 1 to Columns.Count - 1 do
    begin
      Columns[i].Width :=90;
      if Pos('日',Columns[I].FieldName)>0 then Columns[i].Width :=70;
      if Pos('编',Columns[I].FieldName)>0 then Columns[i].Width :=70;
      Columns[i].Title.Alignment:= taCenter;
      if Columns[I].Field is TNumericField then
      if Pos('Price',Columns[I].FieldName)<=0 then
        Columns[I].Footer.ValueType := fvtSum;
    end;
    FooterRowCount := 1;
  end;
end;

procedure TFNCashLegerForm.ShowForm(const name, Strcaption,AccountsID,datestr: string);
begin
  with TFNCashLegerForm.Create(APPLICATION)   do
  begin
    adsMaster.Close;
    adsMaster.CommandText :='select Date [日期], a.Code [编号] ,BillMode [业务类别] ,'
        +' Brief [业务摘要], ReceiptPayee [收款人/交款人] ,'
        +' b.name as [帐户名称],AmountD [收入金额], AmountC [支出金额],'
        +' AmountD-AmountC as [差额/余额],c.name as [经手人] from ( '
        +' select date,a.code,a.RecordState,BillMode,Brief,b.name as ReceiptPayee,'
        +' AccountsID,Isnull(AmountD,0)*Isnull(ModeDC,1)*Isnull(ModeC,1)  AmountD,'
        +' Isnull(AmountC,0)*Isnull(ModeDC,1)*Isnull(ModeC,1)  AmountC,'
        +' EmployeeID from FNClearPCMaster a '
        +' left outer join  DaClient b on b.id=a.ClientID '    //采购付款表
        +' UNION ALL                                                                    '
        +' select date,a.code,a.RecordState,BillMode,Brief,b.name as ReceiptPayee,'
        +' AccountsID,Isnull(AmountD,0)*Isnull(ModeDC,1)*Isnull(ModeC,1)  AmountD,'
        +' Isnull(AmountC,0)*Isnull(ModeDC,1)*Isnull(ModeC,1)  AmountC,'
        +' EmployeeID from FNClearSLMaster a   '
        +' left outer join  DaClient b on b.id=a.ClientID    '  //销售收款表
        +' UNION ALL                                                                    '
        +' select date,a.code,a.RecordState,BillMode,Brief,b.name as ReceiptPayee,'
        +' AccountsID,Isnull(AmountD,0)*Isnull(ModeDC,1)*Isnull(ModeC,1)  AmountD,'
        +' Isnull(AmountC,0)*Isnull(ModeDC,1)*Isnull(ModeC,1)  AmountC,'
        +' EmployeeID from FNClearEGMaster a   '
        +' left outer join  DaClient b on b.id=a.ClientID    '  //项目收款表
        +' UNION ALL                                                                    '
        +' select date,a.code,a.RecordState,BillMode,Brief,b.name as ReceiptPayee,'
        +' AccountsID,Isnull(AmountD,0)*Isnull(ModeDC,1)*Isnull(ModeC,1)  AmountD,'
        +' Isnull(AmountC,0)*Isnull(ModeDC,1)*Isnull(ModeC,1)  AmountC,'
        +' EmployeeID   from FNCashInMaster a  '
        +' left outer join  MsEmployee b on b.id=a.ClientID   '//内部收款表
        +' UNION ALL                                                                    '
        +' select date,a.code,a.RecordState,BillMode,Brief,b.name as ReceiptPayee,'
        +' AccountsID,Isnull(AmountD,0)*Isnull(ModeDC,1)*Isnull(ModeC,1)  AmountD,'
        +' Isnull(AmountC,0)*Isnull(ModeDC,1)*Isnull(ModeC,1)  AmountC, '
        +' EmployeeID  from FNCashoutMaster a       '
        +' left outer join  MsEmployee b on b.id=a.ClientID  '  //内部付款表
        +' UNION ALL                                                                    '
        +' select date,a.code,a.RecordState,BillMode,Brief,b.name as ReceiptPayee,'
        +' ClientID,0.00 as AmountD, Isnull(AmountD,0)*Isnull(ModeDC,1)*Isnull(ModeC,1)   '
        +' as Amountc ,EmployeeID   from FNCashOutInMaster a      '
        +' left outer join  FNAccounts b on b.id=a.AccountsID ' //资金调出表
        +' UNION ALL                                                                       '
        +' select date,a.code,a.RecordState,BillMode,Brief,b.name as ReceiptPayee,   '
        +' AccountsID,Isnull(AmountD,0)*Isnull(ModeDC,1)*Isnull(ModeC,1)  AmountD,'
        +' 0.00 as Amountc ,EmployeeID  from FNCashOutInMaster a    '
        +' left outer join  FNAccounts b on b.id=a.ClientID   '  //资金调入表
        +' UNION ALL                                                                       '
        +' select date,a.code,a.RecordState,BillMode,Brief,b.name as ReceiptPayee,   '
        +' AccountsID,0.00 as Amountd ,Isnull(AmountC,0)*Isnull(ModeDC,1)*Isnull(ModeC,1)  AmountC ,'
        +' EmployeeID from FNExpenseMaster a   '
        +' left outer join  MsEmployee b on b.id=a.ClientID  '   //报销付款表
        +' ) AS a left Outer Join FNaccounts b on B.id=a.AccountsID '
        +'  left Outer Join MsEmployee c on c.id=a.EmployeeID '
        +' WHERE a.RecordState<>'+Quotedstr('删除')+' and a.AccountsID='+ Quotedstr(AccountsID)
        +' and date<='+Quotedstr(datestr) +' Order by date,a.code DESC';
    adsMaster.Open;
    caption :=Strcaption;
    TabSheet1.Caption :=Strcaption;
    ShowModal;
  end;
end;

end.

⌨️ 快捷键说明

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