📄 xs_re.pas
字号:
fselectproduce.selectpro.SQL.Add(' Phy_abc like '+''''+'%'+Trim(fXs_re.Edit1.Text)+'%'+''''+')' );
fselectproduce.selectpro.Open;
fselectproduce.Show;
end;
end;
procedure TfXs_re.BitBtn1Click(Sender: TObject);
var aa:real;
begin
inherited;
//保存
if Qmaster.FieldByName('Op_name').IsNull then
begin
MessageBox(0, '姓名不能为空!', '提示', MB_OK + MB_ICONINFORMATION +
MB_TOPMOST);
Exit;
end
else
begin
if Qmaster.FieldByName('op_other').Value>0 then
begin
if Qdetail.State in [dsedit,dsinsert] then
begin
Qdetail.UpdateBatch(arall);
Qdetail.Close;
Qdetail.Open;
BitBtn1.Enabled:=False;
end;
if Qmaster.State in [dsedit,dsinsert] then
begin
Qmaster.Post;
Qdetail.DataSource:=Sourcemaster;
BitBtn1.Enabled:=False;
end;
if (Qmaster.FieldByName('Op_other').Value-Qmaster.FieldByName('Op_sum').Value)<>0 then
begin
// real aa;
aa:=Qmaster.FieldByName('Op_other').Value-Qmaster.FieldByName('Op_sum').Value;
Application.MessageBox(PChar('应退: '+formatfloat('0.00',aa)+' 元!'),PChar(Application.Title), MB_OK + MB_ICONWARNING + MB_DEFBUTTON2 + MB_TOPMOST);
end;
GroupBox1.Enabled:=False;
end
else
MessageBox(0, '预收金额不能为零!', '提示', MB_OK + MB_ICONINFORMATION +
MB_TOPMOST);
end;
end;
procedure TfXs_re.N21Click(Sender: TObject);
begin
inherited;
fxs_find:=Tfxs_find.Create(self);
fxs_find.ShowModal;
end;
procedure TfXs_re.N11Click(Sender: TObject);
begin
inherited;//保存修改后的数据,更新缓存~
if Qmaster.State in [dsedit,dsinsert] then
begin
GroupBox1.Enabled:=False;
Qdetail.UpdateBatch(arall);
Qdetail.Close;
Qdetail.Open;
Qmaster.Post;
end;
end;
procedure TfXs_re.N1Click(Sender: TObject);
begin
inherited;
Qmaster.Next;
end;
procedure TfXs_re.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
//按F1焦点回来药品选择
if key=112 then
begin
Edit1.SetFocus;
Edit1.Text:='';
end;
end;
procedure TfXs_re.SourcemasterStateChange(Sender: TObject);
begin
inherited;
//Qdetail.DataSource:=nil;
end;
procedure TfXs_re.N6Click(Sender: TObject);
begin
inherited;
//取消
Qmaster.Cancel;
Qdetail.Cancel;
BitBtn1.Enabled:=False;
GroupBox1.Enabled:=False;
end;
procedure TfXs_re.QmasterAfterPost(DataSet: TDataSet);
begin
inherited;
//恢复主从表关系
Qdetail.DataSource:=Sourcemaster;
end;
procedure TfXs_re.QmasterAfterInsert(DataSet: TDataSet);
begin
inherited;
//取消主从表关系
Qdetail.DataSource:=nil;
end;
procedure TfXs_re.FormCreate(Sender: TObject);
begin
inherited;
Qdetail.DataSource:=Sourcemaster;
end;
procedure TfXs_re.QdetailDe_qtyValidate(Sender: TField);
begin
inherited;
Qdetail.FieldByName('de_sum').Value:=Qdetail['de_sprice']*Qdetail['de_qty'];
end;
procedure TfXs_re.QdetailDe_spriceValidate(Sender: TField);
begin
inherited;
Qdetail.FieldByName('de_sum').Value:=Qdetail['de_sprice']*Qdetail['de_qty'];
end;
procedure TfXs_re.QmasterBeforePost(DataSet: TDataSet);
begin
inherited;
//合计本单的药品金额
Temp.Close;
Temp.SQL.Clear;
Temp.SQL.Add('select sum(de_sum) as aa from xs_opendetail where fcode ='+''''+Qmaster['fcode']+'''');
Temp.Open;
Qmaster.FieldByName('op_sum').Value:=Temp['aa']+Qmaster['Op_zsf']+Qmaster['op_zlf'];
end;
procedure TfXs_re.SpeedButton2Click(Sender: TObject);
begin
inherited;
Qmaster.Prior;
end;
procedure TfXs_re.SpeedButton1Click(Sender: TObject);
begin
inherited;
Qmaster.Next;
end;
procedure TfXs_re.N5Click(Sender: TObject);
begin
inherited;
if MessageBox(0, '真的要删除些单据吗?', '提示', MB_OKCANCEL + MB_TOPMOST) =
IDOK then
begin
delete.Close;
delete.SQL.Clear;
delete.SQL.Add('delete from xs_opendetail where fcode ='+''''+Qmaster['fcode']+'''');
delete.ExecSQL;
Qmaster.Delete;
end;
end;
procedure TfXs_re.dxDBButtonEdit1ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
begin
inherited;
fxs_selectbr:=Tfxs_selectbr.Create(Self);
fxs_selectbr.ShowModal;
end;
procedure TfXs_re.N9Click(Sender: TObject);
var i:Integer;
begin
inherited;
if Qdetail.RecordCount>0 then
if Qmaster.FieldByName('Op_checked').Value=0 then
begin
if MessageBox(0, '要审核此单据吗?', '提示', MB_OKCANCEL +
MB_ICONINFORMATION + MB_TOPMOST) = IDOK then
begin
Qmaster.Edit;
Qmaster.FieldByName('Op_checked').Value:=1;
Qmaster.Post;
//------------------------------------- 扣除药品
for i:=0 to Qdetail.RecordCount-1 do
begin
//ShowMessage(Qdetail['De_pcode']);
fData.sqlcheck.Close; //查询当前药品的库存信息
fData.sqlcheck.SQL.Clear;
fData.sqlcheck.SQL.Add('select * from kc_table where (Kc_code='+''''+Qdetail['De_pcode']+''''+') and (Kc_name='+''''+Qdetail['De_pname']+''''+')');
fData.sqlcheck.Open;
fData.sqlcheck.Edit;
fData.sqlcheck.FieldByName('Kc_allqty').Value:=fData.sqlcheck.FieldByName('Kc_allqty').Value-Qdetail['De_qty'];
fData.sqlcheck.Post;
Qdetail.Next;
end;
//-------------------------------------
end
end
else
MessageBox(0, '该单据已审核!', '提示', MB_OK + MB_ICONINFORMATION +
MB_TOPMOST);
end;
procedure TfXs_re.N10Click(Sender: TObject);
var i:Integer;
begin
inherited;
if Qdetail.RecordCount>0 then
if Qmaster.FieldByName('Op_checked').Value=1 then
begin
if MessageBox(0, '要反审此单据吗?', '提示', MB_OKCANCEL +
MB_ICONINFORMATION + MB_TOPMOST) = IDOK then
begin
Qmaster.Edit;
Qmaster.FieldByName('Op_checked').Value:=0;
Qmaster.Post;
//------------------------------------- 加药品
for i:=0 to Qdetail.RecordCount-1 do
begin
fData.sqlcheck.Close; //查询当前药品的库存信息
fData.sqlcheck.SQL.Clear;
fData.sqlcheck.SQL.Add('select * from kc_table where (Kc_code='+''''+Qdetail['De_pcode']+''''+') and (Kc_name='+''''+Qdetail['De_pname']+''''+')');
fData.sqlcheck.Open;
fData.sqlcheck.Edit;
fData.sqlcheck.FieldByName('Kc_allqty').Value:=fData.sqlcheck.FieldByName('Kc_allqty').Value+Qdetail['De_qty'];
fData.sqlcheck.Post;
Qdetail.Next;
end;
//-------------------------------------
end
end
else
MessageBox(0, '该单据已反审!', '提示', MB_OK + MB_ICONINFORMATION +
MB_TOPMOST);
end;
procedure TfXs_re.N7Click(Sender: TObject);
begin
inherited;
if (Qmaster.FieldByName('Op_checked').Value=1) or (Qdetail.RecordCount=0) then
MessageBox(0, '该单据已审核或无记录可修改!', '提示', MB_OK + MB_ICONINFORMATION
+ MB_TOPMOST)
else
begin
GroupBox1.Enabled:=True;
Qmaster.Edit;
Qdetail.Edit;
end;
end;
procedure TfXs_re.N2Click(Sender: TObject);
begin
inherited;
frreport1.LoadFromFile('report\xs_open.frf');
frReport1.ShowReport;
end;
procedure TfXs_re.N3Click(Sender: TObject);
begin
inherited;
frReport1.LoadFromFile('report\xs_open.frf');
frReport1.DesignReport;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -