📄 xs_otc.pas
字号:
unit Xs_otc;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, baseformtype, dxExEdtr, StdCtrls, DBCtrls, dxCntner, dxEditor,
dxEdLib, dxDBELib, DB, ImgList, ActnList, ADODB, dxTL, dxDBCtrl,
dxDBGrid, Mask, ComCtrls, Buttons, ToolWin, dxDBTLCl, dxGrClms;
type
TfXs_otc = class(Tfbaseformtype)
Qbaseinfoid: TAutoIncField;
Qbaseinfofcode: TWideStringField;
Qbaseinfootc_worker: TWideStringField;
Qbaseinfootc_whscode: TWideStringField;
Qbaseinfootc_pcode: TWideStringField;
Qbaseinfootc_pname: TWideStringField;
QbaseinfoFdate: TDateTimeField;
Qbaseinfootc_unit: TWideStringField;
Qbaseinfootc_buyprice: TFloatField;
Qbaseinfootc_sum: TFloatField;
QbaseinfoOtc_spec: TWideStringField;
Qbaseinfootc_ph: TWideStringField;
Qbaseinfootc_factory: TWideStringField;
Qbaseinfofout: TIntegerField;
Qbaseinfofmem: TWideStringField;
QbaseinfofSort: TWideStringField;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
lbl2: TLabel;
lbl3: TLabel;
Label8: TLabel;
Label9: TLabel;
lbl4: TLabel;
dxDBDateEdit1: TdxDBDateEdit;
DBEdit4: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
DBEdit10: TDBEdit;
lbl5: TLabel;
DBEdit11: TDBEdit;
Qbaseinfootc_qty: TFloatField;
dxDBGridfcode: TdxDBGridColumn;
dxDBGridotc_worker: TdxDBGridColumn;
dxDBGridotc_whscode: TdxDBGridColumn;
dxDBGridotc_pcode: TdxDBGridColumn;
dxDBGridotc_pname: TdxDBGridColumn;
dxDBGridFdate: TdxDBGridDateColumn;
dxDBGridotc_unit: TdxDBGridColumn;
dxDBGridotc_price: TdxDBGridMaskColumn;
dxDBGridotc_sum: TdxDBGridMaskColumn;
dxDBGridOtc_spec: TdxDBGridColumn;
dxDBGridotc_ph: TdxDBGridColumn;
dxDBGridotc_factory: TdxDBGridColumn;
dxDBGridfmem: TdxDBGridColumn;
dxDBGridotc_qty: TdxDBGridMaskColumn;
dxDBGridfout: TdxDBGridCheckColumn;
DBLookupComboBox1: TDBLookupComboBox;
dxDBButtonEdit1: TdxDBButtonEdit;
DBLookupComboBox2: TDBLookupComboBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
lbl20: TLabel;
procedure actfindExecute(Sender: TObject);
procedure actaddExecute(Sender: TObject);
procedure dxDBButtonEdit1Exit(Sender: TObject);
procedure dxDBButtonEdit1ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
procedure Qbaseinfootc_qtyValidate(Sender: TField);
procedure Qbaseinfootc_buypriceValidate(Sender: TField);
procedure BitBtn1Click(Sender: TObject);
procedure QbaseinfoAfterScroll(DataSet: TDataSet);
procedure BitBtn2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure acteditExecute(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fXs_otc: TfXs_otc;
implementation
uses otc_find, Global, dataform, otc_profind, Xs_re, pubdata;
{$R *.dfm}
procedure TfXs_otc.actfindExecute(Sender: TObject);
begin
inherited;
fotc_find:=Tfotc_find.Create(Self);
fotc_find.ShowModal;
end;
procedure TfXs_otc.actaddExecute(Sender: TObject);
begin
inherited;
tmpname:='xs_otc';
lbl20.Visible:=False;
Qbaseinfo.FieldByName('fcode').Value:=getcode('OT');
Qbaseinfo.FieldByName('otc_worker').Value:=fData.Sqltmp['User_code'];
Qbaseinfo.FieldByName('Fdate').Value:=FormatDateTime('YYYY-MM-DD',Date());
Qbaseinfo.FieldByName('Fout').Value:=0;
dxDBButtonEdit1.SetFocus;
Qbaseinfo.Edit;
end;
procedure TfXs_otc.dxDBButtonEdit1Exit(Sender: TObject);
begin
inherited;
//选择药品
{if (Trim(dxDBButtonEdit1.Text)<>'') and ( Qbaseinfo.State in [dsedit,dsinsert] ) then
begin
fotc_profind:=Tfotc_profind.Create(Self);
fotc_profind.selectpro.Close;
fotc_profind.selectpro.SQL.Clear;
fotc_profind.selectpro.SQL.Add('select * from Bs_physic where( phy_code like '+''''+'%'+Trim(dxDBButtonEdit1.Text)+'%'+''''+') and ( Phy_otc=1)');
fotc_profind.selectpro.Open;
fotc_profind.ShowModal;
end; }
end;
procedure TfXs_otc.dxDBButtonEdit1ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
begin
inherited;
if Qbaseinfo.State in [dsedit,dsinsert] then
begin
fotc_profind:=Tfotc_profind.Create(Self);
fotc_profind.ShowModal;
end;
end;
procedure TfXs_otc.Qbaseinfootc_qtyValidate(Sender: TField);
begin
inherited;
Qbaseinfo.FieldByName('otc_sum').Value:=Qbaseinfo['otc_price']*Qbaseinfo['otc_qty'];
end;
procedure TfXs_otc.Qbaseinfootc_buypriceValidate(Sender: TField);
begin
inherited;
Qbaseinfo.FieldByName('otc_sum').Value:=Qbaseinfo['otc_price']*Qbaseinfo['otc_qty'];
end;
procedure TfXs_otc.BitBtn1Click(Sender: TObject);
begin
inherited;
if Qbaseinfo.RecordCount>0 then
if Qbaseinfo.FieldByName('fout').Value=0 then
begin
if MessageBox(0, '要审核当前单据吗?', '提示', MB_OKCANCEL +
MB_ICONINFORMATION + MB_TOPMOST) = IDOK then
begin
Qbaseinfo.Edit;
Qbaseinfo.FieldByName('fout').Value:=1;
Qbaseinfo.Post;
fData.sqlcheck.Close; //查询当前药品的库存信息
fData.sqlcheck.SQL.Clear;
fData.sqlcheck.SQL.Add('select * from kc_table where (Kc_code='+''''+Qbaseinfo['otc_pcode']+''''+') and (Kc_name='+''''+Qbaseinfo['otc_pname']+''''+')');
fData.sqlcheck.Open;
if fData.sqlcheck.RecordCount>0 then
begin
fData.sqlcheck.Edit;
fData.sqlcheck.FieldByName('Kc_allqty').Value:=fData.sqlcheck.FieldByName('Kc_allqty').Value-Qbaseinfo['otc_qty'];
fData.sqlcheck.Post;
end;
end;
end
else
MessageBox(0, '该单据已审核!', '提示', MB_OK + MB_ICONINFORMATION +
MB_TOPMOST);
end;
procedure TfXs_otc.QbaseinfoAfterScroll(DataSet: TDataSet);
begin
inherited;
//如当前记录已审核,则显示‘已审核’
if Qbaseinfo.FieldByName('fout').Value=0 then
lbl20.Visible:=False
else
lbl20.Visible:=True;
end;
procedure TfXs_otc.BitBtn2Click(Sender: TObject);
begin
inherited;
if Qbaseinfo.RecordCount>0 then
if Qbaseinfo.FieldByName('fout').Value=1 then
begin
if MessageBox(0, '要反审核当前单据吗?', '提示', MB_OKCANCEL +
MB_ICONINFORMATION + MB_TOPMOST) = IDOK then
begin
Qbaseinfo.Edit;
Qbaseinfo.FieldByName('fout').Value:=0;
Qbaseinfo.Post;
fData.sqlcheck.Close; //查询当前药品的库存信息
fData.sqlcheck.SQL.Clear;
fData.sqlcheck.SQL.Add('select * from kc_table where (Kc_code='+''''+Qbaseinfo['otc_pcode']+''''+') and (Kc_name='+''''+Qbaseinfo['otc_pname']+''''+')');
fData.sqlcheck.Open;
if fData.sqlcheck.RecordCount>0 then
begin
fData.sqlcheck.Edit;
fData.sqlcheck.FieldByName('Kc_allqty').Value:=fData.sqlcheck.FieldByName('Kc_allqty').Value+Qbaseinfo['otc_qty'];
fData.sqlcheck.Post;
end;
end;
end
else
MessageBox(0, '该单据已反审!', '提示', MB_OK + MB_ICONINFORMATION +
MB_TOPMOST);
end;
procedure TfXs_otc.FormCreate(Sender: TObject);
begin
inherited;
lbl20.Visible:=False;
end;
procedure TfXs_otc.acteditExecute(Sender: TObject);
begin
inherited;
lbl20.Visible:=False;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -