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

📄 uflat.pas

📁 适合行业为眼镜业
💻 PAS
📖 第 1 页 / 共 2 页
字号:
      application.MessageBox('请选择经手人!',pchar(application.Title),mb_iconinformation);
      edit5.SetFocus;
      exit;
    end;
    if (trim(stringgrid1.Cells[1,1])='') or (trim(stringgrid1.Cells[4,1])='') then
    begin
      application.MessageBox('请输入套餐商品的编号或数量',pchar(application.Title),mb_iconinformation);
      stringgrid1.SetFocus;
      exit;
    end;
    for i:=1 to stringgrid2.RowCount-1 do
    begin
      if (trim(stringgrid2.Cells[1,i])='') or (trim(stringgrid2.Cells[4,1])='') then
      begin
        application.MessageBox('请输入组成商品的编号或数量',pchar(application.Title),mb_iconinformation);
        stringgrid2.SetFocus;
        exit;
      end;
    end;
  END;
  if Public_Do='flatnew' then
  begin
    if Public_Do_Result='02' then
    begin
      if dmmain.cdsflat.Active then dmmain.cdsflat.Close;
      dmmain.cdsflat.Params.ParamByName('no').AsString:='1';
      dmmain.cdsflat.Open;
      dmmain.cdsflat.Insert;
      dmmain.cdsflat.FieldByName('stock_no').AsString:=trim(edit2.Text);
      dmmain.cdsflat.FieldByName('copy_date').AsString:=trim(edit1.Text);
      dmmain.cdsflat.FieldByName('storage').AsString:=trim(edtshop.Text);
      dmmain.cdsflat.FieldByName('tranman').AsString:=trim(edit5.Text);
      dmmain.cdsflat.FieldByName('operater').AsString:=trim(edit7.Text);
      dmmain.cdsflat.FieldByName('goods_no').AsString:=trim(stringgrid1.Cells[1,1]);
      dmmain.cdsflat.FieldByName('goods_name').AsString:=trim(stringgrid1.Cells[2,1]);
      dmmain.cdsflat.FieldByName('price').AsString:=trim(stringgrid1.Cells[3,1]);
      dmmain.cdsflat.FieldByName('amount').AsString:=trim(stringgrid1.Cells[4,1]);
      dmmain.cdsflat.FieldByName('totalmoney').AsString:=trim(stringgrid1.Cells[5,1]);
      dmmain.cdsflat.Post;
      if dmmain.cdsflatdetail.Active then dmmain.cdsflatdetail.Close;
      dmmain.cdsflatdetail.Params.ParamByName('no').AsString:='1';
      dmmain.cdsflatdetail.Open;
      for i:=1 to stringgrid2.RowCount-1 do
      begin
        dmmain.cdsflatdetail.Insert;
        dmmain.cdsflatdetail.FieldByName('stock_no').AsString:=trim(edit2.Text);
        dmmain.cdsflatdetail.FieldByName('goods_no').AsString:=trim(stringgrid2.Cells[1,i]);
        dmmain.cdsflatdetail.FieldByName('goods_name').AsString:=trim(stringgrid2.Cells[2,i]);
        dmmain.cdsflatdetail.FieldByName('price').AsString:=trim(stringgrid2.Cells[3,i]);
        dmmain.cdsflatdetail.FieldByName('amount').AsString:=trim(stringgrid2.Cells[4,i]);
        dmmain.cdsflatdetail.FieldByName('flatgoods').AsString:=trim(stringgrid1.Cells[1,1]); //组合后商品编码;
        dmmain.cdsflatdetail.Post;
      end;
      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(edtshop.Text)+'】定义套餐【'+trim(stringgrid1.cells[1,1])+'】';
      dmmain.cdsReceipt.FieldByName('Re_part').AsString:=trim(Handle_Part);
      dmmain.cdsReceipt.Post;
      try
        dmmain.cdsReceipt.ApplyUpdates(-1);
        dmmain.cdsflat.ApplyUpdates(-1);
        dmmain.cdsflatdetail.ApplyUpdates(-1);
      except
        application.MessageBox('服务器发生故障!',pchar(application.Title),mb_iconwarning);
        exit;
      end;
    end else
    begin
      close;
    end;
  end;
  if Public_Do='flatedit' 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;
      if dmmain.cdsflat.Active then dmmain.cdsflat.Close;
      dmmain.cdsflat.Params.ParamByName('no').AsString:=trim(list_no);
      dmmain.cdsflat.Open;
      dmmain.cdsflat.edit;
      dmmain.cdsflat.FieldByName('storage').AsString:=trim(edtshop.Text);
      dmmain.cdsflat.FieldByName('tranman').AsString:=trim(edit5.Text);
      dmmain.cdsflat.FieldByName('operater').AsString:=trim(edit7.Text);
      dmmain.cdsflat.FieldByName('goods_no').AsString:=trim(stringgrid1.Cells[1,1]);
      dmmain.cdsflat.FieldByName('goods_name').AsString:=trim(stringgrid1.Cells[2,1]);
      dmmain.cdsflat.FieldByName('price').AsString:=trim(stringgrid1.Cells[3,1]);
      dmmain.cdsflat.FieldByName('amount').AsString:=trim(stringgrid1.Cells[4,1]);
      dmmain.cdsflat.FieldByName('totalmoney').AsString:=trim(stringgrid1.Cells[5,1]);
      dmmain.cdsflat.Post;
      if dmmain.cdsflatdetail.Active then dmmain.cdsflatdetail.Close;
      dmmain.cdsflatdetail.Params.ParamByName('no').AsString:=trim(list_no);
      dmmain.cdsflatdetail.Open;
      for i:=1 to stringgrid2.RowCount-1 do
      begin
        dmmain.cdsflatdetail.edit;
        dmmain.cdsflatdetail.FieldByName('goods_no').AsString:=trim(stringgrid2.Cells[1,i]);
        dmmain.cdsflatdetail.FieldByName('goods_name').AsString:=trim(stringgrid2.Cells[2,i]);
        dmmain.cdsflatdetail.FieldByName('price').AsString:=trim(stringgrid2.Cells[3,i]);
        dmmain.cdsflatdetail.FieldByName('amount').AsString:=trim(stringgrid2.Cells[4,i]);
        dmmain.cdsflatdetail.FieldByName('flatgoods').AsString:=trim(stringgrid1.Cells[1,1]); //组合后商品编码;
        dmmain.cdsflatdetail.Post;
        dmmain.cdsflatdetail.Next;
      end;
      try
        dmmain.cdsflat.ApplyUpdates(-1);
        dmmain.cdsflatdetail.ApplyUpdates(-1);
      except
        application.MessageBox('服务器发生故障!',pchar(application.Title),mb_iconwarning);
        exit;
      end;
    end else
    begin
      close;
    end;
  end;
  close;
end;

procedure Tfmflat.SpeedButton5Click(Sender: TObject);
begin
  inherited;
  Check_Storage:='';
  Check_Storage_Result:='';
  Check_Storage:='Goods_Write';
  frm_Storage_Select:=Tfrm_Storage_Select.Create(self);
  frm_Storage_Select.ShowModal;
  Edtshop.Text:=Trim(Check_Storage_Result_NO);
  frm_Storage_Select.Free;
end;

procedure Tfmflat.Cmd_JSRClick(Sender: TObject);
begin
  inherited;
  Employe_Check:='';
  Employe_Check:='Goods_Write_Str';
  Employe_Check_Result:='';
  frm_Login_Man:=Tfrm_Login_Man.Create(self);
  frm_Login_Man.Caption:='经手人选择';
  frm_Login_Man.ShowModal;
  Edit5.Text:=Employe_Check_Result;
  frm_Login_Man.Free;
end;

procedure Tfmflat.StringGrid2MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
  var
    i:integer;
    tm:double;
begin
  inherited;
  tm:=0.00;
  for i:=1 to stringgrid2.RowCount-1 do
  begin
    if trim(stringgrid2.Cells[5,i])<>'' then
    tm:=tm+strtofloat(stringgrid2.Cells[5,i]);
  end;
  stringgrid1.Cells[3,1]:=floattostr(tm);
end;

procedure Tfmflat.SpeedButton2Click(Sender: TObject);
var
  user,sql,no,shopno:widestring;
  flag:olevariant;
begin
    inherited;
  if trim(public_do)<>'flatedit' then exit;
  no:=trim(edit2.Text);
  typed:='套餐定义';
  user:=trim(Handle_No);
  flag:=adisp.receipted(no,typed,user,1,Handle_Part);
  if flag=3 then
  begin
    sql:='select goods_no from goods_code where goods_no='+''''+trim(stringgrid1.Cells[1,1])+'''';
    dmmain.CDSexecsql.Close;
    dmmain.CDSexecsql.Data:=null;
    dmmain.CDSexecsql.Data:=adisp.execSql(sql);
    dmmain.CDSexecsql.Open;
    if dmmain.CDSexecsql.IsEmpty then
    begin
      sql:='insert into goods_code (goods_no,goods_name,type_no,type,brand_no,brand,breed_no,breed,norms_type_no,norms_type) values ('+''''+trim(stringgrid1.Cells [1,1])+''''+','+''''+trim(stringgrid1.Cells[2,1])+''''+','+''''+trim('tc')+''''+','+''''+trim('套餐商品')+''''+','+''''+trim('zdy')+''''+','+''''+trim('自定义')+''''+','+''''+trim('zdy')+''''+','+''''+trim('自定义')+''''+','+''''+trim('zdy')+''''+','+''''+trim('自定义')+''''+')';
      ipubtemp.scrapsate(sql);//写入商品信息表
      sql:='insert into goods_prices (goods_no,baseprice) values ('+''''+trim(stringgrid1.Cells [1,1])+''''+','+''''+trim(stringgrid1.Cells[3,1])+''''+')';
      ipubtemp.scrapsate(sql);//写入商品财流表
      //////////生成出入库单///////////////
      shopno:=trim(edtshop.Text);
      ipubtemp.inputFlat(no,shopno);
      //////////////////////////////////////
    end;
  end;
  if flag='1' then
  begin
    application.MessageBox('审核成功!',pchar(application.Title),mb_iconinformation);
    close;
    exit;
  end;
  if flag='2' then
  begin
    application.MessageBox('无权进行进行审核',pchar(application.Title),mb_iconinformation);
    exit;
  end;
  if flag='3' then
  begin
    application.MessageBox('审核完毕!',pchar(application.Title),mb_iconinformation);
    close;
    exit;
  end;
  if flag='4' then
  begin
    application.MessageBox('反审核完毕!',pchar(application.Title),mb_iconinformation);
    exit;
  end;
  if flag='5' then
  begin
    application.MessageBox('反审核成功!',pchar(application.Title),mb_iconinformation);
    exit;
  end;
  if flag='6' then
  begin
    application.MessageBox('单据过帐后,不能进行审核或反审核!',pchar(application.Title),mb_iconinformation);
    exit;
  end;

end;

procedure Tfmflat.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  psum.Free;
  psum:=nil;
  DMMAIN.CDSquery2.Close;
  dmmain.CDSquery2.Data:=null;
  dmmain.cdsflat.Close;
  dmmain.cdsflat.Data:=null;
  dmmain.cdsflatdetail.Close;
  dmmain.cdsflatdetail.Data:=null;
  inherited;
end;

procedure Tfmflat.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  s:string;
  r:TRect;
begin
   inherited;
//ydy add 设置显示颜色
 with Sender as Tstringgrid do
        begin
        if gdSelected in State then
        Canvas.Brush.Color:= clTeal;  //clBlue; //clyellow;//clRed;
        Canvas.TextRect(Rect,Rect.Left,Rect.Top,' '+Cells[ACol,ARow]);
        if gdFocused in State then
        Canvas.DrawFocusRect(Rect);
        end;

//不但水平居中,还垂直居中
with Sender as Tstringgrid do
    begin
      Canvas.FillRect(Rect);
      s:=Cells[ACol,ARow];
      r:=Rect;
      DrawText(Canvas.Handle,PChar(s),Length(s),r,DT_CENTER or DT_SINGLELINE or DT_VCENTER);
    end;

end;

procedure Tfmflat.StringGrid2DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  s:string;
  r:TRect;
begin
  inherited;
//ydy add 设置显示颜色
 with Sender as Tstringgrid do
        begin
        if gdSelected in State then
        Canvas.Brush.Color:= clTeal;  //clBlue; //clyellow;//clRed;
        Canvas.TextRect(Rect,Rect.Left,Rect.Top,' '+Cells[ACol,ARow]);
        if gdFocused in State then
        Canvas.DrawFocusRect(Rect);
        end;

//不但水平居中,还垂直居中
with Sender as Tstringgrid do
    begin
      Canvas.FillRect(Rect);
      s:=Cells[ACol,ARow];
      r:=Rect;
      DrawText(Canvas.Handle,PChar(s),Length(s),r,DT_CENTER or DT_SINGLELINE or DT_VCENTER);
    end;
end;

procedure Tfmflat.Cmd_DeleteClick(Sender: TObject);
begin
  inherited;
  deletegridrows(stringgrid2,prow2);
end;

procedure Tfmflat.Cmd_AddClick(Sender: TObject);
begin
  inherited;
  addgridrows(stringgrid2);
end;

end.

⌨️ 快捷键说明

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