📄 rkd_unit.pas
字号:
unit RKD_Unit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBGridEh, Grids, StdCtrls, DBCtrls, DBCtrlsEh, DBLookupEh, Mask,
ExtCtrls, Buttons, ToolWin, ComCtrls, TFlatSpeedButtonUnit, ImgList,
Menus,db, ADODB;
type
TRKD_Form = class(TForm)
CoolBar1: TCoolBar;
ScrollBox1: TScrollBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn10: TBitBtn;
BitBtn11: TBitBtn;
Shape1: TShape;
Shape2: TShape;
Label1: TLabel;
Shape3: TShape;
Shape4: TShape;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
DBEditEh1: TDBEditEh;
DBLookupComboboxEh1: TDBLookupComboboxEh;
DBDateTimeEditEh1: TDBDateTimeEditEh;
DBMemo1: TDBMemo;
DBGridEh1: TDBGridEh;
Label8: TLabel;
Label9: TLabel;
DBLookupComboboxEh2: TDBLookupComboboxEh;
DBLookupComboboxEh3: TDBLookupComboboxEh;
FlatSpeedButton1: TFlatSpeedButton;
FlatSpeedButton2: TFlatSpeedButton;
FlatSpeedButton3: TFlatSpeedButton;
FlatSpeedButton4: TFlatSpeedButton;
Label10: TLabel;
DBEditEh2: TDBEditEh;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
DBIL: TImageList;
DELADOQ: TADOQuery;
BitBtn6: TBitBtn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FlatSpeedButton1Click(Sender: TObject);
procedure FlatSpeedButton2Click(Sender: TObject);
procedure FlatSpeedButton3Click(Sender: TObject);
procedure FlatSpeedButton4Click(Sender: TObject);
procedure BitBtn10Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn11Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
procedure SHOWITEM;
function BS(M:integer):integer;
{ Public declarations }
end;
var
RKD_Form: TRKD_Form;
implementation
uses DMUnit, RKITEMADD_Unit, RPTUnit, U_CheckRights;
{$R *.dfm}
procedure TRKD_Form.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=cafree;
end;
procedure TRKD_Form.FormDestroy(Sender: TObject);
begin
RKD_FORM:=nil;
end;
procedure TRKD_Form.FormCreate(Sender: TObject);
begin
with DM.CG_ADOQ do
begin
Close;
Open;
end;
with DM.STOCK_ADOQ do
begin
Close;
Open;
end;
with DM.RKDM_ADOQ do
begin
Close;
Open;
end;
with DM.RKDP_ADOT do
begin
Close;
Open;
end;
end;
procedure TRKD_Form.FlatSpeedButton1Click(Sender: TObject);
begin
DM.RKDM_ADOQ.First;
end;
procedure TRKD_Form.FlatSpeedButton2Click(Sender: TObject);
begin
DM.RKDM_ADOQ.Prior;
end;
procedure TRKD_Form.FlatSpeedButton3Click(Sender: TObject);
begin
DM.RKDM_ADOQ.Next;
end;
procedure TRKD_Form.FlatSpeedButton4Click(Sender: TObject);
begin
DM.RKDM_ADOQ.Last;
end;
procedure TRKD_Form.BitBtn10Click(Sender: TObject);
begin
Close;
end;
procedure TRKD_Form.BitBtn1Click(Sender: TObject);
begin
if DM.RKDM_ADOQ.State in [DSBROWSE] then
DM.RKDM_ADOQ.Append;
BS(0);
end;
procedure TRKD_Form.BitBtn2Click(Sender: TObject);
begin
IF DBEditEh2.Text='审核' then Exit;
if DM.RKDM_ADOQ.RecordCount<=0 then Exit;
if DM.RKDM_ADOQ.State in [DSBROWSE] then
DM.RKDM_ADOQ.Edit;
BS(0);
end;
procedure TRKD_Form.BitBtn3Click(Sender: TObject);
var
RKDNO:string;
begin
RKDNO:=DBEditEh1.Text;
if DBEditEh2.Text='审核' then Exit;
if DM.RKDM_ADOQ.RecordCount<=0 then Exit;
if Application.MessageBox('是否确认删除该条入库单数据,如果删除,将删除所有入库明细数据?', '提示',
MB_ICONQUESTION + MB_YESNO + MB_DEFBUTTON2) = IDYES then
with DELADOQ do
begin
Close;
SQL.Clear;
SQL.Add('DELETE RKD_P WHERE RKD_NO='''+RKDNO+'''');
ExecSQL;
end;
DM.RKDM_ADOQ.Delete;//删除明细表数据
end;
procedure TRKD_Form.BitBtn4Click(Sender: TObject);
begin
if (Trim(DBLookupComboboxEh1.Text)='') or (Trim(DBLookupComboboxEh2.Text)='') or
(Trim(DBLookupComboboxEh3.Text)='') then Exit;
if DM.RKDM_ADOQ.State in [DSINSERT,DSEDIT] then
DM.RKDM_ADOQ.FieldByName('RKD_BS').AsString:='未审核';
DM.RKDM_ADOQ.Post;
BS(1);
end;
function TRKD_Form.BS(M: integer): integer;
begin
if M=0 then
begin
DBLookupComboboxEh1.Enabled:=True;
DBLookupComboboxEh2.Enabled:=True;
DBLookupComboboxEh3.Enabled:=True;
DBDateTimeEditEh1.Enabled:=True;
DBMemo1.Enabled:=True;
DBEditEh2.Enabled:=True;
end;
if M=1 then
begin
DBLookupComboboxEh1.Enabled:=false;
DBLookupComboboxEh2.Enabled:=false;
DBLookupComboboxEh3.Enabled:=false;
DBDateTimeEditEh1.Enabled:=false;
DBMemo1.Enabled:=false;
DBEditEh2.Enabled:=false;
end;
end;
procedure TRKD_Form.SHOWITEM;
begin
if Application.FindComponent('RKITEMADD_Form')<>nil then
RKITEMADD_Form.Show else
begin
RKITEMADD_Form:=TRKITEMADD_Form.Create(Application);
RKITEMADD_Form.Show;
end;
end;
procedure TRKD_Form.N1Click(Sender: TObject);
begin
IF DBEditEh2.Text='审核' then Exit;
DM.RKDP_ADOT.Append;
SHOWITEM;
end;
procedure TRKD_Form.N2Click(Sender: TObject);
begin
IF DBEditEh2.Text='审核' then Exit;
if DM.RKDP_ADOT.RecordCount<=0 then Exit;
DM.RKDP_ADOT.Edit;
SHOWITEM;
end;
procedure TRKD_Form.N3Click(Sender: TObject);
begin
IF DBEditEh2.Text='审核' then Exit;
if DM.RKDP_ADOT.RecordCount<=0 then Exit;
if Application.MessageBox('是否确认删除该条采购明细数据?', '提示',
MB_ICONQUESTION + MB_YESNO + MB_DEFBUTTON2) = IDYES then
DM.RKDP_ADOT.Delete;
end;
procedure TRKD_Form.BitBtn5Click(Sender: TObject);
begin
DM.RKDM_ADOQ.Cancel;
BS(1);
end;
procedure TRKD_Form.BitBtn11Click(Sender: TObject);
begin
if DM.RKDM_ADOQ.FieldByName('RKD_BS').AsString='审核' then Exit;
if DM.RKDM_ADOQ.FieldByName('RKD_BS').AsString='未审核' then
if Application.MessageBox('是否确认完成该笔入库,如果选择是该笔数据将不能修改,同时该笔数据将写入库存?', '提示',
MB_ICONQUESTION + MB_YESNO + MB_DEFBUTTON2) = IDYES then
try
if DM.ADOC.InTransaction then DM.ADOC.RollbackTrans;
DM.ADOC.BeginTrans;
DM.RKDM_ADOQ.Edit;
DM.RKDM_ADOQ.FieldByName('RKD_BS').AsString:='审核';
DM.RKDM_ADOQ.Post;
with DM.CURRSTOCK_ADOQ do
if not Active then Active:=True;
DM.RKDP_ADOT.First;
while not DM.RKDP_ADOT.Eof do
begin
DM.CURRSTOCK_ADOQ.Append;
DM.CURRSTOCK_ADOQ.FieldByName('RKD_NO').AsString:=DM.RKDP_ADOT.FieldByName('RKD_NO').AsString;
DM.CURRSTOCK_ADOQ.FieldByName('RKD_MAN').AsString:=DM.RKDM_ADOQ.FieldByName('RKD_MAN').AsString;
DM.CURRSTOCK_ADOQ.FieldByName('RKD_TIME').AsDateTime:=DM.RKDM_ADOQ.FieldByName('RKD_TIME').AsDateTime;
DM.CURRSTOCK_ADOQ.FieldByName('RKD_STOCK').AsString:=DM.RKDM_ADOQ.FieldByName('RKD_STOCK').AsString;
DM.CURRSTOCK_ADOQ.FieldByName('RKD_PERSON').AsString:=DM.RKDM_ADOQ.FieldByName('RKD_PERSON').AsString;
DM.CURRSTOCK_ADOQ.FieldByName('RKD_ITEMNAME').AsString:=DM.RKDP_ADOT.FieldByName('ITEM_NO').AsString;
DM.CURRSTOCK_ADOQ.FieldByName('RKD_SORT').AsString:=DM.RKDP_ADOT.FieldByName('ITEM_SORT').AsString;
DM.CURRSTOCK_ADOQ.FieldByName('RKD_UNIT').AsString:=DM.RKDP_ADOT.FieldByName('ITEM_UNIT').AsString;
DM.CURRSTOCK_ADOQ.FieldByName('RKD_PRICE').AsCurrency:=DM.RKDP_ADOT.FieldByName('ITEM_PRICE').AsCurrency;
DM.CURRSTOCK_ADOQ.FieldByName('RKD_NUM').AsFloat:=DM.RKDP_ADOT.FieldByName('ITEM_NUM').AsFloat;
DM.CURRSTOCK_ADOQ.FieldByName('RKD_MON').AsCurrency:=DM.RKDP_ADOT.FieldByName('ITEM_MON').AsCurrency;
DM.CURRSTOCK_ADOQ.Post;
DM.RKDP_ADOT.Next;
end;
DM.ADOC.CommitTrans;
except
DM.ADOC.RollbackTrans;
end;
DM.RKDM_ADOQ.Refresh;
DM.RKDP_ADOT.Refresh;
end;
procedure TRKD_Form.BitBtn6Click(Sender: TObject);
begin
RPTDM.RKDP_Rpt.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'RPT/入库单.frf');
RPTDM.RKDP_Rpt.ShowReport;
end;
procedure TRKD_Form.FormShow(Sender: TObject);
begin
BitBtn6.Enabled:=CheckRights('入库单编制','打印');
BitBtn1.Enabled:=CheckRights('入库单编制','新单');
BitBtn2.Enabled:=CheckRights('入库单编制','修改');
BitBtn3.Enabled:=CheckRights('入库单编制','删除');
BitBtn4.Enabled:=CheckRights('入库单编制','保存');
BitBtn5.Enabled:=CheckRights('入库单编制','取消');
BitBtn11.Enabled:=CheckRights('入库单编制','审核');
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -