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

📄 umanage_fad.pas

📁 适合行业为眼镜业
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit Umanage_Fad;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, Grids, StdCtrls, Buttons, XPMenu;

type
  Tfrm_Umanage_Fad = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    Cmd_Cancel: TSpeedButton;
    Panel3: TPanel;
    Edit1: TLabeledEdit;
    GroupBox1: TGroupBox;
    SpeedButton5: TSpeedButton;
    SpeedButton7: TSpeedButton;
    SpeedButton9: TSpeedButton;
    Edit_Storage_Name: TLabeledEdit;
    Edit5: TLabeledEdit;
    Edit7: TLabeledEdit;
    Edit8: TLabeledEdit;
    Edit9: TLabeledEdit;
    Edit2: TLabeledEdit;
    Panel6: TPanel;
    Panel8: TPanel;
    Label2: TLabel;
    Panel9: TPanel;
    Panel10: TPanel;
    Cmd_Delete: TSpeedButton;
    Cmd_Add: TSpeedButton;
    Edit4: TLabeledEdit;
    edtgatrhername: TLabeledEdit;
    edtgatrher: TLabeledEdit;
    SpeedButton1: TSpeedButton;
    StringGrid1: TStringGrid;
    Label3: TLabel;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure Cmd_CancelClick(Sender: TObject);
    procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure StringGrid1DblClick(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton9Click(Sender: TObject);
    procedure SpeedButton8Click(Sender: TObject);
    procedure Cmd_AddClick(Sender: TObject);
    procedure Cmd_DeleteClick(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
    procedure StringGrid1KeyPress(Sender: TObject; var Key: Char);
    procedure SpeedButton1Click(Sender: TObject);
    procedure StringGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure SpeedButton3Click(Sender: TObject);
  private
    { Private declarations }
    stockid:widestring;
    Pcol,Prow:integer;
    procedure init;
  public
    { Public declarations }
  end;

var
  frm_Umanage_Fad: Tfrm_Umanage_Fad;
  iColcount,Total_Count:Integer;
  i:integer;
  Insert_Sql:String;
  ss,tempstr:string;
implementation

uses func, Data,  Public_Don, Storage_Select, Login_Man,
  ChildShop_Select, untdatadm, UntgoodCodeSelStr, Supply_Monad,
  Unt_PubStrGrid, Unitreportxf;

{$R *.dfm}
procedure tfrm_umanage_fad.init;
var
  temp,make:string;
begin
  InitialStrGrid(stringgrid1,'非营业性出库');
  if (Public_Do='Business_Storage_Out') then exit;
  edit1.Text:=formatdatetime('yyyy''-''mm''-''dd',date);
  Edit7.Text:=Handle_Man;
  temp:='select max(right(Out_NO,4)) from out_strip where copy_date='+''''+trim(edit1.Text)+''''+' and part_no='+''''+trim(Handle_Part)+'''';
  make:='OSK-'+trim(Handle_Part)+trim(handle_no); //用部门编号
  edit2.Text:=setcode(temp,make);
end;

//自定义库存统计过程
//*******************************************

procedure Tfrm_Umanage_Fad.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
   DMMAIN.CDSquery2.Close;
  dmmain.CDSquery2.Data:=null;
  DMMAIN.CDSexecsql.Close;
  dmmain.CDSexecsql.Data:=null;
  dmmain.cdsprintmaster.Close;
  dmmain.cdsprintmaster.Data:=null;
  dmmain.cdsoutstrip.Close;
  dmmain.cdsoutstrip.Data:=null;
  dmmain.cdsoutdetail.Close;
  dmmain.cdsoutdetail.Data:=null;
  Action:=Cafree;
end;

procedure Tfrm_Umanage_Fad.FormShow(Sender: TObject);
var
    icount,k:integer;
    tt,yy,temppos:integer;
  sqlsub:widestring;
begin
    iColcount:=StringGrid1.ColCount-1; //需要的填充数据的网络表格的列数
    StringGrid1.RowCount:=2;
    Total_Count:=StringGrid1.RowCount;
    init;
    //草稿单据查看
    if (Public_Do='Business_Storage_Out') then
    begin
      sqlsub:='Select a.*,b.*,c.* from out_strip as a,out_strip_detail as b,Goods_code as c where a.out_no=b.out_no and b.goods_no=c.goods_no and a.out_No='''+List_No+'''';
      dmmain.CDSquery2.Close;
      dmmain.CDSquery2.Data:=null;
      dmmain.CDSquery2.Data:=adisp.resultrecord(sqlsub);
      try
      dmmain.CDSquery2.Open;
      except
      end;
      k:=dmmain.CDSquery2.RecordCount;
      StringGrid1.RowCount:=k+1;
      //自动加载STRINGGRID的行数
      for K:=1 to StringGrid1.RowCount do
      begin
        StringGrid1.Cells[0,K]:=IntTostr(k); //表示第0列第i行的名称
      end;
      //******************
      Edit1.Text:=trim(dmmain.CDSquery2.FieldByName('Copy_Date').AsString);
      Edit2.Text:=trim(dmmain.CDSquery2.FieldByName('out_No').AsString);
      Edtgatrher.Text:=trim(dmmain.CDSquery2.FieldByName('Gatrher_monad').AsString);
      Edtgatrhername.Text:=trim(dmmain.CDSquery2.FieldByName('wldw').AsString);
      Edit4.Text:=trim(dmmain.CDSquery2.FieldByName('Storage_NO').AsString);
      //Edit_Storage_Name.Text:=dmmain.CDSquery2.FieldByName('Storage_Name').AsString;
      Edit5.Text:=trim(dmmain.CDSquery2.FieldByName('Transactor').AsString);
      Edit7.Text:=trim(dmmain.CDSquery2.FieldByName('proposer').AsString);
      Edit8.Text:=trim(dmmain.CDSquery2.FieldByName('Condense').AsString);
      Edit9.Text:=trim(dmmain.CDSquery2.FieldByName('Remark').AsString);
      wldwno:=trim(dmmain.CDSquery2.FieldByName('Gatrher_monad').AsString);
      stockid:=trim(dmmain.CDSquery2.FieldByName('Storage_NO').AsString);
      for k:=1 to dmmain.CDSquery2.RecordCount do
      begin
        StringGrid1.Cells[0,k]:=trim(dmmain.CDSquery2.FieldByName('ord').AsString);//编号
        StringGrid1.Cells[1,k]:=trim(dmmain.CDSquery2.FieldByName('Goods_NO').AsString);//商品编号
        StringGrid1.Cells[2,k]:=trim(dmmain.CDSquery2.FieldByName('Goods_Name').AsString);//商品名称
        StringGrid1.Cells[4,k]:=trim(dmmain.CDSquery2.FieldByName('Price').AsString);//单价
        StringGrid1.Cells[3,k]:=trim(dmmain.CDSquery2.FieldByName('amount').AsString);//金额
        StringGrid1.Cells[5,k]:=trim(dmmain.CDSquery2.FieldByName('Money').AsString);//类别
        StringGrid1.Cells[6,k]:=trim(dmmain.CDSquery2.FieldByName('type').AsString);
        StringGrid1.Cells[7,k]:=trim(dmmain.CDSquery2.FieldByName('provider').AsString);
        StringGrid1.Cells[8,k]:=trim(dmmain.CDSquery2.FieldByName('Out_Remark').AsString);
        dmmain.CDSquery2.Next;
      end;
      GetDataPrint(dmmain.cdsprintmaster,dmmain.CDsquery2);
    end;
end;

procedure Tfrm_Umanage_Fad.Cmd_CancelClick(Sender: TObject);
var
    i,j,icol:integer;
    Check_Flag:string;
    temp:widestring;
begin
    frm_Public_Don:=Tfrm_Public_Don.Create(self);
    frm_Public_Don.ShowModal;
    if Public_Do='Storage_Umanage_Fad' then
    begin
        if Public_Do_Result='02' then
        begin
            if Trim(Edit1.Text)='' then
            begin
                application.MessageBox('操作错误,【录单日期】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
                Edit1.SetFocus;
                Exit;
            end;
            if Trim(Edit2.Text)='' then
            begin
                application.MessageBox('操作错误,【单据编号】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
                Edit2.SetFocus;
                Exit;
            end;
            if Trim(Edtgatrher.Text)='' then
            begin
                application.MessageBox('操作错误,【收货单位】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
                Edtgatrher.SetFocus;
                Exit;
            end;
            if Trim(Edit4.Text)='' then
            begin
                application.MessageBox('操作错误,【发货仓库】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
                Edit4.SetFocus;
                Exit;
            end;
            if Trim(Edit5.Text)='' then
            begin
                application.MessageBox('操作错误,【经手人】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
                Edit5.SetFocus;
                Exit;
            end;
            if Trim(Edit7.Text)='' then
            begin
                application.MessageBox('操作错误,【制单人】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
                Edit7.SetFocus;
                Exit;
            end;
            for i:=1 to Total_Count-1 do
            begin
                if StringGrid1.Cells[1,i]='' then
                begin
                    application.MessageBox('操作错误,【商品编号】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
                    Exit;
                end;
                if StringGrid1.Cells[3,i]='' then
                begin
                    application.MessageBox('操作错误,【数量】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
                    Exit;
                end;
            end;
            if dmmain.cdsoutstrip.Active then dmmain.cdsoutstrip.Close;
            dmmain.cdsoutstrip.Open;
            dmmain.cdsoutstrip.Insert;
            dmmain.cdsoutstrip.FieldByName('copy_date').AsString:=trim(edit1.Text);
            dmmain.cdsoutstrip.FieldByName('out_no').AsString:=trim(edit2.Text);
            dmmain.cdsoutstrip.FieldByName('gatrher_monad').AsString:=trim(edtgatrher.Text);
            dmmain.cdsoutstrip.FieldByName('storage_no').AsString:=trim(edit4.Text);
            dmmain.cdsoutstrip.FieldByName('transactor').AsString:=trim(edit5.Text);
            dmmain.cdsoutstrip.FieldByName('proposer').AsString:=trim(edit7.Text);
            dmmain.cdsoutstrip.FieldByName('condense').AsString:=trim(edit8.Text);
            dmmain.cdsoutstrip.FieldByName('remark').AsString:=trim(edit9.Text);
            dmmain.cdsoutstrip.FieldByName('part_no').AsString:=trim(Handle_Part);
            dmmain.cdsoutstrip.FieldByName('out_name').AsString:=trim('非营业性出库单');
            dmmain.cdsoutstrip.FieldByName('wldw').AsString:=trim(edtgatrhername.Text);
            dmmain.cdsoutstrip.Post;
            dmmain.cdsReceipt.close;
            dmmain.cdsReceipt.Open;
            dmmain.cdsReceipt.Append;
            dmmain.cdsReceipt.FieldByName('Receipt_NO').AsString:=Trim(Edit2.Text);
            dmmain.cdsReceipt.FieldByName('Receipt_Name').AsString:='非营业性出库单';
            dmmain.cdsReceipt.FieldByName('Copy_Date').AsString:=Trim(Edit1.Text);
            dmmain.cdsReceipt.FieldByName('Proposer').AsString:=Trim(Edit7.Text);
            dmmain.cdsReceipt.FieldByName('Check_Result').Asinteger:=0;
            dmmain.cdsReceipt.FieldByName('Flag_Sign').AsString:='草稿';
            dmmain.cdsReceipt.FieldByName('Condense').AsString:=Trim(Edit8.Text);
            dmmain.cdsReceipt.FieldByName('Re_part').AsString:=trim(Handle_Part);
            dmmain.cdsReceipt.Post;
            if dmmain.cdsoutdetail.Active then  dmmain.cdsoutdetail.Close;
            dmmain.cdsoutdetail.Open;
            for i:=1 to stringgrid1.RowCount-1 do
            begin
              dmmain.cdsoutdetail.Insert;
              dmmain.cdsoutdetail.FieldByName('out_no').AsString:=trim(edit2.Text);
              dmmain.cdsoutdetail.FieldByName('goods_no').AsString:=trim(stringgrid1.Cells[1,i]);
              dmmain.cdsoutdetail.FieldByName('goods_name').AsString:=trim(stringgrid1.Cells[2,i]);
              dmmain.cdsoutdetail.FieldByName('ord').AsString:=inttostr(i);
              dmmain.cdsoutdetail.FieldByName('amount').AsString:=trim(stringgrid1.Cells[3,i]);
              dmmain.cdsoutdetail.FieldByName('price').AsString:=trim(stringgrid1.Cells[4,i]);
              dmmain.cdsoutdetail.FieldByName('money').AsString:=trim(stringgrid1.Cells[5,i]);
              dmmain.cdsoutdetail.FieldByName('out_remark').AsString:=trim(stringgrid1.Cells[8,i]);
              dmmain.cdsoutdetail.Post;
            end;
            try
            dmmain.cdsReceipt.ApplyUpdates(-1);
            dmmain.cdsoutdetail.ApplyUpdates(-1);
            dmmain.cdsoutstrip.ApplyUpdates(-1);
            setnull(frm_Umanage_Fad);
            init;
            except
              Application.MessageBox('服务器发生故障!',pchar(application.Title),mb_iconwarning);
              Exit;
            end;
             //Application.MessageBox('恭喜你!【非运营性出库单】草稿单据保存操作成功,请确认!',pchar(application.Title),mb_iconwarning);
        end;
        if Public_Do_Result='03' then
        begin
            Close;
        end;
    end;
    //修改草稿
    if Public_Do='Business_Storage_Out' then
    begin
      if Public_Do_Result='02' then //保存单据
      begin
        if not bedit then
        begin
          if trim(Handle_Man)<>trim(edit7.Text) then
          begin
            Application.MessageBox('不能修改数据!',pchar(application.Title),mb_iconinformation);
            exit;
          end;
        end;
        temp:='select * from out_strip where out_no='+''''+trim(edit2.Text)+'''';
        dmmain.CDSexecsql.Close;
        dmmain.CDSexecsql.Data:=null;
        dmmain.CDSexecsql.Data:=adisp.execSql(temp);
        dmmain.CDSexecsql.Open;
        dmmain.CDSexecsql.Edit;
        dmmain.CDSexecsql.FieldByName('gatrher_monad').AsString:=trim(edtgatrher.Text);
        dmmain.CDSexecsql.FieldByName('storage_no').AsString:=trim(edit4.Text);
        dmmain.CDSexecsql.FieldByName('transactor').AsString:=trim(edit5.Text);
        dmmain.CDSexecsql.FieldByName('condense').AsString:=trim(edit8.Text);
        dmmain.CDSexecsql.FieldByName('remark').AsString:=trim(edit9.Text);
        dmmain.CDSexecsql.FieldByName('wldw').AsString:=trim(edtgatrhername.Text);
        dmmain.CDSexecsql.Post;
        try
          dmmain.CDSexecsql.ApplyUpdates(-1);
        except
          application.MessageBox('服务器发生故障!',pchar(application.Title),mb_iconwarning);
          exit;
        end;
        temp:='select * from out_strip_detail where out_no='+''''+trim(edit2.Text)+'''';
        dmmain.CDSexecsql.Close;
        dmmain.CDSexecsql.Data:=null;
        dmmain.CDSexecsql.Data:=adisp.execSql(temp);
        dmmain.CDSexecsql.Open;
        for i:=1 to stringgrid1.RowCount-1 do
        begin
          dmmain.CDSexecsql.Edit;
          dmmain.CDSexecsql.FieldByName('amount').AsString:=trim(stringgrid1.Cells[3,i]);
          dmmain.CDSexecsql.FieldByName('money').AsString:=trim(stringgrid1.Cells[5,i]);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -