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

📄 frmdefinep.pas

📁 二次开发模块 一、条形码的批量生成
💻 PAS
字号:
unit FrmDefineP;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, dxExEdtr, dxCntner, dxTL, dxDBCtrl, dxDBGrid, StdCtrls,
  Buttons, DB, ADODB, dxDBTLCl, dxGrClEx;

type
  TFrmDefine = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    dxDBGrid1: TdxDBGrid;
    GroupBox1: TGroupBox;
    ComboBox1: TComboBox;
    sbAdd: TSpeedButton;
    sbDelete: TSpeedButton;
    BtnSave: TBitBtn;
    BtnCancel: TBitBtn;
    sbOut: TSpeedButton;
    QryIni: TADOQuery;
    dsQryIni: TDataSource;
    dxDBGrid1cNO: TdxDBGridColumn;
    sbClose: TSpeedButton;
    dxDBGrid1cPTName: TdxDBGridPopupColumn;
    dxDBGrid1cRdName: TdxDBGridPopupColumn;
    dxDBGrid1cWhName: TdxDBGridPopupColumn;
    GroupBox2: TGroupBox;
    ComboBoxVouch: TComboBox;
    dxDBGrid1cRdNameOut: TdxDBGridPopupColumn;
    dxDBGrid1cWhNameOut: TdxDBGridPopupColumn;
    procedure FormCreate(Sender: TObject);
    procedure FindType;
    procedure FormShow(Sender: TObject);
    procedure ComboBox1Click(Sender: TObject);
    procedure sbAddClick(Sender: TObject);
    procedure QryIniNewRecord(DataSet: TDataSet);
    procedure BtnSaveClick(Sender: TObject);
    procedure BtnCancelClick(Sender: TObject);
    procedure sbOutClick(Sender: TObject);
    procedure sbDeleteClick(Sender: TObject);
    procedure sbCloseClick(Sender: TObject);
    procedure dxDBGrid1cPTNameCloseUp(Sender: TObject; var Text: String;
      var Accept: Boolean);
    procedure dxDBGrid1cPTNameEditButtonClick(Sender: TObject);
    procedure dxDBGrid1cRdNameEditButtonClick(Sender: TObject);
    procedure dxDBGrid1cWhNameEditButtonClick(Sender: TObject);
    procedure dxDBGrid1cRdNameCloseUp(Sender: TObject; var Text: String;
      var Accept: Boolean);
    procedure dxDBGrid1cWhNameCloseUp(Sender: TObject; var Text: String;
      var Accept: Boolean);
    procedure GetVisible;
    procedure ComboBoxVouchClick(Sender: TObject);
    procedure dxDBGrid1cRdNameOutCloseUp(Sender: TObject; var Text: String;
      var Accept: Boolean);
    procedure dxDBGrid1cRdNameOutEditButtonClick(Sender: TObject);
    procedure dxDBGrid1cWhNameOutCloseUp(Sender: TObject; var Text: String;
      var Accept: Boolean);
    procedure dxDBGrid1cWhNameOutEditButtonClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmDefine: TFrmDefine;

implementation

uses DataDmP, SUFunctionP, FrmPopIniP;

{$R *.dfm}

procedure TFrmDefine.FindType;
begin
  QryIni.Close;
  QryIni.SQL.Clear;
  QryIni.SQL.Add('Select * from szb_ini');
  QryIni.SQL.Add('Where (cMaker='''+DataDm.Maker+''')');
  QryIni.SQL.Add(' And  (cType ='''+ComboBox1.Text+''')');
  if ComboBoxVouch.Text='采购入库单' then
     QryIni.SQL.Add(' And  (cVouch =''01'')');
  if ComboBoxVouch.Text='产成品入库单' then
     QryIni.SQL.Add(' And  (cVouch =''10'')');
  if ComboBoxVouch.Text='其它入库单' then
     QryIni.SQL.Add(' And  (cVouch =''08'')');
  if ComboBoxVouch.Text='材料出库单' then
     QryIni.SQL.Add(' And  (cVouch =''11'')');
  if ComboBoxVouch.Text='其它出库单' then
     QryIni.SQL.Add(' And  (cVouch =''09'')');
  if ComboBoxVouch.Text='调拨单' then
     QryIni.SQL.Add(' And  (cVouch =''12'')');
  QryIni.Open;
end;

procedure TFrmDefine.FormCreate(Sender: TObject);
begin
  ComboBox1.ItemIndex:=0;
  ComboBoxVouch.ItemIndex:=0;
end;

procedure TFrmDefine.FormShow(Sender: TObject);
begin
  GetVisible;
  FindType;
end;

procedure TFrmDefine.ComboBox1Click(Sender: TObject);
begin
  FindType;
end;

procedure TFrmDefine.sbAddClick(Sender: TObject);
begin
  QryIni.Append;

end;

procedure TFrmDefine.QryIniNewRecord(DataSet: TDataSet);
begin
  QryIni.FieldByName('cMaker').AsString:=DataDm.Maker;
  QryIni.FieldByName('cType').AsString:=ComboBox1.Text;

  if ComboBoxVouch.Text='采购入库单' then
     QryIni.FieldByName('cVouch').AsString:='01';
  if ComboBoxVouch.Text='产成品入库单' then
     QryIni.FieldByName('cVouch').AsString:='10';
  if ComboBoxVouch.Text='其它入库单' then
     QryIni.FieldByName('cVouch').AsString:='08';
  if ComboBoxVouch.Text='材料出库单' then
     QryIni.FieldByName('cVouch').AsString:='11';
  if ComboBoxVouch.Text='其它出库单' then
     QryIni.FieldByName('cVouch').AsString:='09';
  if ComboBoxVouch.Text='调拨单' then
     QryIni.FieldByName('cVouch').AsString:='12';
end;

procedure TFrmDefine.BtnSaveClick(Sender: TObject);
begin
  if (QryIni.State = dsEdit) or (QryIni.State = dsInsert) then
      QryIni.Post;
end;

procedure TFrmDefine.BtnCancelClick(Sender: TObject);
begin
  if (QryIni.State = dsEdit) or (QryIni.State = dsInsert) then
      QryIni.Cancel;
end;

procedure TFrmDefine.sbOutClick(Sender: TObject);
begin
  SUFunction.DBGridSaveToFile(dxDBGrid1,'方案定义.xls');
end;

procedure TFrmDefine.sbDeleteClick(Sender: TObject);
begin
    if Application.MessageBox('确定删除此条方案?','信息',MB_OKCANCEL+ MB_ICONINFORMATION + MB_DEFBUTTON2)= IDOK  Then
       begin
         QryIni.Edit;
         QryIni.Delete;
       end;
end;

procedure TFrmDefine.sbCloseClick(Sender: TObject);
begin
  Close;
end;

procedure TFrmDefine.dxDBGrid1cPTNameCloseUp(Sender: TObject;
  var Text: String; var Accept: Boolean);
begin
  if Accept then
     begin
      if not (QryIni.State =dsEdit) or (QryIni.State =dsInsert) then
         QryIni.Edit;
          Text:=FrmPopIni.QryPur.FieldByName('cPTName').AsString;
          QryIni.FieldByName('cPTCode').AsString:=FrmPopIni.QryPur.FieldByName('cPTCode').AsString;
     end;
end;

procedure TFrmDefine.dxDBGrid1cPTNameEditButtonClick(Sender: TObject);
begin
   FrmPopIni.Caption:='采购类型';
   FrmPopIni.QryPur.Close;
   FrmPopIni.QryPur.Open;
end;

procedure TFrmDefine.dxDBGrid1cRdNameEditButtonClick(Sender: TObject);
begin
   FrmPopIni.Caption:='入库类别';
   FrmPopIni.QryRD.Close;
   FrmPopIni.QryRD.Open;
end;

procedure TFrmDefine.dxDBGrid1cWhNameEditButtonClick(Sender: TObject);
begin
   FrmPopIni.Caption:='仓库';
   FrmPopIni.QryWH.Close;
   FrmPopIni.QryWH.Open;
end;

procedure TFrmDefine.dxDBGrid1cRdNameCloseUp(Sender: TObject;
  var Text: String; var Accept: Boolean);
begin
  if Accept then
     begin
      if not (QryIni.State =dsEdit) or (QryIni.State =dsInsert) then
         QryIni.Edit;
         Text:=FrmPopIni.QryRD.FieldByName('cRdName').AsString;
         QryIni.FieldByName('cRdCode').AsString:=FrmPopIni.QryRD.FieldByName('cRdCode').AsString;
     end;
end;

procedure TFrmDefine.dxDBGrid1cWhNameCloseUp(Sender: TObject;
  var Text: String; var Accept: Boolean);
begin
  if Accept then
     begin
      if not (QryIni.State =dsEdit) or (QryIni.State =dsInsert) then
         QryIni.Edit;
         Text:=FrmPopIni.QryWH.FieldByName('cWhName').AsString;
         QryIni.FieldByName('cWhCode').AsString:=FrmPopIni.QryWH.FieldByName('cWhCode').AsString;
         QryIni.FieldByName('cNO').AsString:=FrmPopIni.QryWH.FieldByName('cWhCode').AsString;
     end;
end;

procedure TFrmDefine.GetVisible;
begin
  if ComboBoxVouch.Text='采购入库单' then
    begin
      dxDBGrid1cPTName.Visible:=False;
      dxDBGrid1cRdName.Visible:=False;
      dxDBGrid1cRdNameOut.Visible:=False;
      dxDBGrid1cWhName.Visible:=True;
      dxDBGrid1cWhNameOut.Visible:=False;
      ComboBox1.Clear;
      ComboBox1.Items.Add('无上游单据');      
      ComboBox1.Items.Add('采购订单');
      ComboBox1.ItemIndex:=0;
    end;
  if ComboBoxVouch.Text='产成品入库单' then
    begin
      dxDBGrid1cPTName.Visible:=False;
      dxDBGrid1cRdName.Visible:=True;
      dxDBGrid1cWhName.Visible:=True;
      dxDBGrid1cRdNameOut.Visible:=False;
      dxDBGrid1cWhNameOut.Visible:=False;
      ComboBox1.Clear;
      ComboBox1.Items.Add('无上游单据');
      ComboBox1.Items.Add('生产订单');

      ComboBox1.ItemIndex:=0;
    end;
  if ComboBoxVouch.Text='其它入库单' then
    begin
      dxDBGrid1cPTName.Visible:=False;
      dxDBGrid1cRdName.Visible:=True;
      dxDBGrid1cWhName.Visible:=True;
      dxDBGrid1cRdNameOut.Visible:=False;
      dxDBGrid1cWhNameOut.Visible:=False;
      ComboBox1.Clear;
      ComboBox1.Items.Add('无上游单据');
      ComboBox1.ItemIndex:=0;
    end;
  if ComboBoxVouch.Text='材料出库单' then
    begin
      dxDBGrid1cPTName.Visible:=False;
      dxDBGrid1cRdName.Visible:=False;
      dxDBGrid1cWhName.Visible:=True;
      dxDBGrid1cRdNameOut.Visible:=True;
      dxDBGrid1cWhNameOut.Visible:=False;
      ComboBox1.Clear;
      ComboBox1.Items.Add('无上游单据');
      ComboBox1.Items.Add('生产订单');
      ComboBox1.ItemIndex:=0;
    end;

  if ComboBoxVouch.Text='其它出库单' then
    begin
      dxDBGrid1cPTName.Visible:=False;
      dxDBGrid1cRdName.Visible:=False;
      dxDBGrid1cWhName.Visible:=True;
      dxDBGrid1cRdNameOut.Visible:=True;
      dxDBGrid1cWhNameOut.Visible:=False;
      ComboBox1.Clear;
      ComboBox1.Items.Add('无上游单据');
      ComboBox1.ItemIndex:=0;
    end;
  if ComboBoxVouch.Text='调拨单' then
    begin
      dxDBGrid1cPTName.Visible:=False;
      dxDBGrid1cRdName.Visible:=True;
      dxDBGrid1cWhName.Visible:=True;
      dxDBGrid1cRdNameOut.Visible:=True;
      dxDBGrid1cWhNameOut.Visible:=True;
      ComboBox1.Clear;
      ComboBox1.Items.Add('无上游单据');
      ComboBox1.ItemIndex:=0;
    end;
end;

procedure TFrmDefine.ComboBoxVouchClick(Sender: TObject);
begin
 GetVisible;
 FindType;
end;

procedure TFrmDefine.dxDBGrid1cRdNameOutCloseUp(Sender: TObject;
  var Text: String; var Accept: Boolean);
begin
  if Accept then
     begin
      if not (QryIni.State =dsEdit) or (QryIni.State =dsInsert) then
         QryIni.Edit;
         Text:=FrmPopIni.QryRdOut.FieldByName('cRdName').AsString;
         QryIni.FieldByName('cRdCodeOut').AsString:=FrmPopIni.QryRdOut.FieldByName('cRdCode').AsString;
     end;
end;

procedure TFrmDefine.dxDBGrid1cRdNameOutEditButtonClick(Sender: TObject);
begin
   FrmPopIni.QryRdOut.Close;
   FrmPopIni.QryRdOut.Open;
end;

procedure TFrmDefine.dxDBGrid1cWhNameOutCloseUp(Sender: TObject;
  var Text: String; var Accept: Boolean);
begin
  if Accept then
     begin
      if not (QryIni.State =dsEdit) or (QryIni.State =dsInsert) then
         QryIni.Edit;
         Text:=FrmPopIni.QryWH.FieldByName('cWhName').AsString;
         QryIni.FieldByName('cWhCodeOut').AsString:=FrmPopIni.QryWH.FieldByName('cWhCode').AsString;
//         QryIni.FieldByName('cNO').AsString:=FrmPopIni.QryWH.FieldByName('cWhCode').AsString;
     end;
end;

procedure TFrmDefine.dxDBGrid1cWhNameOutEditButtonClick(Sender: TObject);
begin
   FrmPopIni.Caption:='仓库';
   FrmPopIni.QryWH.Close;
   FrmPopIni.QryWH.Open;
end;

end.

⌨️ 快捷键说明

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