⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ccdwh.~pas

📁 仓库管理信息系统
💻 ~PAS
字号:
unit ccdwh;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGridEh, Buttons, DBCtrls, DBCtrlsEh, Mask,
  ExtCtrls, FR_DSet, FR_DBSet, FR_Class, ComCtrls,db;

type
  Tccdwhfrm = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    Panel1: TPanel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    DBEdit2: TDBEdit;
    DBLookupComboBox1: TDBLookupComboBox;
    DBLookupComboBox2: TDBLookupComboBox;
    DBDateTimeEditEh1: TDBDateTimeEditEh;
    Panel3: TPanel;
    DBNavigator1: TDBNavigator;
    DBEdit3: TDBEdit;
    GroupBox3: TGroupBox;
    DBGridEh1: TDBGridEh;
    DBEdit4: TDBEdit;
    frReport1: TfrReport;
    frDBDataSet1: TfrDBDataSet;
    frDBDataSet2: TfrDBDataSet;
    Label8: TLabel;
    dtp1: TDateTimePicker;
    dtp2: TDateTimePicker;
    Label9: TLabel;
    Label10: TLabel;
    Edit1: TEdit;
    SpeedButton2: TSpeedButton;
    Panel2: TPanel;
    DBNavigator2: TDBNavigator;
    SpeedButton1: TSpeedButton;
    SpeedButton3: TSpeedButton;
    BitBtn1: TBitBtn;
    Label11: TLabel;
    sbt: TSpeedButton;
    Label1: TLabel;
    ysd_ckb: TCheckBox;
    rb1: TRadioButton;
    rb2: TRadioButton;
    Label12: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure frReport1GetValue(const ParName: String;
      var ParValue: Variant);
    procedure DBDateTimeEditEh1Change(Sender: TObject);
    procedure DBGridEh1DblClick(Sender: TObject);
    procedure dtp1Change(Sender: TObject);
    procedure dtp1Enter(Sender: TObject);
    procedure dtp2Change(Sender: TObject);
    procedure dtp2Enter(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure sbtClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  ccdwhfrm: Tccdwhfrm;

implementation
uses data,main, cl_SrchDlg, lybmwh, cclxwh;
{$R *.dfm}

procedure Tccdwhfrm.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.whbmdmads.Open;
dm.whcclxdmads.Open;
dm.whclbmads.Close;
dm.whclbmads.Open;
dm.whccdads.Close;
dm.whccdads.Parameters.ParamByName('date1').Value:=dtp1.Date;
dm.whccdads.Parameters.ParamByName('date2').Value:=dtp2.Date;
dm.whccdads.Open;
dm.whccmxads.Open;
ccdwhfrm.Label12.Caption:='共有单据:'+
inttostr(dm.whccdads.RecordCount)+'笔';
dm.whclbmads.Filtered:=true;
dm.whccdads.Filtered:=true;
label11.Caption:='当前可处理年份:'+inttostr(dm.lastjznf);
end;

procedure Tccdwhfrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if dm.whccdads.State in [dsinsert,dsedit] then
  if MessageDlg('单据未保存,要保存吗?', mtConfirmation,
    [mbYes, mbNo], 0) = mrYes then
    begin
    dm.whccdads.Post;
    end
  else
    dm.whccdads.Cancel;
dm.whccdads.Close;
dm.whccmxads.Close;
dm.whclbmads.Filtered:=false;
action:=cafree;
ccdwhfrm:=nil;
end;

procedure Tccdwhfrm.frReport1GetValue(const ParName: String;
  var ParValue: Variant);
begin
  frVariables['My variable'] := ccdwhfrm.edit1.text;
end;

procedure Tccdwhfrm.DBDateTimeEditEh1Change(Sender: TObject);
begin
if (DBDateTimeEditEh1.Value<dtp1.Date) or
   (DBDateTimeEditEh1.Value>dtp2.Date) then
   begin
   abort;
   end;

end;

procedure Tccdwhfrm.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.whccmxads.FieldByName('材料编码').Value <>
        dm.whclbmads.FieldByName('材料编码').Value then
      begin
        dm.whccmxads.Edit;
        dm.whccmxads.FieldByName('材料编码').Value :=
          dm.whclbmads.FieldByName('材料编码').Value;
      end;
  end;
end;

procedure Tccdwhfrm.dtp1Change(Sender: TObject);
begin
if dtp1.date>dtp2.Date then
begin
  showmessage('对不起!日期范围有误。');
  dtp1.Date:=dtp2.Date;
end;
dm.whccdads.close;
dm.whccdads.Parameters.ParamByName('date1').Value:=dtp1.Date;
dm.whccdads.Open;
end;

procedure Tccdwhfrm.dtp1Enter(Sender: TObject);
begin
if dm.whccdads.State in [dsedit,dsinsert] then
begin
  showmessage('对不起!当前单据编辑中...请先处理。');
  abort;
end;
end;

procedure Tccdwhfrm.dtp2Change(Sender: TObject);
begin
if dtp1.date>dtp2.Date then
begin
  showmessage('对不起!日期范围有误。');
  dtp2.Date:=dtp1.Date;
end;
dm.whccdads.close;
dm.whccdads.Parameters.ParamByName('date2').Value:=dtp2.Date;
dm.whccdads.Open;
end;

procedure Tccdwhfrm.dtp2Enter(Sender: TObject);
begin
if dm.whccdads.State in [dsedit,dsinsert] then
begin
  showmessage('对不起!当前单据编辑中...请先处理。');
  abort;
end;
end;

procedure Tccdwhfrm.SpeedButton2Click(Sender: TObject);
begin
  if dm.whccdads.State in [dsedit,dsinsert] then
  begin
    showmessage('对不起!当前单据编辑中...请先处理。');
    abort;
  end;
  if not dm.whccdads.Locate('进仓单号',edit1.Text,[]) then
  begin
    showmessage('没有你要查找的单据号');
    edit1.SetFocus;
    abort;
  end;
end;

procedure Tccdwhfrm.BitBtn1Click(Sender: TObject);
begin
if dm.whccdads.Modified then
  dm.whccdads.Post;
if dm.whccmxads.Modified then
  dm.whccmxads.Post;
if dm.whccdads.RecordCount>0 then
abort;
if rb1.Checked then
begin
  dm.whccdads.Filter:='出仓单号='+''''+
    dm.whccdads.fieldbyname('出仓单号').Value+'''';
  dm.whccdads.Filtered:=true;
end;
if rb2.Checked then
    dm.whccdads.Filtered:=false;
frreport1.LoadFromFile(ExtractFileDir(application.ExeName)+'\djprint\ccddygs.frf');
  if ysd_ckb.Checked then
    frreport1.ShowReport
  else
  begin
    frreport1.PrepareReport;
    frReport1.PrintPreparedReport('', 1, True, frAll);
//    frreport1.PrintPreparedReportDlg;
  end;
end;

procedure Tccdwhfrm.Button1Click(Sender: TObject);
begin
dm.whccdads.Cancel;
end;

procedure Tccdwhfrm.SpeedButton1Click(Sender: TObject);
begin
if not Assigned(bmlyWHFRM) then
  bmlyWHFRM := tbmlyWHFRM.Create(Self);
  bmlyWHFRM.ShowModal;
if (dm.whbmdmads.RecordCount>0) then
  if dm.whccdads.FieldByName('部门ID').Value <>
    dm.whbmdmads.FieldByName('部门ID').Value then
    begin
      dm.whccdads.Edit;
      dm.whccdads.FieldByName('部门ID').Value:=
       dm.whbmdmads.FieldByName('部门ID').Value;
    end;
end;

procedure Tccdwhfrm.SpeedButton3Click(Sender: TObject);
begin
if not Assigned(cclxWHFRM) then
  cclxWHFRM := tcclxWHFRM.Create(Self);
  cclxWHFRM.ShowModal;
if (dm.whcclxdmads.RecordCount>0) then
  if dm.whccdads.FieldByName('出仓类型ID').Value <>
    dm.whcclxdmads.FieldByName('出仓类型ID').Value then
    begin
      dm.whccdads.Edit;
      dm.whccdads.FieldByName('出仓类型ID').Value:=
       dm.whcclxdmads.FieldByName('出仓类型ID').Value;
    end;
end;

procedure Tccdwhfrm.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 + -