📄 jcdwh.~pas
字号:
unit jcdwh;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGridEh, ExtCtrls, DBCtrlsEh, DBCtrls, Mask,
FR_Class, Buttons,FR_View, FR_DSet, FR_DBSet, ComCtrls,db;
type
Tjcdwhfrm = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Panel1: TPanel;
Label2: TLabel;
DBEdit2: TDBEdit;
Label3: TLabel;
Label4: TLabel;
DBLookupComboBox1: TDBLookupComboBox;
Label5: TLabel;
gyslc: TDBLookupComboBox;
DBDateTimeEditEh1: TDBDateTimeEditEh;
Label6: TLabel;
DBLookupComboBox3: TDBLookupComboBox;
GroupBox3: TGroupBox;
Panel3: TPanel;
DBNavigator1: TDBNavigator;
Label7: TLabel;
DBEdit3: TDBEdit;
frReport1: TfrReport;
frDBDataSet1: TfrDBDataSet;
frDBDataSet2: TfrDBDataSet;
DBGridEh1: TDBGridEh;
dtp1: TDateTimePicker;
Label8: TLabel;
dtp2: TDateTimePicker;
Label9: TLabel;
Edit1: TEdit;
Label10: TLabel;
Edit2: TEdit;
Label19: TLabel;
SpeedButton2: TSpeedButton;
SpeedButton1: TSpeedButton;
Panel2: TPanel;
DBNavigator2: TDBNavigator;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
BitBtn1: TBitBtn;
Label11: TLabel;
sbt: TSpeedButton;
Label1: TLabel;
ysd_ckb: TCheckBox;
rb1: TRadioButton;
rb2: TRadioButton;
Label12: TLabel;
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure gyslcCloseUp(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DBDateTimeEditEh1Change(Sender: TObject);
procedure dtp1Change(Sender: TObject);
procedure dtp1Enter(Sender: TObject);
procedure dtp2Change(Sender: TObject);
procedure dtp2Enter(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure DBGridEh1DblClick(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure sbtClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
jcdwhfrm: Tjcdwhfrm;
implementation
uses data, main, cl_SrchDlg, khzlcz, gyscz, jclxwh, ysrwh;
{$R *.dfm}
procedure Tjcdwhfrm.FormCreate(Sender: TObject);
var year,month,day:Word;
begin
decodedate(now,year,month,day);
if day>26 then
begin
dtp1.Date:=EncodeDate(Year,Month,26);
dtp2.Date:=incmonth(EncodeDate(Year,Month,25),1);
end
else
begin
if month=1 then
begin
dtp1.Date:=EncodeDate(Year-1,12,26);
dtp2.Date:=EncodeDate(Year,1,25);
end
else
begin
dtp1.Date:=EncodeDate(Year,Month-1,26);
dtp2.Date:=EncodeDate(Year,Month,25);
end;
end;
dm.jzxxbads.Close;
dm.jzxxbads.Open;
dm.jzxxbads.Filter:='结转项目='+''''+'材料'+'''';
dm.jzxxbads.Filtered:=true;
dm.lastjznf:=dm.jzxxbads.fieldbyname('最后年份').Value;
dm.whgysdmads.Open;
dm.whjclxdmads.Open;
dm.whysrads.Open;
dm.whclbmads.Close;
dm.whclbmads.Open;
dm.whjcdads.Close;
dm.whjcdads.Parameters.ParamByName('date1').Value:=dtp1.Date;
dm.whjcdads.Parameters.ParamByName('date2').Value:=dtp2.Date;
dm.whjcdads.Open;
Label12.Caption:='共有单据:'+
inttostr(dm.whjcdads.RecordCount)+'笔';
dm.whjcmxads.Open;
dm.whclbmads.Filtered:=true;
label11.Caption:='当前可处理年份:'+inttostr(dm.lastjznf);
dm.whjcdads.Filtered:=true;
end;
procedure Tjcdwhfrm.BitBtn1Click(Sender: TObject);
begin
if dm.whjcdads.Modified then
dm.whjcdads.Post;
if dm.whjcmxads.Modified then
dm.whjcmxads.Post;
if dm.whjcdads.RecordCount=0 then
abort;
if rb1.Checked then
begin
dm.whjcdads.Filter:='进仓单号='+''''+
dm.whjcdads.fieldbyname('进仓单号').Value+'''';
dm.whjcdads.Filtered:=true;
end;
if rb2.Checked then
dm.whjcdads.Filtered:=false;
frreport1.LoadFromFile(ExtractFileDir(application.ExeName)+'\djprint\jcddygs.frf');
if ysd_ckb.Checked then
frreport1.ShowReport
else
begin
frreport1.PrepareReport;
frReport1.PrintPreparedReport('', 1, True, frAll);
// frreport1.PrintPreparedReportDlg;
end;
end;
procedure Tjcdwhfrm.Edit2Change(Sender: TObject);
begin
dm.whgysdmads.Filtered:=false;
if edit2.Text<>'' then
begin
dm.whgysdmads.Filter:='供应商ID like %'+trim(edit2.Text)+'%';
dm.whgysdmads.Filtered:=true;
end;
end;
procedure Tjcdwhfrm.gyslcCloseUp(Sender: TObject);
begin
if gyslc.KeyValue<>null then
edit2.Text:=gyslc.KeyValue;
end;
procedure Tjcdwhfrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if dm.whjcdads.State in [dsinsert,dsedit] then
if MessageDlg('单据未保存,要保存吗?', mtConfirmation,
[mbYes, mbNo], 0) = mrYes then
begin
dm.whjcdads.Post;
end
else
dm.whjcdads.Cancel;
dm.whjcdads.Close;
dm.whjcmxads.Close;
dm.whclbmads.Filtered:=false;
action:=cafree;
jcdwhfrm:=nil;
end;
procedure Tjcdwhfrm.DBDateTimeEditEh1Change(Sender: TObject);
begin
if (DBDateTimeEditEh1.Value<dtp1.Date) or
(DBDateTimeEditEh1.Value>dtp2.Date) then
begin
abort;
end;
end;
procedure Tjcdwhfrm.dtp1Change(Sender: TObject);
begin
if dtp1.date>dtp2.Date then
begin
showmessage('对不起!日期范围有误。');
dtp1.Date:=dtp2.Date;
end;
dm.whjcdads.close;
dm.whjcdads.Parameters.ParamByName('date1').Value:=dtp1.Date;
dm.whjcdads.Open;
end;
procedure Tjcdwhfrm.dtp1Enter(Sender: TObject);
begin
if dm.whjcdads.State in [dsedit,dsinsert] then
begin
showmessage('对不起!当前单据编辑中...请先处理。');
abort;
end;
end;
procedure Tjcdwhfrm.dtp2Change(Sender: TObject);
begin
if dtp1.date>dtp2.Date then
begin
showmessage('对不起!日期范围有误。');
dtp2.Date:=dtp1.Date;
end;
dm.whjcdads.close;
dm.whjcdads.Parameters.ParamByName('date2').Value:=dtp2.Date;
dm.whjcdads.Open;
end;
procedure Tjcdwhfrm.dtp2Enter(Sender: TObject);
begin
if dm.whjcdads.State in [dsedit,dsinsert] then
begin
showmessage('对不起!当前单据编辑中...请先处理。');
abort;
end;
end;
procedure Tjcdwhfrm.SpeedButton2Click(Sender: TObject);
begin
if dm.whjcdads.State in [dsedit,dsinsert] then
begin
showmessage('对不起!当前单据编辑中...请先处理。');
abort;
end;
if not dm.whjcdads.Locate('进仓单号',edit1.Text,[]) then
begin
showmessage('没有你要查找的单据号');
edit1.SetFocus;
abort;
end;
end;
procedure Tjcdwhfrm.DBGridEh1DblClick(Sender: TObject);
begin
if dbgrideh1.SelectedField.FieldName = '材料编码' then
begin
if not assigned(cl_SearchDlg) then
cl_SearchDlg := tcl_SearchDlg.create(self);
if (cl_SearchDlg.ShowModal = mrOk) and (
dm.whclbmads.RecordCount>0) then
if dm.whjcmxads.FieldByName('材料编码').Value <>
dm.whclbmads.FieldByName('材料编码').Value then
begin
dm.whjcmxads.Edit;
dm.whjcmxads.FieldByName('材料编码').Value :=
dm.whclbmads.FieldByName('材料编码').Value;
end;
end;
end;
procedure Tjcdwhfrm.SpeedButton1Click(Sender: TObject);
begin
if not assigned(cxgysfrm) then
cxgysfrm := tcxgysfrm.create(self);
if (cxgysfrm.ShowModal = mrOk) and (
dm.whgysdmads.RecordCount>0) then
if dm.whjcdads.FieldByName('供应商ID').Value <>
dm.whgysdmads.FieldByName('供应商ID').Value then
begin
dm.whjcdads.Edit;
dm.whjcdads.FieldByName('供应商ID').Value :=
dm.whgysdmads.FieldByName('供应商ID').Value;
end;
end;
procedure Tjcdwhfrm.SpeedButton3Click(Sender: TObject);
begin
if not Assigned(jclxWHFRM) then
jclxWHFRM := tjclxWHFRM.Create(Self);
jclxWHFRM.ShowModal;
if (dm.whjclxdmads.RecordCount>0) then
if dm.whjcdads.FieldByName('进仓类型ID').Value <>
dm.whjclxdmads.FieldByName('进仓类型ID').Value then
begin
dm.whjcdads.Edit;
dm.whjcdads.FieldByName('进仓类型ID').Value :=
dm.whjclxdmads.FieldByName('进仓类型ID').Value;
end;
end;
procedure Tjcdwhfrm.SpeedButton4Click(Sender: TObject);
begin
if not Assigned(ysrwhfrm) then
ysrwhfrm := tysrwhfrm.Create(Self);
ysrwhfrm.ShowModal;
if (dm.whysrads.RecordCount>0) then
if dm.whjcdads.FieldByName('验收人ID').Value <>
dm.whysrads.FieldByName('验收人ID').Value then
begin
dm.whjcdads.Edit;
dm.whjcdads.FieldByName('验收人ID').Value :=
dm.whysrads.FieldByName('验收人ID').Value;
end;
end;
procedure Tjcdwhfrm.sbtClick(Sender: TObject);
begin
groupbox1.Visible:=not groupbox1.Visible;
if groupbox1.Visible then
begin
sbt.Caption:='▼';
sbt.hint:='隐藏条件框';
end
else
begin
sbt.Caption:='▲';
sbt.hint:='展开条件框';
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -