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

📄 ucashdayaccbook.pas

📁 天涯進銷存系統
💻 PAS
字号:
unit uCashdayAccBook;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, LBCtrls, ExtCtrls, ActnList, StdCtrls, LBDBScrollBar, Grids,
  LBDBGrid, FR_DSet, FR_DBSet, FR_Class, DB, DBClient, SimpleDS;

type
  TfrmCashdayAccBook = class(TForm)
    ActionList1: TActionList;
    Action1: TAction;
    Panel7: TPanel;
    Image2: TImage;
    Shape22: TShape;
    Shape23: TShape;
    Shape24: TShape;
    Shape25: TShape;
    LBSpeecButton1: TLBSpeecButton;
    Panel4: TPanel;
    Panel10: TPanel;
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    Label1: TLabel;
    Shape2: TShape;
    Shape3: TShape;
    Shape5: TShape;
    DayLabel: TLabel;
    LBDBGrid1: TLBDBGrid;
    Panel5: TPanel;
    Label4: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label12: TLabel;
    Panel6: TPanel;
    Panel8: TPanel;
    Panel13: TPanel;
    LBDBScrollBar1: TLBDBScrollBar;
    OpenView: TPanel;
    Image1: TImage;
    DayAccBookData: TSimpleDataSet;
    DayAccBookDataBILLCODE: TStringField;
    DayAccBookDataSUMMARY: TStringField;
    DayAccBookDataOTHERUNITNAME: TStringField;
    DayAccBookDataINCOME: TBCDField;
    DayAccBookDataOUTLAY: TBCDField;
    DayAccBookDataBALANCE: TBCDField;
    DayAccBookDataSDate: TDateField;
    DayAccBookDs: TDataSource;
    Report: TfrReport;
    ReportDataSet: TfrDBDataSet;
    LBSpeecButton2: TLBSpeecButton;
    Shape1: TShape;
    procedure FormShow(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Action1Execute(Sender: TObject);
    procedure DayAccBookDataCalcFields(DataSet: TDataSet);
    procedure LBSpeecButton2Click(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    procedure SelectData;
  public
    { Public declarations }
  end;

var
  frmCashdayAccBook: TfrmCashdayAccBook;
  SumDate: TDate;

implementation

uses uMain, uDataMo, uPublicvar, Tools;

{$R *.dfm}

procedure TFrmCashdayAccBook.SelectData;
var
  Sum1, Sum2, Sum3, Sum4: Extended;
begin
  Sum1:=0;
  Sum2:=0;
  OpenView.Visible:=True;
  Update;
  OpenData('select BILLCODE, BILLMODEL, OTHERUNITNAME, TOTALSUM, '+
           'BALANCE, BALANCEWHITHER, PAYMENTWHITHER, BILLTYPE, ISBALANCETO, '+
           'ISUSEPREPAYSUM, CANUSESUM, PREPAYSUM FROM PayMentHand where '+
           'ISAUDITING='''+'1'''+
           'And BILLDATE='+#39+DateToStr(SumDate)+#39+' and PAYTYPE='+#39+'现金'+#39,
           dmData.sdsPublic);
  with DayAccBookData do
  begin
    CancelUpdates;
    while not dmData.sdsPublic.Eof do
    begin
      Append;
      Fieldbyname('BILLCODE').asstring:=dmData.sdsPublic.Fieldbyname('BillCode').asstring;
      Fieldbyname('SUMMARY').asstring:=dmData.sdsPublic.Fieldbyname('BILLMODEL').asstring;
      Fieldbyname('OTHERUNITNAME').asstring:=dmData.sdsPublic.Fieldbyname('OTHERUNITNAME').asstring;
      //收款
      if dmData.sdsPublic.Fieldbyname('BILLTYPE').asstring='1' then
      begin
        Fieldbyname('INCOME').asFloat:=dmData.sdsPublic.Fieldbyname('TOTALSUM').asFloat;
        Sum1:=Sum1+Fieldbyname('INCOME').asFloat;
        Sum3:=Sum3+Fieldbyname('INCOME').asFloat;
        //如果是使用了预收款
        if dmData.sdsPublic.Fieldbyname('ISUSEPREPAYSUM').asstring='True' then
        begin
          Append;
          Fieldbyname('SUMMARY').asstring:='预收款转销售款';
          Fieldbyname('OTHERUNITNAME').asstring:=dmData.sdsPublic.Fieldbyname('OTHERUNITNAME').asstring;
          Fieldbyname('OUTLAY').asFloat:=dmData.sdsPublic.Fieldbyname('PREPAYSUM').asFloat;
          Sum2:=Sum2+Fieldbyname('OUTLAY').asFloat;
          Sum3:=Sum3-Fieldbyname('OUTLAY').asFloat;
        end;
        if dmData.sdsPublic.FieldByName('ISBALANCETO').AsString='1' then
        begin
          Append;
          Fieldbyname('SUMMARY').asstring:='余额转预收款';
          Fieldbyname('OTHERUNITNAME').asstring:=dmData.sdsPublic.Fieldbyname('OTHERUNITNAME').asstring;
          Fieldbyname('INCOME').asFloat:=dmData.sdsPublic.Fieldbyname('BALANCE').asFloat;
          Sum1:=Sum1+Fieldbyname('INCOME').asFloat;
          Sum3:=Sum3+Fieldbyname('INCOME').asFloat;
        end;
      end
      else
      //付款
      if dmData.sdsPublic.Fieldbyname('BILLTYPE').asstring='2' then
      begin
        Fieldbyname('OUTLAY').asFloat:=dmData.sdsPublic.Fieldbyname('TOTALSUM').asFloat;
        Sum2:=Sum2+Fieldbyname('OUTLAY').asFloat;
        Sum4:=Sum4+Fieldbyname('OUTLAY').asFloat;
        //如果是使用了预付款
        if dmData.sdsPublic.Fieldbyname('ISUSEPREPAYSUM').asstring='True' then
        begin
          Append;
          Fieldbyname('SUMMARY').asstring:='预付款转采购付款';
          Fieldbyname('OTHERUNITNAME').asstring:=dmData.sdsPublic.Fieldbyname('OTHERUNITNAME').asstring;
          Fieldbyname('INCOME').asFloat:=dmData.sdsPublic.Fieldbyname('PREPAYSUM').asFloat;
          Sum1:=Sum1+Fieldbyname('INCOME').asFloat;
          Sum4:=Sum4-Fieldbyname('INCOME').asFloat;
        end;
        //余额转预付款
        if dmData.sdsPublic.FieldByName('ISBALANCETO').AsString='1' then
        begin
          Append;
          Fieldbyname('SUMMARY').asstring:='余额转预付款';
          Fieldbyname('OTHERUNITNAME').asstring:=dmData.sdsPublic.Fieldbyname('OTHERUNITNAME').asstring;
          Fieldbyname('OUTLAY').asFloat:=dmData.sdsPublic.Fieldbyname('BALANCE').asFloat;
          Sum2:=Sum2+Fieldbyname('OUTLAY').asFloat;
          Sum4:=Sum4+Fieldbyname('OUTLAY').asFloat;
        end;
      end;
      //退货
      if (dmData.sdsPublic.Fieldbyname('PAYMENTWHITHER').asstring='1') then
      begin
        Append;
        Fieldbyname('OTHERUNITNAME').asstring:=dmData.sdsPublic.Fieldbyname('OTHERUNITNAME').asstring;
        if dmData.sdsPublic.Fieldbyname('BILLTYPE').asstring='2' then
        begin
          Fieldbyname('SUMMARY').asstring:='退货金额转预收款';
          Fieldbyname('INCOME').asFloat:=dmData.sdsPublic.Fieldbyname('TOTALSUM').asFloat;
          Sum1:=Sum1+Fieldbyname('INCOME').asFloat;
          Sum3:=Sum3+Fieldbyname('INCOME').asFloat;
        end
        else
        if dmData.sdsPublic.Fieldbyname('BILLTYPE').asstring='1' then
        begin
          Fieldbyname('SUMMARY').asstring:='退货金额转预付款';
          Fieldbyname('OUTLAY').asFloat:=dmData.sdsPublic.Fieldbyname('TOTALSUM').asFloat;
          Sum2:=Sum2+Fieldbyname('OUTLAY').asFloat;
          Sum4:=Sum4+Fieldbyname('OUTLAY').asFloat;
        end;
      end;
      dmData.sdsPublic.Next;
    end;
    Append;
    Fieldbyname('SUMMARY').asstring:='本日合计';
    Fieldbyname('INCOME').asFloat:=Sum1;
    Fieldbyname('OUTLAY').asFloat:=Sum2;
    Fieldbyname('BALANCE').asFloat:=Sum1-Sum2;
    Append;
    Fieldbyname('SUMMARY').asstring:='本日实际收支合计';
    Fieldbyname('INCOME').asFloat:=Sum3;
    Fieldbyname('OUTLAY').asFloat:=Sum4;
    Fieldbyname('BALANCE').asFloat:=Sum3-Sum4;
    First;
  end;
  OpenView.Visible:=False;
end;

procedure TfrmCashdayAccBook.FormShow(Sender: TObject);
begin
  SumDate:=Date;
  OpenData('select * From DayAccBook', DayAccBookData);
  DayLabel.Caption:='日期:'+GetLongDate(SumDate);
  SelectData;
end;

procedure TfrmCashdayAccBook.FormActivate(Sender: TObject);
begin
  GetWindowsItem(Caption, Self);
end;

procedure TfrmCashdayAccBook.FormDestroy(Sender: TObject);
begin
  WindowItem.Delete(WindowItem.IndexOfObject(Self));
  DayAccBookData.Close;
end;

procedure TfrmCashdayAccBook.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  Action:=caFree;
  frmCashdayAccBook:=Nil;
end;

procedure TfrmCashdayAccBook.Action1Execute(Sender: TObject);
begin
  PrintView('RepCashdayAccBook.frf', Report);
end;

procedure TfrmCashdayAccBook.DayAccBookDataCalcFields(DataSet: TDataSet);
begin
  DayAccBookData.Fieldbyname('SDate').asDateTime:=SDate;
end;

procedure TfrmCashdayAccBook.LBSpeecButton2Click(Sender: TObject);
begin
  GetXoY(LBSpeecButton2);
  sDate:=Date;
  SelectDate;
  SumDate:=sDate;
  DayLabel.Caption:='日期:'+GetLongDate(SumDate);
  SelectData;
end;

procedure TfrmCashdayAccBook.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=27 then Close;
end;

end.

⌨️ 快捷键说明

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