?? 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 + -