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

📄 csh750_01.pas.svn-base

📁 开源的网站整站程序,功能强大带采集系统.
💻 SVN-BASE
字号:
unit Csh750_01;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Bas200_11, dxExEdtr, DB, ADODB, ActnList, Menus, dxCntner, dxTL,
  dxDBCtrl, dxDBGrid, ExtCtrls, ComCtrls, ToolWin, Buttons, StdCtrls,
  wwdbdatetimepicker;

type
  TCsh750_01Form = class(TBas200_11Form)
    lblType: TLabel;
    cbType: TComboBox;
    lblDate: TLabel;
    edtFromDate: TwwDBDateTimePicker;
    edtToDate: TwwDBDateTimePicker;
    sbSearch: TSpeedButton;
    qryCsh500: TADOQuery;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure sbSearchClick(Sender: TObject);
  private
    { Private declarations }
  public
    procedure SetInterface; override;
    procedure BrowseEvent; override;
    procedure RefreshEvent; override;
    procedure ReportGetValue(const ParName: String; var ParValue: Variant); override;
    { Public declarations }
  end;

var
  Csh750_01Form: TCsh750_01Form;

implementation

uses SYSDATA, CommFun;

{$R *.dfm}

procedure TCsh750_01Form.SetInterface;
begin
  inherited;
  Caption:=GetDBString('CSH75001001');  //销售利润分析
  lblType.Caption:=GetDBString('CSH75001002');  //类型
  lblDate.Caption:=GetDBString('CSH75001003');  //日期
  sbSearch.Caption:=GetDBString('CSH75001004');  //查询
  cbType.Clear;
  cbType.Items.Add(GetDBString('CSH75001005'));  //销售定单
  cbType.ItemIndex:=0;
end;

procedure TCsh750_01Form.FormCreate(Sender: TObject);
var
  ADate:TDateTime;
begin
  inherited;
  ADate:=GetServerDate;
  edtFromDate.Date:=GetMonthFirstDate(ADate);
  edtToDate.Date:=GetMonthEndDate(ADate);
  sbSearch.Click;
end;

procedure TCsh750_01Form.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
//
end;

procedure TCsh750_01Form.sbSearchClick(Sender: TObject);
var
  AFromDate,AToDate:TDateTime;
//  ACustNo,ACurrNo:Integer;
begin
  inherited;
//查询
  if (edtFromDate.Text='') or (edtToDate.Text='') then
  begin
    ShowMsg('UMS10000319');  //起止日期不可为空
    if edtFromDate.Text='' then edtFromDate.SetFocus else edtToDate.SetFocus;
    Abort;
  end;
  if edtFromDate.Date>edtToDate.Date then
  begin
    ShowMsg('UMS10000320');  //结束日期不能小于起始日期
    edtToDate.SetFocus;
    Abort;
  end;
  AFromDate:=edtFromDate.Date;
  AToDate:=edtToDate.Date;

  try
    Screen.Cursor:=crHourGlass;
    ADODataSet1.DisableControls;
    ADODataSet1.Close;
    ADODataSet1.CreateDataSet;

    qryCsh500.Close;
    qryCsh500.SQL.Clear;
    qryCsh500.SQL.Add('select * from');
    qryCsh500.SQL.Add('  (select A.*,');
    qryCsh500.SQL.Add('       B.O150_002,B.O150_003,');
    qryCsh500.SQL.Add('       C.G100_002,C.G100_003');
    qryCsh500.SQL.Add('  from CSH610 A,ORD150 B,GLD100 C');
    qryCsh500.SQL.Add('  where C610_001=0 and C610_002=O150_001 and C610_003=G100_001');
    qryCsh500.SQL.Add('  union');
    qryCsh500.SQL.Add('  select A.*,');
    qryCsh500.SQL.Add('       B.H150_002,B.H150_003,');
    qryCsh500.SQL.Add('       C.G100_002,C.G100_003');
    qryCsh500.SQL.Add('  from CSH610 A,HRM150 B,GLD100 C');
    qryCsh500.SQL.Add('  where C610_001=1 and C610_002=H150_001 and C610_003=G100_001) AA');
    qryCsh500.SQL.Add('where C610_004='+IntToStr(cbType.ItemIndex)+' and C610_006>='+GetDateString(AFromDate)+' and C610_006<='+GetDateString(AToDate));
    qryCsh500.SQL.Add('order by C610_001,O150_002,G100_002,C610_006,C610_011');
    qryCsh500.Open;
    while not qryCsh500.Eof do
    begin
      if ADODataSet1.Locate('FCurrName;FType;FCode',VarArrayOf([qryCsh500.FieldByName('G100_003').Value,qryCsh500.FieldByName('C610_001').Value,qryCsh500.FieldByName('O150_002').Value]),[]) then
        ADODataSet1.Edit
      else
        ADODataSet1.Append;
      ADODataSet1.FieldByName('FCurrName').Value:=qryCsh500.FieldByName('G100_003').Value;
      ADODataSet1.FieldByName('FType').Value:=qryCsh500.FieldByName('C610_001').Value;
      ADODataSet1.FieldByName('FCode').Value:=qryCsh500.FieldByName('O150_002').Value;
      ADODataSet1.FieldByName('FName').Value:=qryCsh500.FieldByName('O150_003').Value;
      case qryCsh500.FieldByName('C610_005').AsInteger of  //0=期初,1=收入,2=支出
        0:ADODataSet1.FieldByName('FOpen').AsFloat:=ADODataSet1.FieldByName('FOpen').AsFloat+qryCsh500.FieldByName('C610_007').AsFloat;
        1:ADODataSet1.FieldByName('FInAmt').AsFloat:=ADODataSet1.FieldByName('FInAmt').AsFloat+qryCsh500.FieldByName('C610_007').AsFloat;
        2:ADODataSet1.FieldByName('FOutAmt').AsFloat:=ADODataSet1.FieldByName('FOutAmt').AsFloat+qryCsh500.FieldByName('C610_007').AsFloat;
      end;
      ADODataSet1.FieldByName('FBalance').Value:=qryCsh500.FieldByName('C610_008').Value;
      ADODataSet1.FieldByName('FCustNo').Value:=qryCsh500.FieldByName('C610_002').Value;
      ADODataSet1.FieldByName('FCurrNo').Value:=qryCsh500.FieldByName('C610_003').Value;
      ADODataSet1.Post;
      qryCsh500.Next;
    end;
  finally
    ADODataSet1.EnableControls;
    Screen.Cursor:=crDefault;
  end;
  ARecordCount:=GetDataSetCount(ADODataSet1);
end;

procedure TCsh750_01Form.BrowseEvent;
begin
  inherited;

end;

procedure TCsh750_01Form.RefreshEvent;
begin
  inherited;
  sbSearch.Click;
end;

procedure TCsh750_01Form.ReportGetValue(const ParName: String;
  var ParValue: Variant);
begin
  inherited;

end;

initialization
  RegisterClass(TCsh750_01Form);

finalization
  UnRegisterClass(TCsh750_01Form);

end.

⌨️ 快捷键说明

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