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

📄 ubookquery.pas

📁 制衣管理系统程序+源码,编译通过还不错啊,可以
💻 PAS
字号:
unit uBookQuery;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
  cxDataStorage, cxEdit, DB, cxDBData, cxButtonEdit, cxCalc, cxContainer,
  cxTextEdit, cxMaskEdit, cxGridLevel, cxGridCustomTableView,
  cxGridTableView, cxGridDBTableView, cxClasses, cxControls,
  cxGridCustomView, cxGrid, ExtCtrls, ComCtrls, StdCtrls, Buttons,
  cxDropDownEdit, DBClient, DateUtils, cxCurrencyEdit;

type
  TfrmBookQuery = class(TForm)
    cxGrid1: TcxGrid;
    GridCWZB: TcxGridDBTableView;
    colMon: TcxGridDBColumn;
    colDay: TcxGridDBColumn;
    colDH: TcxGridDBColumn;
    colZY: TcxGridDBColumn;
    colXS: TcxGridDBColumn;
    colSk: TcxGridDBColumn;
    colFk: TcxGridDBColumn;
    colYE2: TcxGridDBColumn;
    colNIL: TcxGridDBColumn;
    cxGridLevel1: TcxGridLevel;
    colJG: TcxGridDBColumn;
    colYE1: TcxGridDBColumn;
    colNil2: TcxGridDBColumn;
    GridCKZB: TcxGridDBTableView;
    Panel1: TPanel;
    GroupBox1: TGroupBox;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    dtPicker1: TDateTimePicker;
    cxButtonEdit1: TcxButtonEdit;
    cxButtonEdit2: TcxButtonEdit;
    GroupBox2: TGroupBox;
    StatusBar1: TStatusBar;
    Bevel1: TBevel;
    Label4: TLabel;
    Memo1: TMemo;
    Label5: TLabel;
    cxComboBox1: TcxComboBox;
    cdDoGet: TClientDataSet;
    dsDoGet: TDataSource;
    cdData: TClientDataSet;
    dsData: TDataSource;
    cxComboBox2: TcxComboBox;
    cxTextEdit1: TcxTextEdit;
    colMon1: TcxGridDBColumn;
    colDay1: TcxGridDBColumn;
    colDH1: TcxGridDBColumn;
    colZy1: TcxGridDBColumn;
    colJC: TcxGridDBColumn;
    colBack: TcxGridDBColumn;
    colCC: TcxGridDBColumn;
    colOut: TcxGridDBColumn;
    colJY: TcxGridDBColumn;
    colUSER1: TcxGridDBColumn;
    colNil1: TcxGridDBColumn;
    colUser: TcxGridDBColumn;
    lbColor: TLabel;
    cxComboBox3: TcxComboBox;
    Label6: TLabel;
    Label7: TLabel;
    cxCalcEdit1: TcxCalcEdit;
    cxCalcEdit2: TcxCalcEdit;
    SpeedButton4: TSpeedButton;
    cxTextEdit2: TcxTextEdit;
    procedure SpeedButton1Click(Sender: TObject);
    procedure dtPicker1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cxComboBox1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cxButtonEdit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cxButtonEdit1PropertiesButtonClick(Sender: TObject;
      AButtonIndex: Integer);
    procedure cxButtonEdit2PropertiesButtonClick(Sender: TObject;
      AButtonIndex: Integer);
    procedure cxButtonEdit2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cxComboBox1Exit(Sender: TObject);
    procedure cxComboBox2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cxTextEdit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormResize(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure cxComboBox3KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cxCalcEdit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cxCalcEdit2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cxComboBox2Exit(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure cxComboBox3Exit(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure cxTextEdit2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
     IkeyClient,ikeyStk: integer;
     procedure GetZhangbenCW(IYea,ikeyClient: integer);
     procedure ClientToMaster;
     function GetClientData(SField, sFieldT: String): integer;
     procedure GetZhangBenCK(IYea,ikey: integer; clb: string);
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmBookQuery: TfrmBookQuery;

implementation
uses
   uGlobal, uGetData, uPublic;
{$R *.dfm}

{ TfrmSqlZhangBen }

procedure TfrmBookQuery.GetZhangbenCW(IYea, ikeyClient: integer);
begin
   if iKeyClient <= 0 then exit;
   WITH cdDoGet do Begin
      close;
      RemoteServer := frmMain.DCOMcn;
      providerName := 'PGetZhangbenCW';
      commandText := 'EXECUTE GetZhangbenCW @IYea = '+quotedStr(intTOstr(IYea))+
                     ',@IkeyClient = ' + quotedStr(intTostr(ikeyClient));
      open;
      cdData.Data := Data;
      close;
      cdData.Last;
   end;
end;

procedure TfrmBookQuery.SpeedButton1Click(Sender: TObject);
begin
   IF TRIM(cxComboBox1.Text) = '财务帐本' THEN
      GetZhangbenCW(YearOf(dtPicker1.Date),ikeyClient);
   IF TRIM(cxComboBox1.Text) = '仓库帐本' THEN
      GetZhangbenCK(YearOf(dtPicker1.Date),ikeySTK,cxComboBox2.Text);
end;

procedure TfrmBookQuery.dtPicker1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   case key of
      vk_return : cxComboBox1.SetFocus;
   end;
end;

procedure TfrmBookQuery.cxComboBox1KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
   case key of
      vk_return : IF NOT cxComboBox1.DroppedDown THEN BEGIN
                     IF cxButtonEdit1.CanFocus THEN
                        cxButtonEdit1.SetFocus;
                     IF cxComboBox2.CanFocus THEN
                        cxComboBox2.SetFocus; 
                  END;
   end;
end;

procedure TfrmBookQuery.cxButtonEdit1KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
   case key of
      vk_return : IF cxButtonEdit1.Text = '' THEN
                     cxButtonEdit2.SetFocus
                  ELSE
                     cxButtonEdit1PropertiesButtonClick(sender,0);
   end;
end;

procedure TfrmBookQuery.cxButtonEdit1PropertiesButtonClick(
  Sender: TObject; AButtonIndex: Integer);
var rec: integer;
begin
   rec := GetClientData('Ccode', cxButtonEdit1.Text);
   if rec <= 0 then exit;
   if frmGetData.ShowModal = mrOk then Begin
      ClientToMaster;
      dtPicker1.SetFocus;
      SpeedButton1Click(nil);
   end;
end;

procedure TfrmBookQuery.cxButtonEdit2PropertiesButtonClick(
  Sender: TObject; AButtonIndex: Integer);
var rec: integer;
begin
   rec := GetClientData('CName', cxButtonEdit2.Text);
   if rec <= 0 then exit;
   if frmGetData.ShowModal = mrOk then Begin
      ClientToMaster;
      dtPicker1.SetFocus;
      SpeedButton1Click(nil);
   end;
end;

procedure TfrmBookQuery.cxButtonEdit2KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
   case key of
      vk_return : IF cxButtonEdit2.Text = '' THEN
                     cxButtonEdit1.SetFocus
                  ELSE
                     cxButtonEdit2PropertiesButtonClick(sender,0);
   end;
end;

procedure TfrmBookQuery.cxComboBox1Exit(Sender: TObject);
begin
   IF TRIM(cxComboBox1.Text) = '财务帐本' THEN BEGIN
      cxGridLevel1.GridView := gridCWZB;
      label4.Caption := '客户情况→';
      label2.Caption := '客户编号 = ';
      label3.Caption := '客户名称 = ';
      lbColor.Visible := false;
      label6.Visible := false;
      label7.Visible := false;
      label3.Visible := true;
      cxButtonEdit1.Visible := true;
      cxButtonEdit2.Visible := true;
      cxComboBox2.Visible := false;
      cxTextEdit1.Visible := false;
      cxTextEdit2.Visible := false;
      cxComboBox3.Visible := false;
      cxCalcEdit1.Visible := false;
      cxCalcEdit2.Visible := false;
   END;
   IF TRIM(cxComboBox1.Text) = '仓库帐本' THEN BEGIN
      cxGridLevel1.GridView := gridCKZB;
      label4.Caption := '产品情况→';
      label2.Caption := '业务类别 = ';
      label3.Caption := '产品编号 = ';
      label3.Visible := false;
      lbColor.Visible := false;
      label6.Visible := false;
      label7.Visible := false;
      cxButtonEdit1.Visible := False;
      cxButtonEdit2.Visible := false;
      cxComboBox2.Visible := true;
      cxTextEdit1.Visible := false;
      cxTextEdit2.Visible := false;
      cxComboBox3.Visible := false;
      cxCalcEdit1.Visible := false;
      cxCalcEdit2.Visible := false;
   END;
end;

procedure TfrmBookQuery.cxComboBox2KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
   case key of
      vk_return : IF NOT cxComboBox2.DroppedDown THEN BEGIN
                     cxTextEdit1.Visible := true;
                     cxTextEdit1.SetFocus;
                  END;
   end;
end;

procedure TfrmBookQuery.cxTextEdit1KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
   case key of
      vk_return : if cxComboBox3.CanFocus then
                     cxComboBox3.SetFocus;
   end;
end;

procedure TfrmBookQuery.FormResize(Sender: TObject);
begin
   GroupBox1.Width := cxGrid1.Width - GroupBox2.Width - 10;
end;

procedure TfrmBookQuery.SpeedButton2Click(Sender: TObject);
begin
   cxButtonEdit1.Clear;
   cxButtonEdit2.Clear;
   cxComboBox2.Text := '';
   cxTextEdit1.Clear;
   cxComboBox3.Text := '';
   cxCalcEdit1.Clear;
   cxCalcEdit2.Clear;
   dtPicker1.SetFocus;
end;

function TfrmBookQuery.GetClientData(SField, sFieldT: String): integer;
begin
   with frmMain.cdPub do begin
      close;
      commandText := 'select IKey,CCode 客户编号,CName 客户名称 From T_pubClient'+#13+
      'where ' + sfield +' like ''%'+sfieldT+'%''';
      open;
      fieldbyname('IKEY').Visible := False;
      Result := recordCount;
   end;
end;

procedure TfrmBookQuery.ClientToMaster;
begin
   with frmMain.cdPub do Begin
      cxButtonEdit1.text := fieldbyname('客户编号').AsString;
      cxButtonEdit2.text := fieldbyname('客户名称').AsString;
      iKeyClient := fieldbyname('Ikey').asInteger;
   end;
end;

procedure TfrmBookQuery.GetZhangBenCK(IYea, ikey: integer; clb: string);
begin
   //if iKeySTK <= 0 then exit;
   if clb = '' then exit;
   WITH cdDoGet do Begin
      close;
      RemoteServer := frmMain.DCOMcn;
      providerName := 'PGetZhangbenCK';
      colBack.Visible := true;
      colOut.Visible := true;
      IF trim(CLB) = '原材料' THEN
         commandText := 'EXECUTE GetZhangbenStock @IYea = '+quotedStr(intTOstr(IYea))+
                        ',@ccode = ' + quotedStr(cxTextEdit1.text)+
                        ',@FHD = ' + quotedStr(cxCalcEdit1.text)+
                        ',@FKD = ' + quotedStr(cxCalcEdit2.text)+
                        ',@ccolor = ' + quotedStr(cxComboBox3.text);
      IF trim(CLB) = '半成品' THEN
         commandText := 'EXECUTE GetZhangbenHGoods @IYea = '+quotedStr(intTOstr(IYea))+
                        ',@ccode = ' + quotedStr(cxTextEdit1.text)+
                        ',@CMS = ' + quotedStr(cxTextEdit2.text)+
                        ',@ccolor = ' + quotedStr(cxComboBox3.text);
      IF trim(CLB) = '成品' THEN BEGIN
         commandText := 'EXECUTE GetZhangbenGoods @IYea = '+quotedStr(intTOstr(IYea))+
                        ',@Ikey = ' + quotedStr(cxTextEdit1.text);
         colBack.Visible := False;
         colOut.Visible := false;
      END;
      open;
      cdData.Data := Data;
      close;
      cdData.Last;
   end;
end;

procedure TfrmBookQuery.SpeedButton3Click(Sender: TObject);
var iOject: integer;
begin
   if cxGridLevel1.GridView = GridCWZB Then
      iOject := 71
   Else
      iOject := 72;
   frmReport.ReportS(iOject, 0, '', cdData.Data);
end;

procedure TfrmBookQuery.cxComboBox3KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
   case key of
      vk_return : if (not cxComboBox3.DroppedDown) then
                     if cxCalcEdit1.CanFocus then
                        cxCalcEdit1.SetFocus
                     else
                     IF cxTextEdit2.CanFocus then
                        cxTextEdit2.SetFocus
                     Else
                        dtPicker1.SetFocus;
   end;
end;

procedure TfrmBookQuery.cxCalcEdit1KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
   case key of
      vk_return : if (not cxCalcEdit1.DroppedDown) and (cxCalcEdit2.CanFocus) then
                     cxCalcEdit2.SetFocus;
   end;
end;

procedure TfrmBookQuery.cxCalcEdit2KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
   case key of
      vk_return : dtPicker1.SetFocus;
   end;
end;

procedure TfrmBookQuery.cxComboBox2Exit(Sender: TObject);
begin
   IF trim(cxComboBox2.Text) = '原材料' THEN BEGIN
      label3.Visible := true;
      lbColor.Visible := true;
      label6.Visible := TRUE;
      label7.Visible := TRUE;
      cxCalcEdit1.Visible := true;
      cxCalcEdit2.Visible := true;
      cxTextEdit1.Visible := true;
      cxTextEdit2.Visible := false;
      label6.Caption := '克重 =';
      cxComboBox3.Visible := true;
   END;
   IF trim(cxComboBox2.Text) = '成品' THEN BEGIN
      label3.Visible := true;
      lbColor.Visible := true;
      label6.Visible := false;
      label7.Visible := false;
      cxCalcEdit1.Visible := FALSE;
      cxCalcEdit2.Visible := FALSE;
      cxTextEdit1.Visible := true;
      cxTextEdit2.Visible := false;
      cxComboBox3.Visible := true;
   END;
   IF trim(cxComboBox2.Text) = '半成品' THEN BEGIN
      label3.Visible := true;
      lbColor.Visible := true;
      label6.Visible := TRUE;
      label7.Visible := false;
      cxCalcEdit1.Visible := FALSE;
      cxCalcEdit2.Visible := FALSE;
      cxTextEdit1.Visible := true;
      cxTextEdit2.Visible := True;
      label6.Caption := '码数 =';
      cxComboBox3.Visible := true;
   END;
end;

procedure TfrmBookQuery.SpeedButton4Click(Sender: TObject);
begin
   CLOSE;
end;

procedure TfrmBookQuery.cxComboBox3Exit(Sender: TObject);
begin
   cbox_SetColor(cxComboBox3);
end;

procedure TfrmBookQuery.FormCreate(Sender: TObject);
begin
   cbox_GetColor(cxComboBox3);
end;

procedure TfrmBookQuery.cxTextEdit2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   case key of
      vk_return : dtPicker1.SetFocus;
   end;
end;

end.

⌨️ 快捷键说明

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