📄 unit_rubb_incard.~pas
字号:
unit Unit_Rubb_InCard;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask, DBCtrls, ExtCtrls, Grids, DBGrids, Db, DBTables, Buttons;
type
TForm_Rubb_InCard = class(TForm)
Tab_InCard: TTable;
DBGrid1: TDBGrid;
Qry_exe: TQuery;
DS_InCard: TDataSource;
DS_Show: TDataSource;
Qry_OutCard: TQuery;
BitBtn_Show: TBitBtn;
BitBtn2: TBitBtn;
BitBtn_Ins: TBitBtn;
Panel12: TPanel;
Panel2: TPanel;
Panel3: TPanel;
BitBtn_Post: TBitBtn;
Panel1: TPanel;
BitBtn_Cancel: TBitBtn;
BitBtn_Del: TBitBtn;
ComboBox1: TComboBox;
Query1: TQuery;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormKeyPress(Sender: TObject; var Key: Char);
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
procedure DBGrid1ColEnter(Sender: TObject);
procedure DBGrid1ColExit(Sender: TObject);
procedure BitBtn_ShowClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Edit_RubbChange(Sender: TObject);
procedure BitBtn_InsClick(Sender: TObject);
procedure BitBtn_PostClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BitBtn_CancelClick(Sender: TObject);
procedure BitBtn_DelClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure Tab_InCardAfterPost(DataSet: TDataSet);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
f_In,f_1,f_2,f_3,f_stock,f_yk:real;
s_Rubb:string;
public
{ Public declarations }
procedure zdyshowRubbName();
end;
var
Form_Rubb_InCard: TForm_Rubb_InCard;
implementation
uses UnitDM, UnitQueryID;
{$R *.DFM}
procedure TForm_Rubb_InCard.zdyshowRubbName();
begin
with Query1 do
begin
close;
sql.Clear;
sql.add('delete from 炼胶台帐 where 胶料名称 is null ');
execsql;
end; //with
ComboBox1.Clear;
with qry_exe do
begin
close;
sql.Clear;
sql.add('select 胶料名称 from 炼胶台帐 group by 胶料名称 ');
open;
while not eof do
begin
ComboBox1.Items.Add(fieldbyname('胶料名称').asstring);
next;
end; //while
end; //with
ComboBox1.ItemIndex:=0;
end;
procedure TForm_Rubb_InCard.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
BitBtn_Show.Enabled:=true;
BitBtn_Ins.Enabled:=true;
Tab_Incard.Cancel;
end;
procedure TForm_Rubb_InCard.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);
end; //if
end;
procedure TForm_Rubb_InCard.DBGrid1KeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 then
begin
with DbGrid1 do
begin
selectedindex:=selectedindex + 1;
end; //with
end;//if
end;
procedure TForm_Rubb_InCard.DBGrid1ColEnter(Sender: TObject);
begin
if DBGrid1.SelectedField.FieldName = '胶料名称' then
begin
DBGrid1.SelectedField.Asstring:= s_Rubb ;
end;//if
if DBGrid1.SelectedField.FieldName = '日期' then
DBGrid1.SelectedField.asdatetime:= date ;
if DBGrid1.SelectedField.FieldName = '合计' then
begin
f_in:=Tab_InCard.fieldbyname('入库数量').asfloat;
f_1:=Tab_InCard.fieldbyname('甲班领料').asfloat;
f_2:=Tab_InCard.fieldbyname('乙班领料').asfloat;
f_3:=Tab_InCard.fieldbyname('丙班领料').asfloat;
f_yk:=Tab_InCard.fieldbyname('盈亏').asfloat;
DBGrid1.SelectedField.AsFloat:= f_1+ f_2+ f_3 ;
end; //if
if DBGrid1.SelectedField.FieldName = '领胶人' then
begin
FrmcommqueryID.PageControl1.ActivePageIndex:=0;
FrmcommqueryID.ActiveControl:=FrmcommqueryID.estaffID;
if FrmcommqueryID.showmodal=mrok then
DBGrid1.SelectedField.Asstring:=FrmcommqueryID.query3.fieldbyname('staffname').asstring;
end;
if DBGrid1.SelectedField.FieldName = '送胶人' then
begin
FrmcommqueryID.PageControl1.ActivePageIndex:=0;
FrmcommqueryID.ActiveControl:=FrmcommqueryID.estaffID;
if FrmcommqueryID.showmodal=mrok then
DBGrid1.SelectedField.Asstring:=FrmcommqueryID.query3.fieldbyname('staffname').asstring;
end;
if DBGrid1.SelectedField.FieldName = '结存' then
begin
f_in:=Tab_InCard.fieldbyname('入库数量').asfloat;
f_1:=Tab_InCard.fieldbyname('甲班领料').asfloat;
f_2:=Tab_InCard.fieldbyname('乙班领料').asfloat;
f_3:=Tab_InCard.fieldbyname('丙班领料').asfloat;
f_yk:=Tab_InCard.fieldbyname('盈亏').asfloat;
DBGrid1.SelectedField.AsFloat:=f_stock+ f_In- f_1- f_2- f_3+ f_yk ;
BitBtn_Post.Enabled:=true;
end; //if
end;
procedure TForm_Rubb_InCard.DBGrid1ColExit(Sender: TObject);
begin
// f_stock:=100;
if DBGrid1.SelectedField.FieldName = '入库数量' then
f_In:=DBGrid1.SelectedField.asfloat;
if DBGrid1.SelectedField.FieldName = '甲班领料' then
f_1:=DBGrid1.SelectedField.asfloat;
if DBGrid1.SelectedField.FieldName = '乙班领料' then
f_2:=DBGrid1.SelectedField.asfloat;
if DBGrid1.SelectedField.FieldName = '丙班领料' then
f_3:=DBGrid1.SelectedField.asfloat;
if DBGrid1.SelectedField.FieldName = '盈亏' then
f_yk:=DBGrid1.SelectedField.asfloat;
end;
procedure TForm_Rubb_InCard.BitBtn_ShowClick(Sender: TObject);
begin
if ComboBox1.text = '' then
begin
showmessage('请填写胶料名称!');
exit;
end; //if
with Tab_InCard do
begin
Tab_InCard.Cancel;
Tab_InCard.Filtered:=true;
Tab_InCard.Filter:=format('胶料名称 = ''%s''',[ComboBox1.text]);
Tab_InCard.open;
Tab_InCard.last;
f_Stock:=fieldbyname('结存').asfloat;
s_Rubb:=ComboBox1.text;
end;// with
BitBtn_Ins.Enabled:=true;
BitBtn_Del.Enabled:=true;
end;
procedure TForm_Rubb_InCard.FormCreate(Sender: TObject);
begin
f_Stock:=0;
end;
procedure TForm_Rubb_InCard.Edit_RubbChange(Sender: TObject);
begin
with Qry_Exe do
begin
close;
sql.clear;
sql.add('select * from 原材料字典 where 简称 = :v_index ');
parambyname('v_index').asstring:=ComboBox1.text;
open;
if recordcount = 0 then exit;
ComboBox1.text:=fieldbyname('材料名称').asstring;
end;//with
end;
procedure TForm_Rubb_InCard.BitBtn_InsClick(Sender: TObject);
begin
BitBtn_Show.Enabled:=false;
BitBtn_Del.Enabled:=false;
BitBtn_Ins.Enabled:=false;
DBGrid1.Enabled:=true;
DBGrid1.SetFocus;
Tab_InCard.last;
f_Stock:=Tab_InCard.fieldbyname('结存').asfloat;
s_Rubb:=ComboBox1.text;
Tab_InCard.append;
DBGrid1.SelectedIndex:=1;
BitBtn_Show.Enabled:=false;
end;
procedure TForm_Rubb_InCard.BitBtn_PostClick(Sender: TObject);
begin
if (dm.zdyGetjiaoCheckDate >= Tab_InCard.fieldbyname('日期').asdatetime) then
begin
showmessage('您选择的结帐日期早于上次结帐日期!'+#13+#13+'上次结帐日期是:'+datetostr(dm.zdyGetjiaoCheckDate));
// showmodal;
//frmProdMain.Visible:=true;
exit;
end; // if
BitBtn_Post.Enabled:=false;
BitBtn_Show.Enabled:=true;
BitBtn_Del.Enabled:=true;
DBGrid1.Enabled:=false;
BitBtn_Ins.Enabled:=true;
Tab_InCard.post;
zdyshowRubbName;
end;
procedure TForm_Rubb_InCard.FormShow(Sender: TObject);
begin
BitBtn_Post.Enabled:=false;
BitBtn_Ins.Enabled:=false;
DBGrid1.Enabled:=false;
BitBtn_Del.Enabled:=false;
BitBtn_Ins.Enabled:=false;
end;
procedure TForm_Rubb_InCard.BitBtn_CancelClick(Sender: TObject);
begin
BitBtn_Post.Enabled:=false;
BitBtn_Show.Enabled:=true;
BitBtn_Del.Enabled:=true;
DBGrid1.Enabled:=false;
Tab_InCard.Cancel;
BitBtn_Ins.Enabled:=true;
end;
procedure TForm_Rubb_InCard.BitBtn_DelClick(Sender: TObject);
begin
if messagedlg('将删除最后一笔帐,要继续吗?',mtwarning,[mbyes,mbno],0) = mryes then
begin
Tab_InCard.Last;
Tab_InCard.Delete;
end; //if
end;
procedure TForm_Rubb_InCard.BitBtn1Click(Sender: TObject);
begin
Tab_InCard.Append;
end;
procedure TForm_Rubb_InCard.BitBtn3Click(Sender: TObject);
begin
Tab_InCard.post;
end;
procedure TForm_Rubb_InCard.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure TForm_Rubb_InCard.Tab_InCardAfterPost(DataSet: TDataSet);
begin
if Tab_InCard.FieldByName('胶料名称').asstring = '' then
begin
Tab_InCard.cancel;
showmessage('放弃提交');
end; //
end;
procedure TForm_Rubb_InCard.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
try
if ((Key>57) and (Key<48)) or ((Key<96) and (Key>110)) then
//exit;
// if Key=190 then
exit;
except
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -