📄 cpjcdwh.pas
字号:
unit cpjcdwh;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, FR_DSet, FR_DBSet, FR_Class, Grids, DBGridEh, Buttons, DBCtrls,
DBCtrlsEh, Mask, ExtCtrls, StdCtrls, ComCtrls,db;
type
Tfrm_cpjcdwh = class(TForm)
GroupBox1: TGroupBox;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
dtp1: TDateTimePicker;
dtp2: TDateTimePicker;
Edit1: TEdit;
GroupBox2: TGroupBox;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label6: TLabel;
Label7: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBLookupComboBox1: TDBLookupComboBox;
DBDateTimeEditEh1: TDBDateTimeEditEh;
DBLookupComboBox3: TDBLookupComboBox;
Panel3: TPanel;
DBNavigator1: TDBNavigator;
DBEdit3: TDBEdit;
GroupBox3: TGroupBox;
DBGridEh1: TDBGridEh;
frReport1: TfrReport;
frDBDataSet1: TfrDBDataSet;
frDBDataSet2: TfrDBDataSet;
SpeedButton2: TSpeedButton;
Panel2: TPanel;
DBNavigator2: TDBNavigator;
SpeedButton1: TSpeedButton;
SpeedButton3: TSpeedButton;
sbt: TSpeedButton;
Label11: TLabel;
Label5: TLabel;
BitBtn1: TBitBtn;
ysd_ckb: TCheckBox;
rb1: TRadioButton;
rb2: TRadioButton;
Label12: TLabel;
procedure FormCreate(Sender: TObject);
procedure dtp1Change(Sender: TObject);
procedure dtp2Change(Sender: TObject);
procedure DBGridEh1EditButtonClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure dtp1Enter(Sender: TObject);
procedure dtp2Enter(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure sbtClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frm_cpjcdwh: Tfrm_cpjcdwh;
implementation
uses data, SrchDlg, cpjcysr, cpjclx;
{$R *.dfm}
procedure Tfrm_cpjcdwh.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.djwhads_cpjcd.Close;
dm.djwhads_cpjcd.Parameters.ParamByName('date1').Value:=dtp1.Date;
dm.djwhads_cpjcd.Parameters.ParamByName('date2').Value:=dtp2.Date;
dm.djwhads_cpjcd.Open;
Label12.Caption:='共有单据:'+
inttostr(dm.djwhads_cpjcd.RecordCount)+'笔';
label11.Caption:='当前可处理年份:'+inttostr(dm.lastjznf);
dm.djwhads_cpjcdmx.Close;
dm.djwhads_cpjcdmx.Open;
dm.zlads_cpzl.Close;
dm.zlads_cpzl.Open;
dm.zlads_cplx.Close;
dm.zlads_cplx.Open;
dm.zlads_cpjcysr.Close;
dm.zlads_cpjcysr.Open;
dm.zlads_cpjclx.Close;
dm.zlads_cpjclx.Open;
end;
procedure Tfrm_cpjcdwh.dtp1Change(Sender: TObject);
begin
if dtp1.date>dtp2.Date then
begin
showmessage('对不起!日期范围有误。');
dtp1.Date:=dtp2.Date;
end;
dm.djwhads_cpjcd.close;
dm.djwhads_cpjcd.Parameters.ParamByName('date1').Value:=dtp1.Date;
dm.djwhads_cpjcd.Open;
end;
procedure Tfrm_cpjcdwh.dtp2Change(Sender: TObject);
begin
if dtp1.date>dtp2.Date then
begin
showmessage('对不起!日期范围有误。');
dtp2.Date:=dtp1.Date;
end;
dm.djwhads_cpjcd.close;
dm.djwhads_cpjcd.Parameters.ParamByName('date2').Value:=dtp2.Date;
dm.djwhads_cpjcd.Open;
end;
procedure Tfrm_cpjcdwh.DBGridEh1EditButtonClick(Sender: TObject);
begin
if dbgrideh1.SelectedField.FieldName = '产品id' then
begin
if not assigned(SearchDlg) then
SearchDlg := tSearchDlg.create(self);
if (SearchDlg.ShowModal = mrOk) and (
dm.zlads_cpzl.RecordCount>0) then
if dm.djwhads_cpjcdmx.FieldByName('产品ID').Value <>
dm.zlads_cpzl.FieldByName('产品ID').Value then
begin
dm.djwhads_cpjcdmx.Edit;
dm.djwhads_cpjcdmx.FieldByName('产品ID').Value :=
dm.zlads_cpzl.FieldByName('产品ID').Value;
end;
end;
end;
procedure Tfrm_cpjcdwh.BitBtn1Click(Sender: TObject);
begin
if dm.djwhads_cpjcd.Modified then
dm.djwhads_cpjcd.Post;
if dm.djwhads_cpjcd.Modified then
dm.djwhads_cpjcd.Post;
if dm.djwhads_cpjcd.RecordCount=0 then
abort;
if rb1.Checked then
begin
dm.djwhads_cpjcd.Filter:='单据号='+''''+
dm.djwhads_cpjcd.fieldbyname('单据号').Value+'''';
dm.djwhads_cpjcd.Filtered:=true;
end;
if rb2.Checked then
dm.djwhads_cpjcd.Filtered:=false;
frreport1.LoadFromFile(ExtractFileDir(application.ExeName)+'\djprint\prcpjcd.frf');
if ysd_ckb.Checked then
frreport1.ShowReport
else
begin
frreport1.PrepareReport;
frReport1.PrintPreparedReport('', 1, True, frAll);
end;
end;
procedure Tfrm_cpjcdwh.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
if dm.djwhads_cpjcd.State in [dsinsert,dsedit] then
if MessageDlg('单据未保存,要保存吗?', mtConfirmation,
[mbYes, mbNo], 0) = mrYes then
begin
dm.djwhads_cpjcd.Post;
end
else
dm.djwhads_cpjcd.Cancel;
action := cafree;
frm_cpjcdwh:=nil;
end;
procedure Tfrm_cpjcdwh.dtp1Enter(Sender: TObject);
begin
if dm.djwhads_cpjcd.State in [dsedit,dsinsert] then
begin
showmessage('对不起!当前单据编辑中...请先处理。');
abort;
end;
end;
procedure Tfrm_cpjcdwh.dtp2Enter(Sender: TObject);
begin
if dm.djwhads_cpjcd.State in [dsedit,dsinsert] then
begin
showmessage('对不起!当前单据编辑中...请先处理。');
abort;
end;
end;
procedure Tfrm_cpjcdwh.SpeedButton2Click(Sender: TObject);
begin
if dm.djwhads_cpjcd.State in [dsedit,dsinsert] then
begin
showmessage('对不起!当前单据编辑中...请先处理。');
abort;
end;
if not dm.djwhads_cpjcd.Locate('单据号',edit1.Text,[]) then
begin
showmessage('没有你要查找的单据号');
edit1.SetFocus;
abort;
end;
end;
procedure Tfrm_cpjcdwh.SpeedButton1Click(Sender: TObject);
begin
dm.zlads_cpjcysr.Open;
if not Assigned(frm_cpjcysr) then
frm_cpjcysr := tfrm_cpjcysr.Create(Self);
frm_cpjcysr.ShowModal;
if (dm.zlads_cpjcysr.RecordCount>0) then
if dm.djwhads_cpjcd.FieldByName('验收人ID').Value <>
dm.zlads_cpjcysr.FieldByName('验收人ID').Value then
begin
dm.djwhads_cpjcd.Edit;
dm.djwhads_cpjcd.FieldByName('验收人ID').Value:=
dm.zlads_cpjcysr.FieldByName('验收人ID').Value;
end;
end;
procedure Tfrm_cpjcdwh.SpeedButton3Click(Sender: TObject);
begin
if not Assigned(frm_cpjclx) then
frm_cpjclx := tfrm_cpjclx.Create(Self);
frm_cpjclx.ShowModal;
if (dm.zlads_cpjclx.RecordCount>0) then
if dm.djwhads_cpjcd.FieldByName('进仓类型ID').Value <>
dm.zlads_cpjclx.FieldByName('进仓类型ID').Value then
begin
dm.djwhads_cpjcd.Edit;
dm.djwhads_cpjcd.FieldByName('进仓类型ID').Value:=
dm.zlads_cpjclx.FieldByName('进仓类型ID').Value;
end;
end;
procedure Tfrm_cpjcdwh.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 + -