📄 uxsrb.~pas
字号:
unit Uxsrb;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, DBCtrls, StdCtrls, Mask, ExtCtrls, Buttons, ToolWin, Grids,
DBGridEh, Db,adodb;
type
www=(add,updat,delt);
Tfrmxsrb = class(TForm)
ToolBar1: TToolBar;
BitBtn10: TBitBtn;
BitBtn1: TBitBtn;
ToolButton4: TToolButton;
ToolButton3: TToolButton;
BitBtn4: TBitBtn;
BitBtn3: TBitBtn;
BitBtn6: TBitBtn;
BitBtn7: TBitBtn;
BitBtn9: TBitBtn;
BitBtn2: TBitBtn;
BitBtn8: TBitBtn;
ToolButton1: TToolButton;
BtnFind: TBitBtn;
ToolButton2: TToolButton;
BitBtn11: TBitBtn;
BitBtn5: TBitBtn;
Panel4: TPanel;
Label2: TLabel;
Label6: TLabel;
Label9: TLabel;
Label10: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DateTimePicker1: TDateTimePicker;
DBGridEh1: TDBGridEh;
DataSource1: TDataSource;
DataSource2: TDataSource;
DBLookupComboBox1: TDBLookupComboBox;
Edit1: TEdit;
procedure DBGridEh1ColEnter(Sender: TObject);
procedure BitBtn11Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn9Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure DBEdit1Change(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure DBGridEh1EditButtonClick(Sender: TObject);
procedure BtnFindClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn10Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmxsrb: Tfrmxsrb;
act:www;
implementation
uses Uset, Ufunction, SYS_DataModal, U_DM, UJhMaterialName, URBFind,
import1, Umain;
{$R *.DFM}
procedure Tfrmxsrb.DBGridEh1ColEnter(Sender: TObject);
var
m:integer;
//f:double;
n :array [1..15] of integer;
begin
dm.adoxsrbd.edit;
n[1]:= dm.adoxsrbd.FieldByName('ndd1').Asinteger;
n[2]:= dm.adoxsrbd.FieldByName('ndd2').Asinteger;
n[3]:= dm.adoxsrbd.FieldByName('ndd3').Asinteger;
n[4]:= dm.adoxsrbd.FieldByName('ndd4').Asinteger;
n[5]:= dm.adoxsrbd.FieldByName('ndd5').Asinteger;
n[6]:= dm.adoxsrbd.FieldByName('ndd6').Asinteger;
n[7]:= dm.adoxsrbd.FieldByName('ndd7').Asinteger;
n[8]:= dm.adoxsrbd.FieldByName('ndd8').Asinteger;
n[9]:= dm.adoxsrbd.FieldByName('ndd9').Asinteger;
n[10]:= dm.adoxsrbd.FieldByName('ndd10').Asinteger;
n[11]:= dm.adoxsrbd.FieldByName('ndd11').Asinteger;
n[12]:= dm.adoxsrbd.FieldByName('ndd12').Asinteger;
n[13]:= dm.adoxsrbd.FieldByName('ndd13').Asinteger;
n[14]:= dm.adoxsrbd.FieldByName('ndd14').Asinteger;
n[15]:= dm.adoxsrbd.FieldByName('ndd15').Asinteger;
m:=n[1]+n[2]+n[3]+n[4]+n[5]+n[6]+n[7]+n[8]+n[9]+n[10]+n[11]+n[12]+n[13];
dm.adoxsrbd.FieldByName('ntotal').Asfloat:=m*dm.adoxsrbd.FieldByName('nprice').Asfloat;
dm.adoxsrbd.fieldbyname('amount').asinteger:=m;
end;
procedure Tfrmxsrb.BitBtn11Click(Sender: TObject);
begin
Frmset:= TFrmset.Create(nil);
frmset.Caption :='项目设置';
Frmset.Tag:=1;
readset(Frmset.LstSet,'s_qrdetail','600','location='+''''+'d'+'''');
Frmset.Label1.Caption:='销售日报项目';
Frmset.ShowModal;
if (Frmset.ModalResult=mrOk) then
begin
reset(Frmset.LstSet,'s_qrdetail','600',' 1=1 ');
Seek(DBGridEh1,'s_qrdetail', '600','Sys_Cust_view','location='+''''+'d'+'''');
dbgrideh1.Columns.Items[0].AlwaysShowEditButton :=true ;
dbgrideh1.Columns.Items[0].AutoDropDown :=true ;
dbgrideh1.Columns.Items[0].ButtonStyle :=cbsDropDown;
end;
Frmset.free;
end;
procedure Tfrmxsrb.BitBtn5Click(Sender: TObject);
begin
close;
end;
procedure Tfrmxsrb.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Frmmain.Outlook1.Visible :=true;
frmmain.Panel1.Visible:=true;
Frmmain.Panel2.Visible:=True;
frmxsrb:=nil;
action:=cafree;
end;
procedure Tfrmxsrb.BitBtn4Click(Sender: TObject);
const
w: array [0..11]of boolean=(false,false,false,false,false,true,true,true,true,false,true,true);
begin
act:=add;
ButEnabled(toolbar1,w);
dm.adoxsrbm.open;
dm.Adoxsrbm.append;
dm.Adoxsrbm.Edit;
dbedit1.Text :=MyGetCode(50,false);
dbGrideh1.ReadOnly :=false;
end;
procedure Tfrmxsrb.BitBtn7Click(Sender: TObject);
begin
dm.adoxsrbd.Append;
end;
procedure Tfrmxsrb.BitBtn9Click(Sender: TObject);
begin
dm.adoxsrbd.Delete;
end;
procedure Tfrmxsrb.BitBtn2Click(Sender: TObject);
const
w: array [0..11]of boolean=(true,true,true,true,true,false,false,false,false,true,true,true);
begin
dm.ADOConnection.BeginTrans ;
try
if (act=add) then
begin
{addquery:=TADOquery.Create(nil);
addquery.Connection := DataCggl.ADOcgjh ;
with addquery do
begin
close;
sql.clear;
sql.add('insert into CG_jhdanz (Jhnumber) values ('+''''+trim(edit1.text)+''''+')');
execsql;
end;
addquery.free; }
//showmessage(Datetostr(DateTimePicker1.date));
//dm.Adoxsrbm.FieldByName('drbdate').asstring:=Datetostr(DateTimePicker1.date);
dm.Adoxsrbm.FieldByName('drbdate').asstring:=Datetostr(DateTimePicker1.date);
end;
dm.adoxsrbm.UpdateBatch ;
dm.adoxsrbd.UpdateBatch ;
if (dm.adoxsrbd.RecordCount<=0) then
begin
Application.MessageBox('记录不能为空!!','信息提示',64);
dm.ADOConnection.RollbackTrans ;
exit;
end;
dm.ADOConnection.CommitTrans ;
Application.MessageBox('保存成功!','信息提示',64);
MyGetCode(50,true);
ButEnabled(toolbar1,w);
dbGrideh1.ReadOnly :=true;
except
dm.ADOConnection.RollbackTrans ;
Application.MessageBox('保存失败!必填项不能为空','错误提示',0+16);
end;
end;
procedure Tfrmxsrb.BitBtn8Click(Sender: TObject);
const
w: array [0..11]of boolean=(true,true,true,true,true,false,false,false,false,true,true,true);
begin
ButEnabled(toolbar1,w);
dm.Adoxsrbm.CancelUpdates ;
dm.Adoxsrbd.CancelUpdates ;
dbGrideh1.ReadOnly :=true;
end;
procedure Tfrmxsrb.DBEdit1Change(Sender: TObject);
begin
edit1.text:=dbedit1.text;
with dm.adoxsrbd do
begin
close;
sql.Clear ;
sql.Add('select * from xs_rbd where id='+''''+trim(dbEdit1.text)+'''');
open;
end;
end;
procedure Tfrmxsrb.BitBtn6Click(Sender: TObject);
const
w: array [0..11]of boolean=(false,false,false,false,false,true,true,true,true,false,true,true);
var
kcquery:TADOQuery;
dquery:TADOQuery;
begin
if Application.MessageBox('是否删除?','信息提示',Mb_okcancel+64) = IdOk then
begin
dm.adoconnection.BeginTrans ;
kcquery:=TADOQuery.Create(nil);
kcquery.Connection :=dm.adoconnection;
with kcquery do
begin
close;
sql.Clear ;
sql.Add('delete from xs_rbm where sxsrbno='+''''+Trim(dbEdit1.text)+'''');
end;
dquery:=TADOQuery.Create(nil);
dquery.Connection :=dm.adoconnection;
with dquery do
begin
close;
sql.Clear ;
sql.Add('delete from xs_rbd where id='+''''+Trim(dbEdit1.text)+'''');
end;
try
dquery.ExecSQL ;
kcquery.ExecSQL ;
dm.adoconnection.CommitTrans ;
Application.MessageBox('删除成功!','信息提示',64);
kcquery.Free;
dquery.free;
dm.Adoxsrbm.close;
dm.adoxsrbd.close;
except
Application.MessageBox('删除失败!','错误提示',0+16);
dquery.free;
kcquery.free;
dm.adoconnection.RollbackTrans ;
end;
end;
end;
procedure Tfrmxsrb.BitBtn3Click(Sender: TObject);
const
w: array [0..11]of boolean=(false,false,false,false,false,true,true,true,true,false,true,true);
begin
if (Trim(dbEdit1.Text)<>'') then
begin
dbgrideh1.ReadOnly :=false;
dm.adoxsrbd.edit;
ButEnabled(toolbar1,w);
act:=updat
end;
end;
procedure Tfrmxsrb.FormCreate(Sender: TObject);
begin
Seek(DBGridEh1,'s_qrdetail', '600','xs_rbd','location='+''''+'d'+'''');
dbgrideh1.Columns.Items[0].AlwaysShowEditButton :=true ;
dbgrideh1.Columns.Items[0].AutoDropDown :=true ;
dbgrideh1.Columns.Items[0].ButtonStyle :=cbsDropDown;
end;
procedure Tfrmxsrb.DBGridEh1EditButtonClick(Sender: TObject);
var
Mn:string;
Cn,dw,spec,cgUnit:String;
kcl: real;
begin
if (DbgridEh1.ReadOnly =true) then exit;
if (DbGridEh1.Columns.Grid.col = 1) then
begin
FrmJhMaterialName:=TFrmJhMaterialName.Create(nil);
FrmJhMaterialName.Tag:=1;
FrmJhMaterialName.Drop(FrmJhMaterialName,dbgrideh1.InplaceEditor );
FrmJhMaterialName.ShowModal;
if (FrmJhMaterialName.ModalResult =2) then
begin
dm.Adoxsrbd.edit;
dm.adoxsrbd.fieldbyname('sgoodNo').AsString:=FrmJhMaterialName.ADOQuery1.FieldByName('nGdCode').AsString;
// JhQueryMaterialNoSetText(jhquery.fieldbyname('MaterialNo'),jhquery.fieldbyname('MaterialNo').AsString);
end;
FrmJhMaterialName.Free;
end;
end;
procedure Tfrmxsrb.BtnFindClick(Sender: TObject);
begin
FrmRbFind:= TFrmRBFind.Create(Application);
FrmRBFind.ShowModal;
if FrmRbFind.ModalResult=2 then
begin
if dm.adoxsrbm.Active =false then
dm.adoxsrbm.Open;
if not (dm.adoxsrbm.Locate('sxsrbno',FrmRbFind.srecord,[loCaseInsensitive])) then
begin
Application.MessageBox(pchar('日报编号为:'+FrmRbFind.srecord+'的记录不存在!'),'错误',16);
//Rb1.Close;
//ADOQuery2.Close;
end;
end;
frmrbfind.Free;
end;
procedure Tfrmxsrb.BitBtn1Click(Sender: TObject);
begin
CreateReport(Application.Handle,DM.ADOConnection.ConnectionString,'600','0',
TAdoQuery(DataSource1.DataSet),TAdoQuery(DataSource2.DataSet),true) ;
end;
procedure Tfrmxsrb.BitBtn10Click(Sender: TObject);
begin
CreateReport(Application.Handle,DM.ADOConnection.ConnectionString,'600','0' ,
TAdoQuery(DataSource1.DataSet),TAdoQuery(DataSource2.DataSet),false) ;
end;
procedure Tfrmxsrb.FormActivate(Sender: TObject);
begin
frmmain.Outlook1.Visible:=False;
frmmain.Panel1.Visible:=true;
frmmain.Panel2.Visible:=false;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -