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

📄 stock_contract.pas

📁 适合行业为眼镜业
💻 PAS
📖 第 1 页 / 共 3 页
字号:
            Close;
        end;
    end;
    //操作草稿
    if Public_Do='Business_Draft_0002' then
    begin
        //草稿过帐转为单据
        if Public_Do_Result='01' then //保存为单据
        begin
            with frm_data.ClientDataSet2 do
            begin
                SQLPUB:= 'Select * from [V_Goods_Stock_Contract_View] where Receipt_No='''+Trim(List_NO)+'''';
                dmmain.CDSquery.Close;
                dmmain.CDSquery.Data:=frm_data.Socket_Connection.AppServer.GetRecord(sqlpub);
                dmmain.CDSquery.Open;
                try
                    //Open;
                   // Check_Flag:=frm_data.ClientDataSet2.FieldValues['Check_Result'];
                    Check_Flag:=dmmain.CDSquery.FieldValues['Check_Result'];
                    if Check_Flag='0' then
                    begin
                        Application.MessageBox('该张草稿单据还没有完全审核,不能过帐,请确认!',pchar(application.Title),mb_iconwarning);
                        Exit;
                    end;
                    if Check_Flag='1' then
                    begin
                        with frm_data.ClientDataSet_Add do
                        begin
                        //    Close;      //改为服务器模式
                        //    Commandtext:='';
                            //Commandtext:='update [Stock_contract] set Arrive_Date='''+Trim(Edit3.Text)+''',wldw='''+Trim(Edit4.Text)+''',resume='''+Trim(Edit8.Text)+''',remark='''+Trim(Edit9.Text)+''' where Contract_No='''+Trim(List_No)+'''';
                            sqlpub:='select * from Stock_contract where Contract_No='+''''+Trim(List_No)+'''';
                            dmmain.CDSexecsql.Close;
                            dmmain.CDSexecsql.Data:=frm_data.Socket_Connection.AppServer.execSql(sqlpub);
                            dmmain.CDSexecsql.Open;
                            dmmain.CDSexecsql.Edit;
                            dmmain.CDSexecsql.FieldByName('Arrive_Date').AsString:=formatdatetime('yyyy''-''mm''-''dd',edit3.Date);
                            dmmain.CDSexecsql.FieldByName('wldw').AsString:=Trim(Edit4.Text);
                            dmmain.CDSexecsql.FieldByName('resume').AsString:=Trim(Edit8.Text);
                            dmmain.CDSexecsql.FieldByName('remark').AsString:=Trim(Edit9.Text);
                            dmmain.CDSexecsql.FieldByName('wldw_no').AsString:=Trim(wldwno);  //往来单位
                            dmmain.CDSexecsql.Post;
                            try
                              dmmain.CDSexecsql.ApplyUpdates(-1);
                            except
                              Application.MessageBox('保存数据表时出错'+#13#10+'请检查远程服务器连接是否正常?请确认!',pchar(application.Title),mb_iconwarning);
                              Exit;
                            end;
                            try
//                                Execute;
                                //修改明细表的数据



                                sqlpub:='select * from  [Stock_contract_detail] where Contract_No='+''''+Trim(List_NO)+'''';
                                dmmain.CDSexecsql.Close;
                                dmmain.CDSexecsql.Data:=frm_data.Socket_Connection.AppServer.execsql(sqlpub);
                                dmmain.CDSexecsql.Open;
                                dmmain.CDSexecsql.First;
                                //dmmain.CDSexecsql.IsEmpty
                                for i:=1 to Total_Count-1 do
                                begin
                                    //try
                                        with frm_data.ClientDataSet_Add do
                                        begin
//                                            Close;
//                                            frm_data.ClientDataSet_Add.CommandText:='';
//                                            CommandText:='update [Stock_contract_detail] set Price='''+Trim(StringGrid1.Cells[3,i])+''',Goods_amount='''+Trim(StringGrid1.Cells[4,i])+''',Money='''+Trim(StringGrid1.Cells[5,i])+''' where Contract_No='''+Trim(List_NO)+''' and Goods_NO='''+Trim(StringGrid1.Cells[1,i])+'''';
                                               dmmain.CDSexecsql.Edit;
                                               dmmain.CDSexecsql.FieldByName('Price').AsString:=trim(stringgrid1.Cells[3,i]);
                                               dmmain.CDSexecsql.FieldByName('Goods_amount').AsString:=trim(stringgrid1.Cells[4,i]);
                                               dmmain.CDSexecsql.FieldByName('Money').AsString:=trim(stringgrid1.Cells[5,i]);
                                               dmmain.CDSexecsql.FieldByName('remark').AsString:=Trim(stringgrid1.Cells[8,i]);
                                               dmmain.CDSexecsql.Post;
                                               dmmain.CDSexecsql.Next;
{                                            try
                                                Execute;
                                            except
                                                Application.MessageBox('系统错误,在修改【采购合同明细】数据表时出错!'+#13#10+'请检查远程服务器连接是否正常?请确认!',pchar(application.Title),mb_iconwarning);
                                                Exit;
                                            end;   }
                                        end;
                                    //except
                                        //Application.MessageBox('系统错误,在修改【采购合同明细】数据表循环时出错!'+#13#10+'请检查远程服务器连接是否正常?请确认!',pchar(application.Title),mb_iconwarning);
                                        //Exit;
                                    //end;
                                end;
                                try
                                  dmmain.cdsStock_contract_detail.ApplyUpdates(-1);
                                except
                                  Application.MessageBox('系统错误,在修改【采购合同明细】数据出错!'+#13#10+'请检查远程服务器连接是否正常?请确认!',pchar(application.Title),mb_iconwarning);
                                  Exit;
                                end;
                                //修改草稿的标志位
                                with frm_data.ClientDataSet_Add do
                                begin      //改为服务器模式
                                    Close;
                                    Commandtext:='';
                                    Commandtext:='Update [Receipt] set Flag_sign=''单据'' where Receipt_No='''+Trim(List_NO)+'''';
                                    try
                                        Execute;
                                        Application.MessageBox('恭喜你!【采购合同】草稿单据过帐完毕!',pchar(application.Title),mb_iconwarning);
                                    except
                                        Application.MessageBox('系统错误,在修改【采购合同审核表】数据表标志位时出错!'+#13#10+'请检查远程服务器连接是否正常?请确认!',pchar(application.Title),mb_iconwarning);
                                        Exit;
                                    end;
                                end;
                            except
                                Application.MessageBox('系统错误,在修改【采购合同】数据表时出错!'+#13#10+'请检查远程服务器连接是否正常?请确认!',pchar(application.Title),mb_iconwarning);
                                Exit;
                            end;
                        end;
                    end;
                except
                    Application.MessageBox('系统错误,在打开【采购合同视图】数据表时出错!'+#13#10+'请检查远程服务器连接是否正常?请确认!',pchar(application.Title),mb_iconwarning);
                    Exit;
                end;
            end;
        end;
        //修改草稿单据
        if Public_Do_Result='02' then //修改草稿单据
        begin
            with frm_data.ClientDataSet_Add do
            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;
                sqlpub:='select * from [Stock_contract] where Contract_No='+''''+Trim(List_No)+'''';
                dmmain.CDSexecsql.Close;
                dmmain.CDSexecsql.Data:=frm_data.Socket_Connection.AppServer.execSql(sqlpub);
                dmmain.CDSexecsql.Open;
                dmmain.CDSexecsql.Edit;
                dmmain.CDSexecsql.FieldByName('Arrive_Date').AsString:=formatdatetime('yyyy''-''mm''-''dd',edit3.Date);
                dmmain.CDSexecsql.FieldByName('wldw').AsString:=Trim(Edit4.Text);
                dmmain.CDSexecsql.FieldByName('wldw_no').AsString:=Trim(wldwno);
                dmmain.CDSexecsql.FieldByName('resume').AsString:=Trim(Edit8.Text);
                dmmain.CDSexecsql.FieldByName('remark').AsString:=Trim(Edit9.Text);
                dmmain.CDSexecsql.Post;
                try
                  dmmain.CDSexecsql.ApplyUpdates(-1);
                except
                  Application.MessageBox('系统错误,在采购【采购合同】数据表时出错!'+#13#10+'请检查远程服务器连接是否正常?请确认!',pchar(application.Title),mb_iconwarning);
                  Exit;
                end;
                    //修改明细表的数据
                    //wy edit 3-14
                  sqlpub:='select * from  [Stock_contract_detail] where Contract_No='+''''+Trim(List_NO)+'''';
                  dmmain.CDSexecsql.Close;
                  dmmain.CDSexecsql.Data:=frm_data.Socket_Connection.AppServer.execsql(sqlpub);
                  dmmain.CDSexecsql.Open;
                  dmmain.CDSexecsql.First;
                  for i:=1 to stringgrid1.RowCount-1  do //wy edit 3-14
                  begin
                      try
                          dmmain.CDSexecsql.Edit;
                          dmmain.CDSexecsql.FieldByName('Price').AsString:=trim(stringgrid1.Cells[3,i]);
                          dmmain.CDSexecsql.FieldByName('Goods_amount').AsString:=trim(stringgrid1.Cells[4,i]);
                          dmmain.CDSexecsql.FieldByName('Money').AsString:=trim(stringgrid1.Cells[5,i]);
                          dmmain.CDSexecsql.Post;
                          dmmain.CDSexecsql.Next;
                      except
                          Application.MessageBox('系统错误,在修改【采购合同明细】数据表循环时出错!'+#13#10+'请检查远程服务器连接是否正常?请确认!',pchar(application.Title),mb_iconwarning);
                          Exit;
                      end;
                  end;
                  try
                    dmmain.CDSexecsql.ApplyUpdates(-1);
                  except
                    Application.MessageBox('系统错误,在修改【采购合同明细】数据表循环时出错!'+#13#10+'请检查远程服务器连接是否正常?请确认!',pchar(application.Title),mb_iconwarning);
                    Exit;
                  end;
            end;
        end;
        if func.Public_Do_Result='03' then
        begin
            frm_data.ClientDataSet_Add.Close;
            frm_data.ClientDataSet_Add.Active:=False;
            Close;
        end;
    end;
    frm_Public_Don.Free;
end;


procedure Tfrm_Stock_Contract.Edit1Click(Sender: TObject);
begin
    Edit1.Text:=ForMatDatetime('yyyy''-''mm''-''dd',now);
end;

procedure Tfrm_Stock_Contract.Cmd_DWClick(Sender: TObject);
begin
    Check_Mond:='';
    wldwno:='';
    Check_Mond:='DW-0001';
    frm_Supply_Monad:=Tfrm_Supply_Monad.Create(self);
    frm_Supply_Monad.Caption:='【供货单位】';
    frm_Supply_Monad.ShowModal;
    Edit4.Text:=check_Mond_Result;
    frm_Supply_Monad.Free;
end;

procedure Tfrm_Stock_Contract.Cmd_JSRClick(Sender: TObject);
begin
    Employe_Check:='';
    Employe_Check:='JSR-0001';
    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 Tfrm_Stock_Contract.Cmd_ZDRClick(Sender: TObject);
begin
//    Edit7.Text:=Handle_Man;
    frm_Login_Man:=Tfrm_Login_Man.Create(self);
    frm_Login_Man.Caption:='制单人选择';
    frm_Login_Man.ShowModal;
    Edit7.Text:=Employe_Check_Result;
    frm_Login_Man.Free;
end;

procedure Tfrm_Stock_Contract.StringGrid1DblClick(Sender: TObject);
var
  i:integer;
begin
  if Trim(Edit2.Text)='' then
  begin
      Application.MessageBox('操作失败,【单据编号】不能为空!',pchar(application.Title),mb_iconwarning);
      Edit2.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 pcol in [1,2] then
    begin
     fmgoodCodeSelStr:= TfmgoodCodeSelStr.Create(self);
     try
     fmgoodcodeselStr.show_mode:='5';
     fmgoodcodeselStr.ShowModal;
     finally
     fmgoodcodeselStr.Free;
     end;
    end;
  if pcol = 4 then  //复制数量
  begin
   for i := prow+1 to STRINGGRID1.rowcount -1 do
   begin
   STRINGGRID1.cells[4,i]:= STRINGGRID1.cells[4,prow];
   //同时要计算金额                                       
   end;
  end;
end;


procedure Tfrm_Stock_Contract.StringGrid1DrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
var
  s:string;
  r:TRect;
begin
//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

⌨️ 快捷键说明

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