📄 stock_contract.pas
字号:
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 + -