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

📄 untnewshopgoods.pas

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

interface

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

type
  Tfmshopgoods = class(TfmBase)
    Panel1: TPanel;
    Panel2: TPanel;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    Cmd_Cancel: TSpeedButton;
    Panel3: TPanel;
    Edit1: TLabeledEdit;
    GroupBox1: TGroupBox;
    SpeedButton5: TSpeedButton;
    SpeedButton9: TSpeedButton;
    SpeedButton1: TSpeedButton;
    edtsendstock: TLabeledEdit;
    edtrestock: TLabeledEdit;
    edtp: TLabeledEdit;
    edtt: TLabeledEdit;
    edtrs: TLabeledEdit;
    edtrm: TLabeledEdit;
    Edit2: TLabeledEdit;
    Panel8: TPanel;
    Panel9: TPanel;
    Panel10: TPanel;
    Cmd_Delete: TSpeedButton;
    Cmd_Add: TSpeedButton;
    gridbase: TStringGrid;
    Label2: TLabel;
    procedure Cmd_CancelClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton9Click(Sender: TObject);
    procedure gridbaseDrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure gridbaseSelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
    procedure gridbaseKeyPress(Sender: TObject; var Key: Char);
    procedure SpeedButton2Click(Sender: TObject);
    procedure gridbaseDblClick(Sender: TObject);
    procedure gridbaseMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Cmd_AddClick(Sender: TObject);
    procedure Cmd_DeleteClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure SpeedButton3Click(Sender: TObject);
  private
    { Private declarations }
    pcol,prow:integer;
    procedure forminit;
    procedure checkdata;
  public
    { Public declarations }
  end;

var
  fmshopgoods: Tfmshopgoods;

implementation

uses untdatadm, Unt_PubStrGrid, func,Public_Don, UntSQpspart, Login_Man,
  UntgoodCodeSelStr, Unitreportxf;

{$R *.dfm}
///////////////////////////////////
procedure tfmshopgoods.forminit;
VAR
 I:INTEGER;
 temp,make:string;
BEGIN
  for i:=0 to (self.ControlCount-1) do
  begin
    if (self.Components[i] is TCustomEdit) then
    begin
      (self.Components[i] as TCustomEdit).Clear;
    end;
  end;
  for i:=1 to gridbase.RowCount-1 do   //清空网格,不能只减去行,避免下次新建时数据重复出现
  gridbase.Rows[i].Clear;
      gridbase.RowCount:=2;

  InitialStrGrid(gridbase,'新店铺货');
  gridbase.ColCount:=gridbase.ColCount+1;
  gridbase.ColWidths[gridbase.ColCount-1]:=-1;
  if (Public_Do='edited') then exit;
  temp:='select max(right(stock_no,4)) from storage_jion where copy_date='+''''+formatdatetime('yyyy''-''mm''-''dd',date)+''''+' and part_no='+''''+trim(Handle_Part)+'''';
  make:='SNG-'+trim(Handle_Part)+trim(handle_no);//5-11编码中部门编号
  edit2.Text:=setcode(temp,make);
  edit1.Text:=formatdatetime('yyyy''-''mm''-''dd',date);
  edtt.Text:=trim(Handle_Man);
  edtsendstock.Text:=trim(shopid);
end;
procedure  Tfmshopgoods.checkdata;
var
  i:integer;
begin
  if trim(edit2.Text)='' then
  begin
    application.MessageBox('请输入单据编号!',pchar(application.Title),mb_iconinformation);
    edit2.SetFocus;
    exit;
  end;
  if trim(edtsendstock.Text)='' then
  begin
    application.MessageBox('请选择发货仓库!',pchar(application.Title),mb_iconinformation);
    edtsendstock.SetFocus;
    exit;
  end;
  if trim(edtrestock.Text)='' then
  begin
    application.MessageBox('请选择收货仓库!',pchar(application.Title),mb_iconinformation);
    edtrestock.SetFocus;
    exit;
  end;
  if trim(edtp.Text)='' then
  begin
    application.MessageBox('请选择经手人!',pchar(application.Title),mb_iconinformation);
    edtp.SetFocus;
    exit;
  end;
  for i:=1 to gridbase.RowCount-1 do
  begin
    if trim(gridbase.Cells[1,i])='' then
    begin
      application.MessageBox('请选择商品!',pchar(application.Title),mb_iconinformation);
      gridbase.SetFocus;
      exit;
    end;
    if (trim(gridbase.Cells[3,i])='') or (trim(gridbase.Cells[3,i])='0') then
    begin
       application.MessageBox('请输入商品数量!',pchar(application.Title),mb_iconinformation);
       gridbase.SetFocus;
       exit;
    end;
  end;
end;
/////////////////////
/////////////////////////////
procedure Tfmshopgoods.Cmd_CancelClick(Sender: TObject);
var
  i:integer;
  sqlpub:widestring;
  flag:olevariant;
begin
  inherited;
   frm_Public_Don:=Tfrm_Public_Don.Create(self);
  frm_Public_Don.no:=trim(edit2.Text);
  frm_Public_Don.ShowModal;
  if Public_Do_Result='02' then
  begin
    checkdata;
    if Public_Do='edited' then
    begin
      if not bedit then
      begin
        if trim(Handle_Man)<>trim(edtt.Text) then
        begin
          Application.MessageBox('不能修改数据!',pchar(application.Title),mb_iconinformation);
          exit;
        end;
      end;
      sqlpub:='delete from [storage_jion] where stock_no='+''''+trim(list_no)+'''';
      try
      flag:=adisp.updatesql(sqlpub);
      sqlpub:= 'delete from [storage_jion_detail] where stock_no='+''''+trim(list_no)+'''';
      flag:=adisp.updatesql(sqlpub);
      except
        Application.MessageBox('服务器发生故障!',pchar(application.Title),mb_iconwarning);
        Exit;
      end;
    end;
    dmmain.cdsstorage_jion .Close;
    dmmain.cdsstorage_jion .Open;
    dmmain.cdsstorage_jion .Append;
    dmmain.cdsstorage_jion .FieldByName('Copy_Date').AsString:=edit1.Text; //录单日期
    dmmain.cdsstorage_jion .FieldByName('Stock_NO').AsString:=edit2.Text;  //单据编号
    dmmain.cdsstorage_jion .FieldByName('sendStock_NO').AsString:=trim(edtsendstock.Text);     //仓库编号
    dmmain.cdsstorage_jion .FieldByName('retailstock_no').AsString:=trim(edtrestock.Text);        //店面名称
    dmmain.cdsstorage_jion .FieldByName('Transactor').AsString:=edtt.Text;     //经手人
    dmmain.cdsstorage_jion .FieldByName('Proposer').AsString:=edtp.Text;      //制单人
    dmmain.cdsstorage_jion .FieldByName('resume').AsString:=edtrs.Text;       //摘要
    dmmain.cdsstorage_jion .FieldByName('Remark').AsString:=edtrm.Text;       //说明
    dmmain.cdsstorage_jion .FieldByName('Part_no').AsString:=Handle_Part; //部门编号
    dmmain.cdsstorage_jion .Post;
    if Public_Do<>'edited' then
    begin
      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(edtt.Text);
      dmmain.cdsReceipt.FieldByName('Condense').AsString:=trim(edtrs.Text);
      dmmain.cdsReceipt.FieldByName('Check_Result').Asinteger:=0;
      dmmain.cdsReceipt.FieldByName('Flag_Sign').AsString:='草稿';
      dmmain.cdsReceipt.FieldByName('Re_part').AsString:=trim(Handle_Part);
      dmmain.cdsReceipt.Post;
    end;
    dmmain.cdsstorage_detail.Close;
   dmmain.cdsstorage_detail.Open;
    for i:=1 to gridbase.RowCount-1 do
    begin
     dmmain.cdsstorage_detail.Append;
     dmmain.cdsstorage_detail.FieldByName('Stock_NO').AsString:=edit2.Text; //单据编号
     dmmain.cdsstorage_detail.FieldByName('Goods_NO').AsString:=trim(gridbase.Cells[1,i]);  //商品编号
     dmmain.cdsstorage_detail.FieldByName('Amount').AsString:=trim(gridbase.Cells[3,i]);  //铺货数量
     dmmain.cdsstorage_detail.FieldByName('ord').AsInteger:=i;    //序号
     dmmain.cdsstorage_detail.Post;
    end;
    try
      if Public_Do<>'edited' then
      begin
        dmmain.cdsReceipt.ApplyUpdates(-1);
      end;
      dmmain.cdsstorage_jion.ApplyUpdates(-1);
      dmmain.cdsstorage_detail.ApplyUpdates(-1);
      close;
    except
      Application.MessageBox('服务器发生故障!',pchar(application.Title),mb_iconwarning);
      Exit;
    end;
  end;

end;

procedure Tfmshopgoods.FormShow(Sender: TObject);
  var
  i:integer;
  tempstr:widestring;
begin
  forminit;
    if (Public_Do='edited')  then
    begin
      tempstr:='Select a.*,b.*,c.* from storage_jion as a, storage_jion_detail as b, Goods_code as c where a.stock_no=b.stock_no and b.goods_no=c.goods_no and a.Stock_NO='+''''+trim(List_No)+'''';
      dmmain.CDSquery2.Data:=null;
      dmmain.CDSquery2.Close;
      try
      dmmain.CDSquery2.Data:=adisp.resultrecord(tempstr);
      dmmain.CDSquery2.Open;
      gridbase.RowCount:= dmmain.CDSquery2.RecordCount+1;
      except
      end;
      if not dmmain.CDSquery2.IsEmpty then       //返回记录集为空时在往下走要报错,Wy
      begin
          //
          edit1.Text:=ForMatDateTime('yyyy''-''mm''-''dd',dmmain.CDSquery2.FieldValues['Copy_Date']);
          edit2.Text:=dmmain.CDSquery2.FieldValues['Stock_NO'];
          edtsendstock.Text:=dmmain.CDSquery2.FieldValues['sendstock_NO'];
          edtrestock.Text:=dmmain.CDSquery2.FieldValues['retailstock_no'];
          edtt.Text:=dmmain.CDSquery2.FieldValues['Transactor'];

⌨️ 快捷键说明

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