📄 frmdefinep.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 + -