📄 fjxc_un.pas
字号:
unit fjxc_un;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, fjxcbase_un, ADODB, DB, ActnList, bsMessages, bsSkinData,
BusinessSkinForm, bsSkinCtrls, bsSkinGrids, bsDBGrids, ExtCtrls,
StdCtrls, bsdbctrls, Mask, bsSkinBoxCtrls,StrUtils;
type
Tfjxc_frm = class(Tfjxcbase_frm)
bssl_1: TbsSkinDBText;
bsSkinStdLabel8: TbsSkinStdLabel;
bsSkinStdLabel7: TbsSkinStdLabel;
bsSkinStdLabel5: TbsSkinStdLabel;
bsSkinStdLabel17: TbsSkinStdLabel;
bsSkinDBLookupComboBox6: TbsSkinDBLookupComboBox;
bsSkinDBLookupComboBox5: TbsSkinDBLookupComboBox;
bsSkinStdLabel9: TbsSkinStdLabel;
bsSkinStdLabel12: TbsSkinStdLabel;
bsSkinDBEdit3: TbsSkinDBEdit;
bsSkinEdit3: TbsSkinEdit;
bsSkinStdLabel13: TbsSkinStdLabel;
bsSkinDBLookupComboBox7: TbsSkinDBLookupComboBox;
bsSkinDBLookupComboBox8: TbsSkinDBLookupComboBox;
ds_fxlx: TDataSource;
tbl_fxlx: TADOTable;
ds_yg: TDataSource;
tbl_yg: TADOTable;
bsSkinDBEdit1: TbsSkinDBEdit;
bsdb_1: TbsSkinEdit;
bsSkinDBEdit2: TbsSkinDBEdit;
bsSkinEdit2: TbsSkinEdit;
sp_checkfj: TADOStoredProc;
bsSkinStdLabel6: TbsSkinStdLabel;
bsSkinStdLabel14: TbsSkinStdLabel;
bsSkinStdLabel15: TbsSkinStdLabel;
procedure acModifyExecute(Sender: TObject);
procedure ds_fxlxDataChange(Sender: TObject; Field: TField);
procedure acSaveExecute(Sender: TObject);
procedure acDeleteExecute(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure acNewExecute(Sender: TObject);
private
procedure setsta();
{ Private declarations }
public
{ Public declarations }
end;
var
fjxc_frm: Tfjxc_frm;
implementation
{$R *.dfm}
procedure Tfjxc_frm.setsta();
var i:integer;
begin
for i:=0 to ComponentCount-1 do
if Components[i] is TbsSkinDBLookupComboBox then
TbsSkinDBLookupComboBox(Components[i]).KeyValue:=null;
bsSkinPanel3.Enabled:=false;
bsSkinCheckRadioBox2.Checked:=true;
acNew.Enabled:=true;
acModify.Enabled:=true;
acDelete.Enabled:=true;
acSave.Enabled:=false;
acCancel.Enabled:=false;
bsSkinGroupBox3.Enabled:=true;
bsSkinDBGrid2.Enabled:=true;
bsSkinStdLabel15.Caption:='';
exit;
end;
procedure Tfjxc_frm.acModifyExecute(Sender: TObject);
begin
inherited;
bsSkinStdLabel17.Caption:=bssl_1.Caption;
bsSkinDBLookupComboBox8.KeyValue:=bsSkinDBLookupComboBox7.KeyValue;
bsSkinDBLookupComboBox6.KeyValue:=bsSkinDBLookupComboBox5.KeyValue;
bsSkinEdit3.Text:=bsSkinDBEdit3.Text;
bsdb_1.Text:=bsSkinDBEdit1.Text;
bsSkinEdit2.Text:=bsSkinDBEdit2.Text;
bsdb_1.Enabled:=False;
end;
procedure Tfjxc_frm.ds_fxlxDataChange(Sender: TObject; Field: TField);
begin
inherited;
if tbl_fxlx.FieldValues['fid']='Z'then
begin
bsSkinEdit2.Enabled:=false;
bsSkinEdit2.Text:=IntToStr(0);
end
else
begin
bsSkinEdit2.Enabled:=true;
end;
end;
procedure Tfjxc_frm.acSaveExecute(Sender: TObject);
begin
if ((act=1)and( StrToInt(bsdb_1.Text)<StrToInt(bsSkinStdLabel15.Caption)))or (act=2)then
begin
with spsave.Parameters do
begin
ParamValues['@act']:=act;
ParamValues['@pjzl']:=bsSkinStdLabel4.Caption;
//ParamValues['@gt']:=tbl_gt.FieldValues['fid'];
ParamValues['@num']:=bsdb_1.Text;
ParamValues['@mon']:=bsSkinEdit2.Text;
ParamValues['@date']:=Date();
ParamValues['@person']:=tbl_yg.FieldValues['fid'];
ParamValues['@fxlx']:=tbl_fxlx.FieldValues['fid'];
ParamValues['@memo']:=bsSkinEdit3.Text;
ParamValues['@fjxcid']:= bsSkinStdLabel17.Caption;
end;
inherited;
end
else
begin
bsSkinMessage1.MessageDlg('本类型附件没有存货,'+#13+'引起原因:'+#13+'原来没有对每一个附件进行领货结帐操作,'+#13+'补求方法:'+#13+'重新添加入库记录,'+#13+'否则不允许操作',mtWarning,[mbYes],0);
setsta();
end;
end;
procedure Tfjxc_frm.acDeleteExecute(Sender: TObject);
begin
spsave.Parameters.ParamValues['@act']:=3;
spsave.Parameters.ParamValues['@fjxcid']:=bssl_1.caption;
inherited;
end;
procedure Tfjxc_frm.FormCreate(Sender: TObject);
begin
inherited;
tbl_fxlx.Open;
tbl_yg.Open;
end;
procedure Tfjxc_frm.acNewExecute(Sender: TObject);
begin
inherited;
bsSkinStdLabel17.Caption:='';
bsdb_1.Enabled:=true;
if LeftStr(sp_fjlx.Parameters.ParamValues['@OutStr'],2)='PZ' then
begin
sp_checkfj.Parameters.ParamValues['@fpjzl']:=sp_fjlx.Parameters.ParamValues['@OutStr'];
sp_checkfj.ExecProc;
bsSkinStdLabel15.Caption:= sp_checkfj.Parameters.ParamValues['@OUtnumber'];
if sp_checkfj.Parameters.ParamValues['@OUtnumber']<=0 then
begin
if bsSkinMessage1.MessageDlg('本类型附件没有存货,'+#13+'引起原因:'+#13+'原来没有对每一个附件进行领货结帐操作,'+#13+'补求方法:'+#13+'重新添加入库记录,'+#13+'否则不允许操作',mtWarning,[mbYes],0)=mryes then
setsta();
end
end
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -