?? gzjfh_un.pas
字號:
unit gzjfh_un;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, sjrcbase, ADODB, DB, ActnList, bsMessages, bsSkinData,
BusinessSkinForm, bsSkinCtrls, bsSkinGrids, bsDBGrids, bsdbctrls,
StdCtrls, Mask, bsSkinBoxCtrls, ExtCtrls,math,StrUtils;
type
Tgzjfh_frm = class(Tsjycbase_frm)
bsSkinGroupBox3: TbsSkinGroupBox;
bsSkinDBGrid1: TbsSkinDBGrid;
bsSkinScrollBar3: TbsSkinScrollBar;
bsSkinScrollBar4: TbsSkinScrollBar;
bsSkinPanel3: TbsSkinPanel;
bsSkinPanel4: TbsSkinPanel;
bsSkinPanel2: TbsSkinPanel;
bsSkinSpeedButton5: TbsSkinSpeedButton;
bsSkinSpeedButton6: TbsSkinSpeedButton;
bsSkinSpeedButton7: TbsSkinSpeedButton;
bsSkinSpeedButton8: TbsSkinSpeedButton;
bsSkinCheckRadioBox1: TbsSkinCheckRadioBox;
bsSkinStdLabel13: TbsSkinStdLabel;
ds_hyd: TDataSource;
ADOTable1: TADOQuery;
bsSkinDBLookupComboBox11: TbsSkinDBLookupComboBox;
bsSkinDBLookupComboBox10: TbsSkinDBLookupComboBox;
sp_bs: TADOStoredProc;
ds_bs: TDataSource;
bsSkinStdLabel14: TbsSkinStdLabel;
bsSkinNumericEdit1: TbsSkinNumericEdit;
sp_hhddview: TADOStoredProc;
bsSkinTextLabel1: TbsSkinTextLabel;
bsSkinCheckRadioBox2: TbsSkinCheckRadioBox;
bsSkinMemo1: TbsSkinMemo;
bsSkinCheckRadioBox3: TbsSkinCheckRadioBox;
procedure bsSkinCheckRadioBox1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure acSaveExecute(Sender: TObject);
procedure ds_bsDataChange(Sender: TObject; Field: TField);
procedure sp_bsAfterOpen(DataSet: TDataSet);
procedure bsSkinSpeedButton5Click(Sender: TObject);
procedure bsSkinSpeedButton6Click(Sender: TObject);
procedure bsSkinSpeedButton7Click(Sender: TObject);
procedure bsSkinSpeedButton8Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure acNewExecute(Sender: TObject);
procedure bsSkinNumericEdit1Change(Sender: TObject);
procedure acModifyExecute(Sender: TObject);
procedure acDeleteExecute(Sender: TObject);
procedure bsSkinCheckRadioBox2Click(Sender: TObject);
procedure bsSkinCheckRadioBox3Click(Sender: TObject);
private
s:Integer;
lx:integer;//數據增加時1為換貨等待2為退貨
mlx:integer;//數據修改時1為換貨等待2為退貨
{ Private declarations }
public
{ Public declarations }
end;
var
gzjfh_frm: Tgzjfh_frm;
implementation
uses data_un;
{$R *.dfm}
procedure Tgzjfh_frm.bsSkinCheckRadioBox1Click(Sender: TObject);
begin
inherited;
bsSkinPanel2.Enabled:=not bsSkinCheckRadioBox1.Checked;
bsSkinDBGrid1.Enabled:=not bsSkinCheckRadioBox1.Checked;
acNew.Enabled:= bsSkinCheckRadioBox1.Checked;
acNewExecute(Self);
bsSkinCheckRadioBox3.Checked:=False;
//bsSkinCheckRadioBox2.Enabled:=bsSkinCheckRadioBox1.Checked;
if sp_bs.active then
if sp_bs.RecordCount>0 then
begin
bsSkinStdLabel13.Caption:=sp_bs.FieldValues['fbsid'];
if LeftStr(sp_bs.FieldValues['pubid'],2)='HD' then
begin
lx:=1; //換機等待情況
bsSkinStdLabel14.Caption:='需要補差價:';
bsSkinNumericEdit1.Visible:=false;
bsSkinMemo1.Lines.Clear;
bsSkinMemo1.Lines.Add(' 此機為客戶由于技術原因退貨,正在換機等待當中,如果沒有進行補價行為,推薦進行0價入庫,如有補價行為,則在新機進貨價處填上補價') ;
bsSkinCheckRadioBox2.Visible:=true;
end ;
if LeftStr(sp_bs.FieldValues['pubid'],2)='KT' then
begin
lx:=2; //退貨重新入庫
bsSkinStdLabel14.Caption:='新機進價:';
bsSkinNumericEdit1.Visible:=true;
bsSkinMemo1.Lines.Clear;
bsSkinMemo1.Lines.Add(' 此機為因技術原因而產生的退貨,已換了其它類型的機子,新機重新入庫時為避免利潤重復,基價是原退貨價,請新機進貨價格處填上進貨價錢');
bsSkinCheckRadioBox2.Visible:=false;
bsSkinCheckRadioBox2.Checked:=false;
end
end;
end;
procedure Tgzjfh_frm.FormCreate(Sender: TObject);
begin
bsSkinStdLabel13.Caption:='';
bsSkinMemo1.Clear;
hylx:='CF';
hyd:='廠家返回';
if not ADOTable1.Active then
ADOTable1.Open;
if not sp_bs.Active then
sp_bs.Open;
inherited;
end;
procedure Tgzjfh_frm.acSaveExecute(Sender: TObject);
begin
hydid:=ADOTable1.FieldValues['fid'];
vbsid:=bsSkinStdLabel13.Caption;
inherited;
acNew.Enabled:=false;
bsSkinNumericEdit1.Clear;
sp_bs.Close;
sp_bs.Open;
end;
procedure Tgzjfh_frm.ds_bsDataChange(Sender: TObject; Field: TField);
begin
inherited;
if sp_bs.active then
if sp_bs.RecordCount>0 then
begin
bsSkinStdLabel13.Caption:=sp_bs.FieldValues['fbsid'];
if LeftStr(sp_bs.FieldValues['pubid'],2)='HD' then
begin
lx:=1; //換機等待情況
bsSkinStdLabel14.Caption:='需要補差價:';
bsSkinNumericEdit1.Visible:=false;
bsSkinMemo1.Lines.Clear;
bsSkinMemo1.Lines.Add(' 此機為客戶由于技術原因退貨,正在換機等待當中,如果沒有進行補價行為,推薦進行0價入庫,如有補價行為,則在新機進貨價處填上補價') ;
bsSkinCheckRadioBox2.Visible:=true;
end ;
if LeftStr(sp_bs.FieldValues['pubid'],2)='KT' then
begin
lx:=2; //退貨重新入庫
bsSkinStdLabel14.Caption:='新機進價:';
bsSkinNumericEdit1.Visible:=true;
bsSkinMemo1.Lines.Clear;
bsSkinMemo1.Lines.Add(' 此機為因技術原因而產生的退貨,已換了其它類型的機子,新機重新入庫時為避免利潤重復,基價是原退貨價,請新機進貨價格處填上進貨價錢');
bsSkinCheckRadioBox2.Visible:=false;
bsSkinCheckRadioBox2.Checked:=false;
end
end;
end;
procedure Tgzjfh_frm.sp_bsAfterOpen(DataSet: TDataSet);
begin
inherited;
if sp_bs.Active then
if sp_bs.RecordCount>0 then
begin
bsSkinPanel2.Enabled:=true ;
bsSkinCheckRadioBox1.Enabled:=true;
end
else
begin
bsSkinPanel2.Enabled:=false;
bsSkinCheckRadioBox1.Enabled:=False;
end;
end;
procedure Tgzjfh_frm.bsSkinSpeedButton5Click(Sender: TObject);
begin
inherited;
sp_bs.First;
end;
procedure Tgzjfh_frm.bsSkinSpeedButton6Click(Sender: TObject);
begin
inherited;
sp_bs.Prior;
end;
procedure Tgzjfh_frm.bsSkinSpeedButton7Click(Sender: TObject);
begin
inherited;
sp_bs.Next;
end;
procedure Tgzjfh_frm.bsSkinSpeedButton8Click(Sender: TObject);
begin
inherited;
sp_bs.Last;
end;
procedure Tgzjfh_frm.FormShow(Sender: TObject);
begin
inherited;
acNew.Enabled:=false;
end;
procedure Tgzjfh_frm.acNewExecute(Sender: TObject);
begin
inherited;
bsSkinDBLookupComboBox7.KeyValue:=sp_bs.FieldValues['fcolorid'];
bsSkinDBLookupComboBox5.KeyValue:=sp_bs.FieldValues['fsjcsid'] ;
bsSkinDBLookupComboBox6.KeyValue:=sp_bs.FieldValues['fsjxhid'];
bsSkinDBLookupComboBox8.KeyValue:=sp_bs.FieldValues['fjbpzid'];
bsSkinDBLookupComboBox10.KeyValue:=sp_bs.FieldValues['fhydid'];
s:=1;
bsSkinNumericEdit1.Clear;
bsSkinEdit2.Enabled:=true;
end;
procedure Tgzjfh_frm.bsSkinNumericEdit1Change(Sender: TObject);
var a,b,c:Integer;
t:string;
begin
inherited;
a:=StrToInt( FloatToStr( bsSkinNumericEdit1.Value));
if s=1 then
begin
b:=StrToInt(sp_bs.FieldValues['fmon']);
c:=StrToInt(sp_bs.FieldValues['fsalemon']) ;
if lx=2 then //退貨情況
begin
bsSkinEdit3.Text:=IntToStr(c+(a-b)) ;
vcmon:=a-b;
bsSkinEdit4.Text:='串號為:'+sp_bs.FieldValues['fno']+'退貨,進價差額是:'+IntToStr(a-b)+'元';
end ;
if lx=1 then //換貨情況
begin
bsSkinEdit3.Text:=IntToStr(a); //補差價,客戶取這臺機子的時候,還應補多少差價
vcmon:=a;
bsSkinEdit4.Text:='串號為:'+sp_bs.FieldValues['fno']+'換貨,補換貨差價:'+IntToStr(a)+'元';
end ;
vomon:=b;
end;
if s=2 then
begin
b:=strtoint(spdisp.FieldValues['fomon']);
c:=StrToInt(spdisp.FieldValues['fmon'])-StrToInt(spdisp.FieldValues['fcmon']);
t:= spdisp.FieldValues['fmemo'] ;
if mlx=2 then
begin
bsSkinEdit3.Text:=IntToStr(c+(a-b));
vcmon:=a-b;
bsSkinEdit4.Text:=leftstr(t,29)+IntToStr(a-b)+'元'
end ;
if mlx=1 then //換貨情況
begin
bsSkinEdit3.Text:=IntToStr(a);
vcmon:=a;
bsSkinEdit4.Text:=leftstr(t,29)+IntToStr(a)+'元' ;
end;
end;
end;
procedure Tgzjfh_frm.acModifyExecute(Sender: TObject);
begin
inherited;
s:=2;
bsSkinNumericEdit1.Clear;
bsSkinDBLookupComboBox10.KeyValue:=bsSkinDBLookupComboBox11.KeyValue;
//if spdisp.Active then
if spdisp.RecordCount>0 then
begin
sp_hhddview.Close;
sp_hhddview.Parameters.ParamValues['@fhrxx']:=bsSkinDBText2.Caption;
sp_hhddview.Open;
if sp_hhddview.Active then
if sp_hhddview.RecordCount>0 then
mlx:=1
else
mlx:=2;
end;
if mlx=1 then
begin
bsSkinStdLabel14.Caption:='需補差價:';
bsSkinNumericEdit1.Visible:=false;
bsSkinMemo1.Lines.Clear;
bsSkinMemo1.Lines.Add(' 此機為客戶由于技術原因退貨,在換機等待,如果沒有進行補價行為,推薦進行0價入庫,如有補價行為,則在新機進貨價處填上補價') ;
bsSkinCheckRadioBox2.Visible:=true;
end;
if mlx=2 then
begin
bsSkinStdLabel14.Caption:='新機進價:';
bsSkinNumericEdit1.Visible:=true;
bsSkinMemo1.Lines.Clear;
bsSkinMemo1.Lines.Add(' 此機為因技術原因而產生的退貨,已換了其它類型的機子,新機重新入庫時為避免利潤重復,基價是原退貨價,請新機進貨價格處填上進貨價錢');
bsSkinCheckRadioBox2.Visible:=false;
bsSkinCheckRadioBox2.Checked:=false;
end;
end;
procedure Tgzjfh_frm.acDeleteExecute(Sender: TObject);
begin
spsave.Parameters.ParamValues['@VHylx']:=hylx;
inherited;
sp_bs.Close;
sp_bs.Open;
bsSkinNumericEdit1.Clear;
end;
procedure Tgzjfh_frm.bsSkinCheckRadioBox2Click(Sender: TObject);
begin
inherited;
if bsSkinCheckRadioBox2.Visible then
bsSkinNumericEdit1.Visible:=bsSkinCheckRadioBox2.Checked;
end;
procedure Tgzjfh_frm.bsSkinCheckRadioBox3Click(Sender: TObject);
begin
inherited;
if bsSkinCheckRadioBox3.Checked=True then
begin
if lx=1 then //換機等待
if bsSkinMessage1.MessageDlg('請仔細檢查,'+#13+'本功能只適合于退機后,'+#13+'又沒有故障,'+#13+'客戶需要領原來的機子情況,'+#13+'刪除后只能重新報損'+#13+'請慎重?。。?!請慎重?。。。?#039;+#13+'此種情況屬于極特殊性情況'+#13+'一旦操作將不能恢復',mtInformation,[mbYes,mbNo],0)=mryes then
begin
bsSkinCheckRadioBox2.Enabled:=false;
bsSkinEdit2.Text:=sp_bs.FieldValues['fno'];
bsSkinEdit2.Enabled:=false;
end
else bsSkinCheckRadioBox3.Checked:=false;
if lx=2 then //退貨機重新入庫
if bsSkinMessage1.MessageDlg('請仔細檢查,'+#13+'本功能只適合于退機后,'+#13+'又沒有故障,'+#13+'以原來的機子重新入庫的情況,'+#13+'刪除后只能重新報損'+#13+'請慎重?。。。≌埳髦兀。。?!'+#13+'此種情況屬于極特殊性情況'+#13+'一旦操作將不能恢復',mtInformation,[mbYes,mbNo],0)=mryes then
begin
bsSkinEdit2.Text:=sp_bs.FieldValues['fno'];
bsSkinEdit2.Enabled:=false;
bsSkinNumericEdit1.Value:=sp_bs.FieldValues['fmon'];
end
else bsSkinCheckRadioBox3.Checked:=false;
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -