📄 begin_goods.~pas
字号:
unit Begin_Goods;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, XPMenu, ExtCtrls, Buttons, StdCtrls, Grids, DBGrids, ComCtrls;
type
Tfrm_Begin_Goods = class(TForm)
XPMenu1: TXPMenu;
Panel1: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
Panel2: TPanel;
Panel3: TPanel;
SpeedButton5: TSpeedButton;
GroupBox1: TGroupBox;
SpeedButton6: TSpeedButton;
Cmd_Goods_Cancel: TSpeedButton;
SpeedButton7: TSpeedButton;
Panel4: TPanel;
Panel5: TPanel;
GroupBox2: TGroupBox;
StatusBar1: TStatusBar;
TabSheet4: TTabSheet;
Panel6: TPanel;
Panel7: TPanel;
SpeedButton9: TSpeedButton;
GroupBox3: TGroupBox;
SpeedButton15: TSpeedButton;
SpeedButton16: TSpeedButton;
Panel8: TPanel;
Panel9: TPanel;
GroupBox4: TGroupBox;
StatusBar2: TStatusBar;
Panel10: TPanel;
Panel11: TPanel;
GroupBox5: TGroupBox;
SpeedButton23: TSpeedButton;
SpeedButton24: TSpeedButton;
Panel12: TPanel;
Panel13: TPanel;
GroupBox6: TGroupBox;
Panel14: TPanel;
Panel15: TPanel;
GroupBox7: TGroupBox;
SpeedButton31: TSpeedButton;
SpeedButton32: TSpeedButton;
Panel16: TPanel;
Panel17: TPanel;
GroupBox8: TGroupBox;
SpeedButton10: TSpeedButton;
SpeedButton11: TSpeedButton;
Panel18: TPanel;
Cmd_Delete: TSpeedButton;
Cmd_Add: TSpeedButton;
StringGrid1: TStringGrid;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Label1: TLabel;
SpeedButton1: TSpeedButton;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Cmd_Goods_CancelClick(Sender: TObject);
procedure SpeedButton15Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure wwDBGrid1DblClick(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton9Click(Sender: TObject);
procedure Cmd_AddClick(Sender: TObject);
procedure Cmd_DeleteClick(Sender: TObject);
procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure StringGrid1DblClick(Sender: TObject);
procedure StringGrid1SetEditText(Sender: TObject; ACol, ARow: Integer;
const Value: String);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
procedure DeleteRow(Row:Integer);
public
{ Public declarations }
end;
var
frm_Begin_Goods: Tfrm_Begin_Goods;
Pcol,Prow:integer;
Do_Flag:Boolean;
implementation
uses Goods_Information, Begin_Edit, Money_Edit, func, Storage_Select,
Goods_Check, Data;
{$R *.dfm}
procedure Tfrm_Begin_Goods.DeleteRow(Row:Integer);
var
i : integer;
begin
//最后一列直接删除
if (Row = StringGrid1.RowCount-1) and (row >1) then
StringGrid1.RowCount := StringGrid1.RowCount - 1;
//自动上移
if (Row < StringGrid1.RowCount) and (Row > StringGrid1.FixedRows-1) then
begin
if Row < StringGrid1.RowCount - 1 then
begin
for i := Row to StringGrid1.RowCount-1 do
StringGrid1.Rows[i] := StringGrid1.Rows[i+1];
StringGrid1.RowCount :=StringGrid1.RowCount - 1;
end;
end;
end;
procedure Tfrm_Begin_Goods.FormShow(Sender: TObject);
begin
Do_Flag:=False;
frm_Begin_Goods.Left:=170;
frm_Begin_Goods.Top:=40;
if begin_build_str='begin_build_goods' then
begin
StringGrid1.ColCount:=8;
StringGrid1.RowCount:=2;
StringGrid1.Cells[0,0]:='行号';
StringGrid1.Cells[1,0]:='仓库编号';
StringGrid1.Cells[2,0]:='仓库名称';
StringGrid1.Cells[3,0]:='商品编号';
StringGrid1.Cells[4,0]:='商品全名';
StringGrid1.Cells[5,0]:='成本单价';
StringGrid1.Cells[6,0]:='库存数量';
StringGrid1.Cells[7,0]:='库存金额';
end;
end;
procedure Tfrm_Begin_Goods.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
frm_data.Client_Stock_States.Active:=False;
frm_data.Client_Stock_States.Close;
Action:=Cafree;
end;
procedure Tfrm_Begin_Goods.Cmd_Goods_CancelClick(Sender: TObject);
var
i,k:integer;
begin
if Do_Flag=True then
begin
for i:=1 to StringGrid1.RowCount-1 do
begin
if (StringGrid1.Cells[1,i]='') or (StringGrid1.Cells[2,i]='') then
begin
if Application.MessageBox('操作错误,【仓库编号或仓库名称】不能为空!'+#13#10#13+'确定废弃退出吗?请确认!',pchar(application.Title),mb_OKCancel)=IDOK then
begin
Do_Flag:=False;
Exit;
end;
end;
if (StringGrid1.Cells[3,i]='') or (StringGrid1.Cells[4,i]='') then
begin
if Application.MessageBox('操作错误,【商品编号或商品名称】不能为空!'+#13#10#13+'确定废弃退出吗?请确认!',pchar(application.Title),mb_OKCancel)=IDOK then
begin
Do_Flag:=False;
Exit;
end;
end;
if StringGrid1.Cells[5,i]='' then
begin
if Application.MessageBox('操作错误,【商品成本价】不能为空!'+#13#10#13+'确定废弃退出吗?请确认!',pchar(application.Title),mb_OKCancel)=IDOK then
begin
Do_Flag:=False;
Exit;
end;
end;
if StringGrid1.Cells[6,i]='' then
begin
if Application.MessageBox('操作错误,【库存数量】不能为空!'+#13#10#13+'确定废弃退出吗?请确认!',pchar(application.Title),mb_OKCancel)=IDOK then
begin
Do_Flag:=False;
Exit;
end;
end;
end;
if RadioButton1.Checked=True then
begin
for K:=1 to StringGrid1.RowCount-1 do
begin
with frm_data.ClientDataSet_Add do
begin
Commandtext:='';
Commandtext:='Select * from [Stock_States] where Storage_NO='''+Trim(StringGrid1.Cells[1,k])+''' and Goods_NO='''+Trim(StringGrid1.Cells[1,k])+'''';
try
Open;
if frm_data.ClientDataSet_Add.RecordCount>0 then
begin
Application.MessageBox('操作错误,数据表【库存状况表】已经存在了相同的记录!'+#13#10#13+'请检查远程服务器连接是否正常?请确认!',Pchar(Application.Title),Mb_IconWarning);
Exit;
end
else
begin
with frm_data.Client_Stock_States do
begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -