📄 unit12.~pas
字号:
unit Unit12;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls, DBCtrls, Mask;
type
TF_ckd_z = class(TForm)
Panel1: TPanel;
Panel3: TPanel;
Panel5: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Panel2: TPanel;
Panel4: TPanel;
Panel6: TPanel;
BitBtn5: TBitBtn;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
DBGrid2: TDBGrid;
Panel7: TPanel;
DBGrid3: TDBGrid;
BitBtn4: TBitBtn;
Panel8: TPanel;
DBGrid1: TDBGrid;
Panel9: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
Label7: TLabel;
Label8: TLabel;
EditDBEdit: TDBEdit;
EditDBEdit2: TDBEdit;
EditDBEdit3: TDBEdit;
EditDBEdit5: TDBEdit;
EditDBEdit7: TDBEdit;
MemoDBMemo: TDBMemo;
DBNavigator1: TDBNavigator;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure EditDBEditChange(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
F_ckd_z: TF_ckd_z;
implementation
uses unit1, Unit18, Unit19, Unit10;
{$R *.dfm}
procedure TF_ckd_z.BitBtn1Click(Sender: TObject);
var
ckd_no:string;
begin
mainform.sys.close;
mainform.sys.Open;
if copy(mainform.sys.fieldbyname('出库单号').AsString,4,8)=formatdatetime('yyyymmdd',now) then
begin
ckd_no:='OU_'+floattostr(strtofloat(copy(mainform.sys.fieldbyname('出库单号').AsString,4,12))+1);
end else ckd_no:='OU_'+formatdatetime('yyyymmdd',now)+'0001';
mainform.sys.Edit;
mainform.sys.fieldbyname('出库单号').AsString:=ckd_no;
mainform.sys.post;
mainform.A_ckd.Append;
mainform.A_ckd.FieldByName('出库单号').AsString:=ckd_no;
mainform.A_ckd.FieldByName('出库日期').AsString:=datetostr(now);
// F_ckd.DBComboBox1.
F_ckd.showmodal;
end;
procedure TF_ckd_z.BitBtn5Click(Sender: TObject);
begin
mainform.A_ckmx.Append;
mainform.A_ckmx.FieldByName('出库单号').asstring:=F_ckd_Z.editDBEdit.text;
F_ckmx.showmodal;
end;
procedure TF_ckd_z.EditDBEditChange(Sender: TObject);
begin
with mainform.A_ckmx do
begin
close;
sql.Clear;
sql.Add('select 出库明细.*,库存.* from 出库明细 left join 库存 on 出库明细.商品编号=库存.商品编号');
sql.Add('where 出库单号='+''''+F_ckd_Z.EditDBEdit.text+'''');
open;
end;
with mainform.A_sfk do
begin
close;
sql.Clear;
sql.Add('select * from 收付款库');
sql.Add('where 单号='+''''+F_ckd_Z.EditDBEdit.text+'''');
open;
end;
end;
procedure TF_ckd_z.BitBtn2Click(Sender: TObject);
begin
mainform.A_ckd.edit;
F_ckd.showmodal;
end;
procedure TF_ckd_z.BitBtn4Click(Sender: TObject);
begin
custom_window:='c_ckd';
mainform.sys.close;
mainform.sys.Open;
if copy(mainform.sys.fieldbyname('流水账号').AsString,4,8)=formatdatetime('yyyymmdd',now) then
begin
lszh_no:='MO_'+floattostr(strtofloat(copy(mainform.sys.fieldbyname('流水账号').AsString,4,12))+1);
end else lszh_no:='MO_'+formatdatetime('yyyymmdd',now)+'0001';
mainform.sys.Edit;
mainform.sys.fieldbyname('流水账号').AsString:=lszh_no;
mainform.sys.post;
mainform.A_sfk.Append;
mainform.A_sfk.FieldByName('流水账号').AsString:=lszh_no;
mainform.A_sfk.FieldByName('单号').AsString:=F_ckd_Z.EditDBEdit.text;
mainform.A_sfk.FieldByName('性质').asstring:='收款';
F_sfk.DBComboBox1.Color:=clgreen;
F_sfk.showmodal;
end;
procedure TF_ckd_z.FormShow(Sender: TObject);
begin
with mainform.A_ckd do
begin
close;
sql.Clear;
sql.Add('SELECT d.ID, d.出库单号, d.出库类别, d.客户名称,d.出库日期, d.操作员, d.备注,d.合计金额,SUM( 收付款库.金额 ) AS 已收金额,d.合计金额-SUM( 收付款库.金额 ) AS 未收金额 FROM ');
sql.add('(SELECT 出库单.ID, 出库单.出库单号, 出库单.出库类别, 出库单.客户名称, 出库单.出库日期, 出库单.操作员, 出库单.备注, SUM( 出库明细.合计 ) AS 合计金额 ');
sql.add('FROM 出库单 Left Outer Join 出库明细 on 出库单.出库单号=出库明细.出库单号 group by 出库单.ID, 出库单.出库单号, 出库单.出库类别, 出库单.客户名称, 出库单.出库日期, 出库单.操作员,出库单.备注) d ');
sql.add('Left Outer Join 收付款库 on d.出库单号=收付款库.单号 ');
sql.add('GROUP BY d.ID, d.出库单号, d.出库类别, d.客户名称, d.出库日期, d.操作员, d.备注,d.合计金额 ');
open;
end;
end;
procedure TF_ckd_z.BitBtn7Click(Sender: TObject);
begin
if application.MessageBox('请确认真的要删除本次售货明细吗?','系统信息',MB_YESNO+MB_Iconquestion)=IDyes then
begin
with mainform.Q_temp do
begin
close;
sql.Clear;
sql.Add('select * from 出库明细 where 商品编号='+''''+mainform.A_ckmx.FieldByName('出库明细.商品编号').asstring+'''');
open;
end;
mainform.Q_temp.Delete;
mainform.A_ckmx.Close;
mainform.A_ckmx.Open;
end;
end;
procedure TF_ckd_z.BitBtn3Click(Sender: TObject);
begin
if (mainform.A_sfk.RecordCount>=1) or (mainform.A_ckmx.RecordCount>=1) then
begin
application.MessageBox('本单有相关联的收付款账目或出入库明细,不能删除!','系统警告',MB_ok+MB_Iconstop);
end else
begin
if application.MessageBox('请确认真的要删除本单吗?','系统信息',MB_YESNO+MB_Iconquestion)=IDyes then
mainform.A_ckd.delete;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -