📄 gld150_01.pas.svn-base
字号:
unit Gld150_01;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
BAS100_01, ComCtrls, ImgList, StdCtrls, Buttons, dxtree, dxdbtree, Db,
DBClient, ADODB, Menus;
type
TGld150_01Form = class(TBas100_01Form)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
ImageList1: TImageList;
dxDBTreeView1: TdxDBTreeView;
bbtnInsert: TBitBtn;
bbtnUpdate: TBitBtn;
bbtnDelete: TBitBtn;
bbtnCopy: TBitBtn;
bbtnPrint: TBitBtn;
bbtnExit: TBitBtn;
dxDBTreeView2: TdxDBTreeView;
dxDBTreeView3: TdxDBTreeView;
dxDBTreeView4: TdxDBTreeView;
dxDBTreeView5: TdxDBTreeView;
DataSource1: TDataSource;
DataSource2: TDataSource;
DataSource3: TDataSource;
DataSource4: TDataSource;
DataSource5: TDataSource;
bbtnOk: TBitBtn;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
ADOQuery3: TADOQuery;
ADOQuery4: TADOQuery;
ADOQuery5: TADOQuery;
ADOQuery6: TADOQuery;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure bbtnInsertClick(Sender: TObject);
procedure bbtnUpdateClick(Sender: TObject);
procedure bbtnDeleteClick(Sender: TObject);
procedure bbtnCopyClick(Sender: TObject);
procedure bbtnPrintClick(Sender: TObject);
procedure bbtnExitClick(Sender: TObject);
procedure bbtnOkClick(Sender: TObject);
private
procedure GetRecords(AFlag:Integer);
procedure ReportGetValue(const ParName: String; var ParValue: Variant);
{ Private declarations }
public
{ Public declarations }
end;
var
Gld150_01Form: TGld150_01Form;
implementation
uses SYSDATA, CommFun, Gld150_02;
{$R *.DFM}
procedure TGld150_01Form.GetRecords(AFlag:Integer);
begin
case AFlag of
//资产
1:begin
ADOQuery1.DisableControls;
ADOQuery1.Close;
ADOQuery1.Open;
ADOQuery1.EnableControls;
end;
//负债
2:begin
ADOQuery2.DisableControls;
ADOQuery2.Close;
ADOQuery2.Open;
ADOQuery2.EnableControls;
end;
//所有者权益
3:begin
ADOQuery3.DisableControls;
ADOQuery3.Close;
ADOQuery3.Open;
ADOQuery3.EnableControls;
end;
//成本
4:begin
ADOQuery4.DisableControls;
ADOQuery4.Close;
ADOQuery4.Open;
ADOQuery4.EnableControls;
end;
//损益
5:begin
ADOQuery5.DisableControls;
ADOQuery5.Close;
ADOQuery5.Open;
ADOQuery5.EnableControls;
end;
end;
end;
procedure TGld150_01Form.FormCreate(Sender: TObject);
begin
inherited;
GetRecords(1);
GetRecords(2);
GetRecords(3);
GetRecords(4);
GetRecords(5);
//会计科目
ADOQuery6.Open;
PageControl1.ActivePageIndex:=0;
end;
procedure TGld150_01Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
ADOQuery1.Close;
ADOQuery2.Close;
ADOQuery3.Close;
ADOQuery4.Close;
ADOQuery5.Close;
ADOQuery6.Close;
end;
procedure TGld150_01Form.bbtnInsertClick(Sender: TObject);
begin
inherited;
//新增
Gld150_02Form:=TGld150_02Form.Create(Application);
Gld150_02Form.MODE:='ADD';
Gld150_02Form.ComboBox1.ItemIndex:=PageControl1.ActivePageIndex;
Gld150_02Form.ComboBox2.Enabled:=Gld150_02Form.RadioButton5.Checked;
Gld150_02Form.ShowModal;
GetRecords(PageControl1.ActivePageIndex+1);
//插入权限表
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('insert into SYS500C(S500C_001,S500C_002,S500C_003,S500C_004)');
SYSDM.qryQuery.SQL.Add('select S500A_001,G150_001,''GLD'',0 from GLD150,SYS500A');
SYSDM.qryQuery.SQL.Add('where not exists(select 1 from SYS500C where S500C_001=S500A_001 and S500C_003=''GLD'' and S500C_002=G150_001)');
SYSDM.qryQuery.ExecSQL;
end;
procedure TGld150_01Form.bbtnUpdateClick(Sender: TObject);
var
ADataSet:TADOQuery;
begin
inherited;
//修改
ADataSet:=TADOQuery.Create(Self);
case PageControl1.ActivePageIndex of
0:ADataSet:=ADOQuery1;
1:ADataSet:=ADOQuery2;
2:ADataSet:=ADOQuery3;
3:ADataSet:=ADOQuery4;
4:ADataSet:=ADOQuery5;
end;
if ADataSet.IsEmpty then Exit;
Gld150_02Form:=TGld150_02Form.Create(Application);
Gld150_02Form.MODE:='UPD';
Gld150_02Form.ACCNO:=ADataSet.FieldByName('G100_001').Value;
Gld150_02Form.Edit1.Text:=ADataSet.FieldByName('G100_002').AsString;
Gld150_02Form.Edit2.Text:=ADataSet.FieldByName('G100_004').AsString;
Gld150_02Form.ComboBox1.ItemIndex:=ADataSet.FieldByName('G100_005').Value-1;
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select * from GLD110 where G110_001='+ADataSet.FieldByName('G100_008').AsString);
SYSDM.qryQuery.Open;
Gld150_02Form.ComboBox2.Text:=SYSDM.qryQuery.FieldByName('G110_003').AsString;
//余额方向
case ADataSet.FieldByName('G100_006').Value of
1:Gld150_02Form.RadioButton1.Checked:=True;
2:Gld150_02Form.RadioButton2.Checked:=True;
end;
//币别核算
case ADataSet.FieldByName('G100_007').Value of
1:Gld150_02Form.RadioButton3.Checked:=True;
2:Gld150_02Form.RadioButton4.Checked:=True;
3:Gld150_02Form.RadioButton5.Checked:=True;
end;
Gld150_02Form.ComboBox2.Enabled:=Gld150_02Form.RadioButton5.Checked;
Gld150_02Form.ShowModal;
GetRecords(PageControl1.ActivePageIndex+1);
end;
procedure TGld150_01Form.bbtnDeleteClick(Sender: TObject);
var
ADataSet:TADOQuery;
begin
inherited;
//删除
ADataSet:=TADOQuery.Create(Self);
case PageControl1.ActivePageIndex of
0:ADataSet:=ADOQuery1;
1:ADataSet:=ADOQuery2;
2:ADataSet:=ADOQuery3;
3:ADataSet:=ADOQuery4;
4:ADataSet:=ADOQuery5;
end;
if ADataSet.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
//科目是否有下级科目
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select 1 from GLD100 where G100_003='+ADataSet.FieldByName('G100_001').AsString);
SYSDM.qryQuery.Open;
if not SYSDM.qryQuery.IsEmpty then
begin
ShowMsg('UMS10000118'); //该科目存在下级科目,不能删除
Abort;
end;
if ShowDialog('UMS10000008')=IDNO then Exit; //确定要删除此记录吗?
//科目是否有业务发生
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select 1 from GLD500 where G500_006='+ADataSet.FieldByName('G100_001').AsString);
SYSDM.qryQuery.Open;
if not SYSDM.qryQuery.IsEmpty then
begin
ShowMsg('UMS10000119'); //该科目已有业务发生,不能删除
Abort;
end;
//删除相关的权限记录
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('delete from SYS500C where S500C_003=''GLD'' and S500C_002='+ADataSet.FieldByName('G150_001').AsString);
SYSDM.qryQuery.ExecSQL;
ADataSet.Delete;
end;
procedure TGld150_01Form.bbtnCopyClick(Sender: TObject);
var
ADataSet:TADOQuery;
begin
inherited;
//复制
ADataSet:=TADOQuery.Create(Self);
case PageControl1.ActivePageIndex of
0:ADataSet:=ADOQuery1;
1:ADataSet:=ADOQuery2;
2:ADataSet:=ADOQuery3;
3:ADataSet:=ADOQuery4;
4:ADataSet:=ADOQuery5;
end;
if ADataSet.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
Gld150_02Form:=TGld150_02Form.Create(Application);
Gld150_02Form.MODE:='ADD';
Gld150_02Form.ACCNO:=ADataSet.FieldByName('G100_001').Value;
Gld150_02Form.Edit1.Text:=ADataSet.FieldByName('G100_002').AsString;
Gld150_02Form.Edit2.Text:=ADataSet.FieldByName('G100_004').AsString;
Gld150_02Form.ComboBox1.ItemIndex:=ADataSet.FieldByName('G100_005').Value-1;
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select * from GLD110 where G110_001='+ADataSet.FieldByName('G100_008').AsString);
SYSDM.qryQuery.Open;
Gld150_02Form.ComboBox2.Text:=SYSDM.qryQuery.FieldByName('G110_003').AsString;
//余额方向
case ADataSet.FieldByName('G100_006').Value of
1:Gld150_02Form.RadioButton1.Checked:=True;
2:Gld150_02Form.RadioButton2.Checked:=True;
end;
//币别核算
case ADataSet.FieldByName('G100_007').Value of
1:Gld150_02Form.RadioButton3.Checked:=True;
2:Gld150_02Form.RadioButton4.Checked:=True;
3:Gld150_02Form.RadioButton5.Checked:=True;
end;
Gld150_02Form.ComboBox2.Enabled:=Gld150_02Form.RadioButton5.Checked;
Gld150_02Form.ShowModal;
GetRecords(PageControl1.ActivePageIndex+1);
end;
procedure TGld150_01Form.bbtnPrintClick(Sender: TObject);
begin
inherited;
//打印
SelectReport(ADOQuery6,AProgramID,AReportName,ReportGetValue);
end;
procedure TGld150_01Form.bbtnExitClick(Sender: TObject);
begin
inherited;
//退出
Close;
end;
procedure TGld150_01Form.bbtnOkClick(Sender: TObject);
begin
inherited;
//确定
ModalResult:=1;
end;
procedure TGld150_01Form.ReportGetValue(const ParName: String;
var ParValue: Variant);
begin
end;
initialization
RegisterClass(TGld150_01Form);
finalization
UnRegisterClass(TGld150_01Form);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -