📄 stock_enter.pas
字号:
StringGrid1.RowCount:=2;
iColcount:=StringGrid1.ColCount-1; //需要的填充数据的网络表格的列数
StringGrid1.RowCount:=2;
Total_Count:=StringGrid1.RowCount;
init;
//草稿单据查看
if ((Public_Do='Business_Draft_0001')or (Public_Do='Business_Storage_in')) then //采购或非营业入库;
begin
sqlsub:='Select a.*,b.*,c.* from stock_jion as a,stock_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='''+List_No+'''';
dmmain.CDSexecsql.Close;
dmmain.CDSexecsql.Data:=frm_data.Socket_Connection.AppServer.execSql(sqlsub);
dmmain.CDSexecsql.Open;
k:=dmmain.CDSexecsql.RecordCount;
StringGrid1.RowCount:=k+1;
//自动加载STRINGGRID的行数
//******************
Edit1.Text:=trim(dmmain.CDSexecsql.Fieldbyname('Copy_Date').AsString);//.FieldValues['Copy_Date'];
Edit2.Text:=trim(dmmain.CDSexecsql.Fieldbyname('stock_No').AsString);//FieldValues['Receipt_No'];
Edit3.Text:=trim(dmmain.CDSexecsql.Fieldbyname('Contract_NO').AsString);//FieldValues['Contract_NO'];
Edit4.Text:=trim(dmmain.CDSexecsql.Fieldbyname('wldw').AsString);//FieldValues['wldw'];
Edit5.Text:=trim(dmmain.CDSexecsql.Fieldbyname('Storage_NO').AsString);//FieldValues['Storage_NO'];
Edit6.Text:=trim(dmmain.CDSexecsql.Fieldbyname('Transactor').AsString);//FieldValues['Transactor'];
Edit7.Text:=trim(dmmain.CDSexecsql.Fieldbyname('Shop_NO').AsString);//FieldValues['Shop_NO'];
Edit8.Text:=trim(dmmain.CDSexecsql.Fieldbyname('proposer').AsString);//FieldValues['proposer'];
Edit9.Text:=trim(dmmain.CDSexecsql.Fieldbyname('Resume').AsString);//FieldValues['Remark'];
Edit10.Text:=trim(dmmain.CDSexecsql.Fieldbyname('Remark').AsString);//FieldValues['Condense'];
//Edit.Text:=dmmain.CDSexecsql.Fieldbyname('Quality_Check_ID').AsString;//FieldValues[''];
wldwno:=trim(dmmain.CDSexecsql.FieldByName('wldw_no').AsString);
for k:=1 to StringGrid1.RowCount do
begin
StringGrid1.Cells[0,K]:=IntTostr(k); //表示第0列第i行的名称
StringGrid1.Cells[1,k]:=trim(dmmain.CDSexecsql.Fieldbyname('Goods_NO').AsString);//FieldValues['Goods_NO'];//商品编号
StringGrid1.Cells[2,k]:=trim(dmmain.CDSexecsql.Fieldbyname('Goods_Name').AsString);//FieldValues['Goods_Name'];//商品名称
StringGrid1.Cells[4,k]:=trim(dmmain.CDSexecsql.Fieldbyname('amount').AsString);//FieldValues['amount'];//金额
if (public_do='Business_Storage_in') then //非营业性入库
begin
StringGrid1.Cells[3,k]:=trim(dmmain.CDSexecsql.Fieldbyname('price').AsString);
StringGrid1.Cells[5,k]:=trim(dmmain.CDSexecsql.Fieldbyname('total_money').AsString);
StringGrid1.Cells[6,k]:=trim(dmmain.CDSexecsql.Fieldbyname('type').AsString);//FieldValues['Valid_Day']; //有效日期
StringGrid1.Cells[7,k]:=trim(dmmain.CDSexecsql.Fieldbyname('Remark').AsString);//FieldValues['Remark']; //备注说明
end else
begin
StringGrid1.Cells[5,k]:=trim(dmmain.CDSexecsql.Fieldbyname('type').AsString);//FieldValues['Valid_Day']; //有效日期
StringGrid1.Cells[6,k]:=trim(dmmain.CDSexecsql.Fieldbyname('quality').AsString);//FieldValues['Remark']; //备注说明
StringGrid1.Cells[StringGrid1.ColCount-1,k]:=trim(dmmain.CDSexecsql.Fieldbyname('orders').AsString);//FieldValues['Remark']; //订单
end;
dmmain.CDSexecsql.Next;
end;
GetDataPrint(dmmain.cdsprintmaster,dmmain.CDsexecsql);
// end;
end;
end;
procedure Tfrm_Stock_Enter.Cmd_AddClick(Sender: TObject);
var
i:integer;
begin
StringGrid1.RowCount:=StringGrid1.RowCount+1;
Total_Count:=StringGrid1.RowCount;
for i:=1 to StringGrid1.RowCount-1 do
begin
StringGrid1.Cells[0,i]:=IntTostr(i); //表示第0列第i行
end;
end;
procedure Tfrm_Stock_Enter.Cmd_DeleteClick(Sender: TObject);
begin
deletegridrows(stringgrid1,prow);
end;
procedure Tfrm_Stock_Enter.SpeedButton9Click(Sender: TObject);
begin
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;
Edit6.Text:=Employe_Check_Result;
frm_Login_Man.Free;
end;
procedure Tfrm_Stock_Enter.SpeedButton2Click(Sender: TObject);
var
user,s:widestring;
flag,inmethod:olevariant;
begin
if (Public_Do='Stock_0003') or (Public_Do='instock_0001') then exit;
if trim(stringgrid1.Cells[1,1])='' then exit;
no:=trim(edit2.Text);
s:=trim(edit5.Text);
if (Public_Do='Business_Draft_0001') then
begin
typed:='采购入库单';
end;
if (Public_Do='Business_Storage_in') then
begin
typed:='非营业性入库单'
end;
user:=trim(Handle_No);
flag:=adisp.receipted(no,typed,user,1,Handle_Part);
if flag='3' then //
begin
inmethod:=1;
flag:=adisp.inputstorage(no,inmethod,s); //数量入库!!//5-19 edit
//添加财务入库///////////////////////////////////////
/////////////////向对应的商品单价表里添加单价////////
end;
if flag='1' then
begin
application.MessageBox('审核成功!',pchar(application.Title),mb_iconinformation);
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);
//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 Tfrm_Stock_Enter.Edit3Change(Sender: TObject);
var
sql:widestring;
i:integer;
begin
if (Public_Do='Business_Draft_0001') or (Public_Do='Business_Storage_in') or (public_do='instock_0001') then exit;
if trim(edit3.Text)<>'' then
begin
sql:='Select a.*,b.*,c.* from Quality_Check_detail as a, Goods_code as b,Quality_Check as c where a.goods_no=b.goods_no and a.stock_No=c.stock_No and a.regular_amount>0 and a.stock_No='+''''+trim(edit3.Text)+'''';
dmmain.CDSquery2.Close;
dmmain.CDSquery2.Data:=adisp.resultrecord(sql);
dmmain.CDSquery2.Open;
i:=1;
if not dmmain.CDSquery2.IsEmpty then StringGrid1.RowCount:=dmmain.CDSquery2.RecordCount+1 else StringGrid1.RowCount:=2; //wy edit
Edit4.Text:=dmmain.CDSquery2.Fieldbyname('wldw').AsString;//FieldValues['wldw'];
Edit5.Text:=dmmain.CDSquery2.Fieldbyname('Storage_NO').AsString;//FieldValues['Storage_NO'];
Edit6.Text:=dmmain.CDSquery2.Fieldbyname('Transactor').AsString;//FieldValues['Transactor'];
Edit7.Text:=dmmain.CDSquery2.Fieldbyname('Shop_NO').AsString;//FieldValues['Shop_NO'];
Edit8.Text:=dmmain.CDSquery2.Fieldbyname('proposer').AsString;//FieldValues['proposer'];
wldwno:= dmmain.CDSquery2.FieldByName('wldw_no').AsString;
while not dmmain.CDSquery2.Eof do
begin
StringGrid1.Cells[0,i]:=inttostr(i);
StringGrid1.Cells[1,i]:=trim(dmmain.CDSquery2.Fieldbyname('Goods_NO').AsString);//FieldValues['Goods_NO'];//商品编号
StringGrid1.Cells[2,i]:=trim(dmmain.CDSquery2.Fieldbyname('Goods_Name').AsString);//FieldValues['Goods_Name'];//商品名称
StringGrid1.Cells[4,i]:=trim(dmmain.CDSquery2.Fieldbyname('regular_amount').AsString);//FieldValues['amount'];//金额
StringGrid1.Cells[5,i]:=trim(dmmain.CDSquery2.Fieldbyname('type').AsString);//FieldValues['Valid_Day']; //有效日期
StringGrid1.Cells[6,i]:=trim(dmmain.CDSquery2.Fieldbyname('GoodsMemo').AsString);//FieldValues['Remark']; //备注说明
StringGrid1.Cells[StringGrid1.ColCount-1,i]:=trim(dmmain.CDSquery2.Fieldbyname('orders').AsString);//FieldValues['Remark']; //备注说明
dmmain.CDSquery2.Next;
inc(i);
end;
end;
end;
procedure Tfrm_Stock_Enter.SpeedButton1Click(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:=Trim(check_Mond_Result);
frm_Supply_Monad.Free;
end;
procedure Tfrm_Stock_Enter.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
pcol:=acol;
prow:=arow;
end;
procedure Tfrm_Stock_Enter.StringGrid1KeyPress(Sender: TObject;
var Key: Char);
begin
if trim(StringGrid1.Cells[1,StringGrid1.Row])='' then exit;
if pcol =4 then
begin
if not (key in ['0'..'9',#8,'.']) then
begin
key:=#0;
end else
begin
if key<>#8 then
begin
if pcol=4 then
begin
if StringGrid1.Cells[4,prow]<>'0' then
begin
StringGrid1.Cells[4,prow]:=StringGrid1.Cells[4,prow]+key;
end else
begin
StringGrid1.Cells[4,prow]:=key;
end;
end;
if (Public_Do='Business_Storage_in') or (Public_Do='instock_0001') then
begin
if trim(StringGrid1.Cells[3,prow])<>'' then
begin
StringGrid1.Cells[5,prow]:=floattostr(strtofloat(StringGrid1.Cells[3,prow])*strtofloat(StringGrid1.Cells[4,prow]));
end else
begin
StringGrid1.Cells[5,prow]:='0';
end;
end;
end else
begin
if pcol=4 then
begin
StringGrid1.Cells[4,prow]:=copy(StringGrid1.Cells[4,prow],1,length(StringGrid1.Cells[4,prow])-1); //减去最后数字
if StringGrid1.Cells[4,prow]='' then
begin
StringGrid1.Cells[4,prow]:='0';
end;
if trim(StringGrid1.Cells[4,prow])='0' then
begin
StringGrid1.Cells[5,prow]:='0';
end else
begin
if (Public_Do='Business_Storage_in') or (Public_Do='instock_0001') then
begin
if trim(StringGrid1.Cells[3,prow])<>'' then
begin
StringGrid1.Cells[5,prow]:=floattostr(strtofloat(StringGrid1.Cells[3,prow])*strtofloat(StringGrid1.Cells[4,prow]));
end else
begin
StringGrid1.Cells[5,prow]:='0';
end;
end;
//StringGrid1.Cells[5,prow]:=floattostr(strtofloat(StringGrid1.Cells[3,prow])*strtofloat(StringGrid1.Cells[4,prow]));
end;
end;
end;
end;
end else
begin
key:=#0;
application.MessageBox('只能输入商品数量!',pchar(application.Title),mb_iconinformation);
exit;
end;
end;
procedure Tfrm_Stock_Enter.SpeedButton3Click(Sender: TObject);
begin
if dmmain.cdsprintmaster.IsEmpty then exit;
fastrepxf:=tfastrepxf.Create(self);
fastrepxf.filenames:='EnterStock.ini';
fastrepxf.ShowModal;
fastrepxf.Free;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -