📄 materiel_stock.pas
字号:
unit Materiel_Stock;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Inherit, ImgList, ComCtrls, ToolWin, StdCtrls, Buttons, Grids,
Mask, DBCtrls, ExtCtrls;
type
TMateriel_StockFrm = class(TInheritFrm)
Panel2: TPanel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Edit1: TEdit;
Panel1: TPanel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label9: TLabel;
Label7: TLabel;
Label8: TLabel;
Label3: TLabel;
Label2: TLabel;
Label1: TLabel;
DateTime: TDateTimePicker;
SpeedButton1: TSpeedButton;
Panel3: TPanel;
Materiel_StockSG: TStringGrid;
Label10: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
procedure ToolButton6Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure DateTimeCloseUp(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure Edit9Exit(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Materiel_StockFrm: TMateriel_StockFrm;
time:string;
n:integer=0;
Scheme_AllNum:integer;
Scheme_AllPrice:integer;
SQNo:integer;
implementation
uses DataModule,MaterielSelect,Materiel_S_Modfy,MS_SQ;
{$R *.dfm}
procedure TMateriel_StockFrm.ToolButton6Click(Sender: TObject);
begin
inherited;
Materiel_StockFrm.Close;
n:=0;
end;
procedure TMateriel_StockFrm.FormCreate(Sender: TObject);
begin
inherited;
with Materiel_StockSG do
begin
Materiel_StockSG.ColCount:=9;
cells[0,0]:='序号';
cells[1,0]:='材料名称';
cells[2,0]:='材料编号';
cells[3,0]:='材料规格';
cells[4,0]:='计量单位';
cells[5,0]:='采购数量';
cells[6,0]:='单价';
cells[7,0]:='金额';
cells[8,0]:='备注';
end;
end;
procedure TMateriel_StockFrm.DateTimeCloseUp(Sender: TObject);
begin
inherited;
time:=formatDatetime('yyyy-m-d',DateTime.Date); //比较前后选择日期
with DM.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Select * From Materiel_Stock where S_Materiel_Time='+'#'+time+'#'+''+' and'+''+' S_Materiel_ID='+'1');
Open;
end;
Edit3.Text:=formatDatetime('yyyymmdd',DateTime.Date)+'00'+inttostr(DM.ADOQuery1.RecordCount+1);
end;
procedure TMateriel_StockFrm.SpeedButton1Click(Sender: TObject);
begin
inherited;
Application.CreateForm(TMaterielSelectFrm,MaterielSelectFrm);
MaterielSelectFrm.Left:=Materiel_StockFrm.Left+SpeedButton1.Left; //选择窗口显示位置
MaterielSelectFrm.Top:=Materiel_StockFrm.Top+SpeedButton1.Top;
MaterielSelectFrm.ShowModal;
if MaterielSelectFrm.ModalResult = mrOk then //用户确定选择的日期
begin
Edit5.Text:=MaterielSelectFrm.M_Name;
Edit6.Text:=MaterielSelectFrm.M_ID;
Edit7.Text:=MaterielSelectFrm.M_Standard;
Edit8.Text:=MaterielSelectFrm.M_Unit;
Edit10.Text:=MaterielSelectFrm.M_Pirce;
end;
end;
procedure TMateriel_StockFrm.Edit9Exit(Sender: TObject);
var
i:integer;
flag:integer;
begin
inherited;
n:=0;
Scheme_AllNum:=0;
Scheme_AllPrice:=0;
if (Edit9.Text<>'') and (Edit10.Text<>'') then
begin
for i:=1 to Materiel_StockSG.RowCount do
if Edit6.Text=Materiel_StockSG.Cells[2,i] then
begin
Materiel_StockSG.Cells[5,i]:=inttostr(strtoint(Materiel_StockSG.Cells[5,i])+strtoint(Edit9.Text));
Materiel_StockSG.Cells[7,i]:=inttostr(strtoint(Materiel_StockSG.Cells[5,i])*strtoint(Materiel_StockSG.Cells[6,i]));
flag:=0;
break;
end
else
begin
n:=n+1;
flag:=1;
end;
if flag=1 then
with Materiel_StockSG do
begin
Materiel_StockSG.RowCount:=n+1;
cells[0,n]:=inttostr(n);
cells[1,n]:=Edit5.Text;
cells[2,n]:=Edit6.Text;
cells[3,n]:=Edit7.Text;
cells[4,n]:=Edit8.Text;
Cells[5,n]:=Edit9.Text;
cells[6,n]:=Edit10.Text;
cells[7,n]:=inttostr(strtoint(Cells[5,n])*strtoint(Cells[6,n]));
end;
for i:=1 to Materiel_StockSG.RowCount-1 do
begin
Scheme_AllNum:=Scheme_AllNum+strtoint(Materiel_StockSG.Cells[5,i]);
Scheme_AllPrice:=Scheme_AllPrice+strtoint(Materiel_StockSG.Cells[7,i]);
end;
Edit1.Text:=inttostr(Scheme_AllNum);
Edit2.Text:=inttostr(Scheme_AllPrice);
end;
Edit5.Text:='';
Edit6.Text:='';
Edit7.Text:='';
Edit8.Text:='';
Edit9.Text:='';
Edit10.Text:='';
end;
procedure TMateriel_StockFrm.ToolButton1Click(Sender: TObject);
var
i,j:integer;
begin
inherited;
with Materiel_StockSG do
for i:=1 to Materiel_StockSG.RowCount-1 do
begin
DM.AT_Materiel_Stock.Insert;
DM.AT_Materiel_Stock['S_Materiel_Time']:=time;
DM.AT_Materiel_Stock['S_Credence_ID']:=Edit3.Text;
DM.AT_Materiel_Stock['S_Credence_OID']:=Edit4.Text;
DM.AT_Materiel_Stock['S_Materiel_ID']:=Cells[0,i];
DM.AT_Materiel_Stock['Materiel_Name']:=Cells[1,i];
DM.AT_Materiel_Stock['Materiel_ID']:=Cells[2,i];
DM.AT_Materiel_Stock['Materiel_Standard']:=Cells[3,i];
DM.AT_Materiel_Stock['Materiel_Unit']:=Cells[4,i];
DM.AT_Materiel_Stock['S_Materiel_Num']:=Cells[5,i];
DM.AT_Materiel_Stock['Materiel_Price']:=Cells[6,i];
DM.AT_Materiel_Stock['S_Materiel_Price']:=Cells[7,i];
DM.AT_Materiel_Stock['S_Materiel_Memo']:=Cells[8,i];
DM.AT_Materiel_Stock['S_Materiel_ALLPrice']:=Edit2.Text;
DM.AT_Materiel_Stock.Post;
end;
if Application.MessageBox('是否要打印预览?','提示对话框',MB_OKCANCEL)=mrok then
begin
with DM.AQ_Materiel_Stock do
begin
close;
SQL.Clear;
SQL.Add('Select * from Materiel_Stock where S_Credence_ID='+''''+Edit3.Text+'''');
open;
end;
if DM.AQ_Materiel_Stock.RecordCount=0 then
Application.MessageBox('没有数据要打印!','提示对话框',MB_OK);
DM.RP_Scheme.ProjectFile:='.\Materiel_Stock.rav';
DM.RP_Scheme.Open;
DM.RP_Scheme.Execute;
DM.RP_Scheme.Close;
end;
Application.MessageBox('数据保存完成!','提示对话框',MB_OK);
for i:=0 to 10 do
for j:=1 to 6 do
Materiel_StockSG.Cells[i,j]:='';
Edit1.Text:='';
Edit2.Text:='';
Materiel_StockSG.RowCount:=1;
end;
procedure TMateriel_StockFrm.ToolButton2Click(Sender: TObject);
begin
inherited;
Application.CreateForm(TMateriel_S_ModfyFrm,Materiel_S_ModfyFrm);
Materiel_S_ModfyFrm.Show;
end;
procedure TMateriel_StockFrm.ToolButton4Click(Sender: TObject);
begin
inherited;
Application.CreateForm(TMS_SQFrm,MS_SQFrm);
MS_SQFrm.Show;
end;
procedure TMateriel_StockFrm.ToolButton5Click(Sender: TObject);
begin
inherited;
DM.AT_Materiel_Stock.Active:=false;
Materiel_StockFrm.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -