📄 umoneystock.pas
字号:
unit Umoneystock;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ubase, StdCtrls, Buttons, ExtCtrls, Grids;
type
Tfrmmoneystock = class(Tfrmbase)
Panel3: TPanel;
Cmd_HT: TSpeedButton;
Edit1: TLabeledEdit;
GroupBox1: TGroupBox;
SpeedButton7: TSpeedButton;
SpeedButton9: TSpeedButton;
Edit4: TLabeledEdit;
Edit_Stock_Name: TLabeledEdit;
Edit6: TLabeledEdit;
Edit8: TLabeledEdit;
Edit9: TLabeledEdit;
Edit10: TLabeledEdit;
Edit5: TEdit;
Edit2: TLabeledEdit;
Edit3: TLabeledEdit;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
sgorder: TStringGrid;
Label2: TLabel;
Panel1: TPanel;
Label1: TLabel;
LbPRICE: TLabel;
Label3: TLabel;
LbMONEY: TLabel;
procedure spbexitClick(Sender: TObject);
procedure Cmd_HTClick(Sender: TObject);
procedure Edit3Change(Sender: TObject);
procedure sgorderSelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
procedure sgorderKeyPress(Sender: TObject; var Key: Char);
procedure FormShow(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure sgorderDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure SpeedButton9Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure sgorderMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure SpeedButton3Click(Sender: TObject);
private
locatcol,locatrow:integer;
procedure init;
{ Private declarations }
public
{ Public declarations }
end;
var
frmmoneystock: Tfrmmoneystock;
implementation
uses Uinputselect, untdatadm, Public_Don, func, Login_Man, Unt_PubStrGrid,
Unitreportxf;
{$R *.dfm}
procedure tfrmmoneystock.init;
var
temp,make:string;
begin
InitialStrGrid(sgorder,'财务入库');
temp:='select max(right(stock_no,4)) from MONEYINPUT where copy_date='+''''+formatdatetime('yyyy''-''mm''-''dd',date)+'''';
make:='CW-'+trim(Handle_Part)+trim(handle_no); //5-11 编码中用部门编号;
edit2.Text:=setcode(temp,make);
edit1.Text:=formatdatetime('yyyy''-''mm''-''dd',date);
edit8.Text:=trim(Handle_Man);
end;
procedure Tfrmmoneystock.spbexitClick(Sender: TObject);
var
i:integer;
sql:string;
begin
////////////////
frm_Public_Don:=Tfrm_Public_Don.Create(self);
frm_Public_Don.ShowModal;
if Public_Do='money_stock' then
begin
if Public_Do_Result='02' then //添加
begin
if Trim(Edit1.Text)='' then
begin
application.MessageBox('操作错误,【录单日期】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
Edit1.SetFocus;
Exit;
end;
if Trim(Edit2.Text)='' then
begin
application.MessageBox('操作错误,【单据编号】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
Edit2.SetFocus;
Exit;
end;
if Trim(Edit6.Text)='' then
begin
application.MessageBox('操作错误,【经手人】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
Edit6.SetFocus;
Exit;
end;
if Trim(Edit8.Text)='' then
begin
application.MessageBox('操作错误,【制单人】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
Edit8.SetFocus;
Exit;
end;
if Trim(Edit3.Text)='' then
begin
application.MessageBox('操作错误,【入库单据号】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
Edit3.SetFocus;
Exit;
end;
for i:=1 to sgorder.RowCount-1 do
begin
if sgorder.Cells[1,i]='' then
begin
application.MessageBox('操作错误,【商品编号】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
Exit;
end;
if sgorder.Cells[5,i]='' then
begin
application.MessageBox('操作错误,【单价】不能为空!,请确认!',pchar(application.Title),mb_iconwarning);
Exit;
end;
end;
if not dmmain.cdsmoneyinput.Active then dmmain.cdsmoneyinput.Open;
dmmain.cdsmoneyinput.Insert; //财务入库主表;
dmmain.cdsmoneyinput.FieldByName('copy_date').AsString:=trim(edit1.text);
dmmain.cdsmoneyinput.FieldByName('stock_no').AsString:=trim(edit2.text);
dmmain.cdsmoneyinput.FieldByName('input_no').AsString:=trim(edit3.text);
dmmain.cdsmoneyinput.FieldByName('wldw').AsString:=trim(edit4.text);
dmmain.cdsmoneyinput.FieldByName('wldw_no').AsString:=trim(wldwno);
dmmain.cdsmoneyinput.FieldByName('shop_no').AsString:=trim(edit5.text);
dmmain.cdsmoneyinput.FieldByName('Transactor').AsString:=trim(edit6.text);
dmmain.cdsmoneyinput.FieldByName('proposer').AsString:=trim(edit8.text);
dmmain.cdsmoneyinput.FieldByName('Condense').AsString:=trim(edit9.text);
dmmain.cdsmoneyinput.FieldByName('remark').AsString:=trim(edit10.text);
dmmain.cdsmoneyinput.Post;
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(Edit8.Text);
dmmain.cdsReceipt.FieldByName('Check_Result').Asinteger:=0;
dmmain.cdsReceipt.FieldByName('Flag_Sign').AsString:='草稿';
dmmain.cdsReceipt.FieldByName('Condense').AsString:=Trim(Edit10.Text);
dmmain.cdsReceipt.FieldByName('Re_part').AsString:=trim(Handle_Part);
dmmain.cdsReceipt.Post;
if dmmain.cdsmoneydetail.Active then dmmain.cdsmoneydetail.Close;
dmmain.cdsmoneydetail.Open;
for i:=1 to sgorder.RowCount-1 do
begin
dmmain.cdsmoneydetail.Insert;
dmmain.cdsmoneydetail.FieldByName('stock_no').AsString:=trim(edit2.Text);
dmmain.cdsmoneydetail.FieldByName('goods_no').AsString:=trim(sgorder.Cells[1,i]);
dmmain.cdsmoneydetail.FieldByName('amount').AsString:=trim(sgorder.Cells[3,i]);
dmmain.cdsmoneydetail.FieldByName('baseprice').AsString:=trim(sgorder.Cells[4,i]);
dmmain.cdsmoneydetail.FieldByName('money').AsString:=trim(sgorder.Cells[5,i]);
dmmain.cdsmoneydetail.Post;
end;
try
dmmain.cdsReceipt.ApplyUpdates(-1);
dmmain.cdsmoneyinput.ApplyUpdates(-1);
dmmain.cdsmoneydetail.ApplyUpdates(-1);
if trim(edit3.Text)<>'' then
setpass(edit3.Text);
setnull(frmmoneystock);
init;
except
application.MessageBox('服务器发生故障!',pchar(application.Title),mb_iconinformation);
exit;
end;
end;
end;
if Public_Do='Business_money' then
begin
//修改草稿单据
if Public_Do_Result='02' then
begin
if not bedit then
begin
if trim(Handle_Man)<>trim(edit8.Text) then
begin
Application.MessageBox('不能修改数据!',pchar(application.Title),mb_iconinformation);
exit;
end;
end;
sql:='select * from moneyinput where stock_no='+''''+Trim(List_NO)+'''';
if dmmain.CDSexecsql.Active then dmmain.cdsmoneyinput.close;
dmmain.CDSexecsql.Data:=null;
dmmain.CDSexecsql.Data:=adisp.execSql(sql);
dmmain.CDSexecsql.Open;
dmmain.CDSexecsql.edit; //财务入库主表;
dmmain.CDSexecsql.FieldByName('copy_date').AsString:=trim(edit1.text);
dmmain.CDSexecsql.FieldByName('stock_no').AsString:=trim(edit2.text);
dmmain.CDSexecsql.FieldByName('input_no').AsString:=trim(edit3.text);
dmmain.CDSexecsql.FieldByName('wldw').AsString:=trim(edit4.text);
dmmain.CDSexecsql.FieldByName('wldw_no').AsString:=trim(wldwno); //////////
dmmain.CDSexecsql.FieldByName('shop_no').AsString:=trim(edit5.text);
dmmain.CDSexecsql.FieldByName('Transactor').AsString:=trim(edit6.text);
dmmain.CDSexecsql.FieldByName('proposer').AsString:=trim(edit8.text);
dmmain.CDSexecsql.FieldByName('Condense').AsString:=trim(edit9.text);
dmmain.CDSexecsql.FieldByName('remark').AsString:=trim(edit10.text);
dmmain.CDSexecsql.Post;
try
dmmain.CDSexecsql.ApplyUpdates(-1);
except
application.MessageBox('服务器发生故障!',pchar(application.Title),mb_iconinformation);
exit;
end;
sql:='select * from moneyinput_detail where stock_no='+''''+Trim(List_NO)+'''';
if dmmain.CDSexecsql.Active then dmmain.cdsmoneyinput.close;
dmmain.CDSexecsql.Data:=null;
dmmain.CDSexecsql.Data:=adisp.execSql(sql);
dmmain.CDSexecsql.Open;
if dmmain.CDSexecsql.Active then dmmain.CDSexecsql.Close;
dmmain.CDSexecsql.Open;
for i:=1 to sgorder.RowCount-1 do
begin
dmmain.CDSexecsql.edit;
dmmain.CDSexecsql.FieldByName('stock_no').AsString:=trim(edit2.Text);
dmmain.CDSexecsql.FieldByName('goods_no').AsString:=trim(sgorder.Cells[1,i]);
dmmain.CDSexecsql.FieldByName('amount').AsString:=trim(sgorder.Cells[3,i]);
dmmain.CDSexecsql.FieldByName('baseprice').AsString:=trim(sgorder.Cells[4,i]);
dmmain.CDSexecsql.FieldByName('money').AsString:=trim(sgorder.Cells[5,i]);
dmmain.CDSexecsql.Post;
dmmain.CDSexecsql.Next;
end;
try
dmmain.CDSexecsql.ApplyUpdates(-1);
except
application.MessageBox('服务器发生故障!',pchar(application.Title),mb_iconinformation);
exit;
end;
end;
end;
if func.Public_Do_Result='03' then //废弃退出
begin
dmmain.CDSexecsql.Close;
Close;
end;
//inherited;
end;
procedure Tfrmmoneystock.Cmd_HTClick(Sender: TObject);
begin
inherited;
frmselect:=tfrmselect.Create(self);
frmselect.flag:=1;
frmselect.ShowModal;
frmselect.Free;
//if not DMMAIN.CDSquery.IsEmpty then
edit3.Text:=stockinput;
end;
procedure Tfrmmoneystock.Edit3Change(Sender: TObject);
var
sql:widestring;
i:integer;
begin
inherited;
if trim(Public_Do)='money_stock' then
begin
if trim(edit3.Text)<>'' then
begin
sql:='Select a.*,b.*,c.* from stock_jion_detail as a, Goods_code as b,stock_jion as c where a.goods_no=b.goods_no and a.stock_No=c.stock_No 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 sgorder.RowCount:=dmmain.CDSquery2.RecordCount+1 else sgorder.RowCount:=2;
Edit4.Text:=dmmain.CDSquery2.Fieldbyname('wldw').AsString;//FieldValues['wldw'];
Edit5.Text:=dmmain.CDSquery2.Fieldbyname('storage_NO').AsString;//FieldValues['Storage_NO'];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -