?? pfm_yskcl2.pas
字號:
unit pfm_yskcl2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, ADODB, Grids, DBGrids, ExtCtrls, DBCtrls, StdCtrls, ado_dm, Buttons,
pvar_lib;
type
Tfm_yskcl2 = class(TForm)
GroupBox1: TGroupBox;
GroupBox4: TGroupBox;
DBGrid3: TDBGrid;
ADOQuery2: TADOQuery;
DataSource2: TDataSource;
ADOQuery3: TADOQuery;
DataSource3: TDataSource;
ADOQuery2skcause: TStringField;
ADOQuery2lsh: TIntegerField;
ADOQuery2yskje: TBCDField;
ADOQuery2skje: TBCDField;
ADOQuery2sqje: TFloatField;
GroupBox3: TGroupBox;
DBGrid2: TDBGrid;
Panel1: TPanel;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
ComboBox1: TComboBox;
Label1: TLabel;
BBtnYsk: TBitBtn;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DataSource4: TDataSource;
ADOQuery4: TADOQuery;
StringField1: TStringField;
IntegerField1: TIntegerField;
BCDField1: TBCDField;
BCDField2: TBCDField;
FloatField1: TFloatField;
ADOQuery2khmc: TStringField;
ADOQuery4gysmc: TStringField;
procedure FormCreate(Sender: TObject);
procedure ADOQuery2CalcFields(DataSet: TDataSet);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ComboBox1Change(Sender: TObject);
procedure BBtnYskClick(Sender: TObject);
procedure ADOQuery4CalcFields(DataSet: TDataSet);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fm_yskcl2: Tfm_yskcl2;
strYskmx:TStringList;
strsptuihuodmx:TStringList;
strpfdmx:TstringList;
implementation
uses pfm_yskcl0;
{$R *.DFM}
const
strSqlAll='select tb_yskmx.skcause,tb_yskmx.lsh,isnull(tb_yskmx.yskje,0) as yskje ,isnull((select sum(skje) from tb_yskcl where tb_yskmx.lsh=tb_yskcl.lsh group by tb_yskcl.lsh), 0) as skje from tb_yskmx order by tb_yskmx.lsh desc';
const
strSqlNotAll1='select tb_yskmx.skcause,tb_yskmx.lsh,isnull(tb_yskmx.yskje,0) as yskje ,isnull((select sum(skje) from tb_yskcl where tb_yskmx.lsh=tb_yskcl.lsh group by tb_yskcl.lsh), 0) as skje from tb_yskmx';
strSqlNotAll2=' where yskje>isnull((select sum(skje) from tb_yskcl where tb_yskmx.lsh=tb_yskcl.lsh group by tb_yskcl.lsh), 0) order by tb_yskmx.lsh desc';
procedure Tfm_yskcl2.FormCreate(Sender: TObject);
var
i:integer;
begin
strYskmx:=TStringList.Create;
strsptuihuodmx:=TStringlist.Create;
strpfdmx:=TStringlist.create;
strYskmx.Add('skcause=應收款原因');
strYskmx.Add('lsh=流水號');
strYskmx.Add('khmc=客戶代碼');
strYskmx.Add('gysmc=供應商代碼');
strYskmx.Add('yskje=應收款金額');
strYskmx.add('skje=已收款金額');
strYskmx.add('sqje=未收金額');
strsptuihuodmx.add('spbm=商品編碼');
strsptuihuodmx.add('sptxm=商品條形碼');
strsptuihuodmx.add('spmc=商品名稱');
strsptuihuodmx.add('spnum=商品數量');
strsptuihuodmx.add('spthdj=退貨單價');
strsptuihuodmx.add('djhm=單據號碼');
{strYskcl.add('skcause=收款原因');
strYskcl.add('lsh=流水號');
strYskcl.add('skje=已收金額');
strYskcl.add('skrq=收款日期');
strYskcl.add('skfs=收款方式');
strYskcl.add('djhm=單據號碼');
strYskcl.add('jsrm=經手人');
strYskcl.add('shrm=審核人');
}
strpfdmx.add('sptxm=商品條形碼');
strpfdmx.add('spbm=商品編碼');
strpfdmx.add('spmc=商品名稱');
strpfdmx.add('pfnum=批發數量');
strpfdmx.add('pfdj=批發單價');
strpfdmx.add('pfsl=批發稅率(%)');
strpfdmx.add('yhl=折扣(%)');
strpfdmx.add('djhm=單據號碼');
strpfdmx.add('hth=合同號');
combobox1.ItemIndex:=0;
adoQuery2.active:=true;
adoQuery3.active:=true;
for i:=0 to dbgrid2.columns.count-1 do
begin
dbgrid2.columns[i].title.caption:=strYskmx.values[dbgrid2.Columns[i].FieldName];
end;
for i:=0 to dbgrid3.columns.count-1 do
begin
dbgrid3.columns[i].title.caption:=strpfdmx.values[dbgrid3.Columns[i].FieldName];
end;
end;
procedure Tfm_yskcl2.ADOQuery2CalcFields(DataSet: TDataSet);
begin
adoquery2.FieldByName('sqje').asfloat:=adoquery2.fieldbyname('yskje').asfloat-adoquery2.fieldbyname('skje').asfloat;
end;
procedure Tfm_yskcl2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
strYskmx.Free;
strsptuihuodmx.free;
strpfdmx.Free;
action:=caFree;
end;
procedure Tfm_yskcl2.ComboBox1Change(Sender: TObject);
var
i:integer;
lshpara:TParameter;
begin
// adoquery2.Filter:='skcause='''+combobox1.Text+'''';
// adoquery2.filtered:=true;
if combobox1.Text='批發' then
begin
groupbox4.caption:='批發商品數量及單價';
{ adoquery3.active:=false;
adoquery3.SQL.Clear;
adoquery3.sql.Add('select spbm,sptxm,spmc,pfnum,pfdj,yhl,pfsl,djhm from tb_pfdmx,tb_spmc where tb_pfdmx.spbm=tb_spmc.spbm and lsh=:lsh');
adoquery3.Prepared;
adoquery3.Parameters.Clear;
lshpara:=adoquery3.Parameters.AddParameter();
lshpara.Name:='lsh'; }
adoquery1.active:=false;
adoquery4.Active:=false;
dbgrid3.DataSource:=datasource3;
dbgrid2.DataSource:=datasource2;
adoquery2.active:=true;
adoquery3.Active:=true;
for i:=0 to dbgrid2.columns.count-1 do
begin
dbgrid2.columns[i].title.caption:=strYskmx.values[dbgrid2.Columns[i].FieldName];
end;
for i:=0 to dbgrid3.columns.count-1 do
begin
dbgrid3.columns[i].title.caption:=strpfdmx.values[dbgrid3.Columns[i].FieldName];
end;
end
else
begin
groupbox4.caption:='退貨商品數量及單價';
{ adoquery3.active:=false;
adoquery3.SQL.Clear;
adoquery3.sql.Add('select spbm,sptxm,spmc,spnum,spthdj,djhm from tb_sptuihuomx,tb_spmc where tb_sptuihuomx.spbm=tb_spmc.spbm and lsh=:lsh');
adoquery3.Prepared;
adoquery3.Parameters.Clear;
lshpara:=adoquery3.Parameters.AddParameter();
lshpara.Name:='lsh'; }
adoquery3.active:=false;
adoquery2.active:=false;
dbgrid3.DataSource:=datasource1;
dbgrid2.DataSource:=datasource4;
adoquery4.Active:=true;
adoquery1.Active:=true;
for i:=0 to dbgrid2.columns.count-1 do
begin
dbgrid2.columns[i].title.caption:=strYskmx.values[dbgrid2.Columns[i].FieldName];
end;
for i:=0 to dbgrid3.columns.count-1 do
begin
dbgrid3.columns[i].title.caption:=strsptuihuodmx.values[dbgrid3.Columns[i].FieldName];
end;
end;
end;
procedure Tfm_yskcl2.BBtnYskClick(Sender: TObject);
begin
if combobox1.text='批發' then
begin
fm_yskcl0:=tfm_yskcl0.create(application);
fm_yskcl0.Edit10.Text:=adoquery2.fieldbyname('lsh').asstring;
//流水號
fm_yskcl0.edit3.text:=adoquery2.fieldbyname('yskje').asstring;
//總計金額
fm_yskcl0.edit2.text:=adoquery2.fieldbyname('skje').asstring;
//已付金額
fm_yskcl0.edit4.text:=floattostr(adoquery2.fieldbyname('sqje').asfloat);
//尚欠金額
fm_yskcl0.edit1.text:=adoquery2.fieldbyname('khmc').asstring;
//供應商名稱
//fm_yskcl0.edit2.text:=edit2.text;
fm_yskcl0.label11.Caption:='客戶代碼';
fm_yskcl0.GroupBox1.Caption:='批發應收款處理';
fm_yskcl0.skcause:='批發';
AddOptRecord(fm_yskcl0.skcause+'應收款處理,流水號'+fm_yskcl0.Edit10.Text);
fm_yskcl0.showmodal;
fm_yskcl0.free;
adoquery3.active:=false;
adoquery2.Active:=false;
adoquery2.active:=true;
adoquery3.active:=true;
end
else
begin
fm_yskcl0:=tfm_yskcl0.create(application);
fm_yskcl0.Edit10.Text:=adoquery4.fieldbyname('lsh').asstring;
//流水號
fm_yskcl0.edit3.text:=adoquery4.fieldbyname('yskje').asstring;
//總計金額
fm_yskcl0.edit2.text:=adoquery4.fieldbyname('skje').asstring;
//已付金額
fm_yskcl0.edit4.text:=floattostr(adoquery4.fieldbyname('sqje').asfloat);
//尚欠金額
fm_yskcl0.edit1.text:=adoquery4.fieldbyname('gysmc').asstring;
//供應商名稱
//fm_yskcl0.edit2.text:=edit2.text;
fm_yskcl0.label11.Caption:='供應商代碼';
fm_yskcl0.GroupBox1.Caption:='退貨應收款處理';
fm_yskcl0.skcause:='退貨';
AddOptRecord(fm_yskcl0.skcause+'應收款處理,流水號'+fm_yskcl0.Edit10.Text);
fm_yskcl0.showmodal;
fm_yskcl0.free;
adoquery1.active:=false;
adoquery4.Active:=false;
adoquery4.active:=true;
adoquery1.active:=true;
end;
end;
procedure Tfm_yskcl2.ADOQuery4CalcFields(DataSet: TDataSet);
begin
adoquery4.FieldByName('sqje').asfloat:=adoquery4.fieldbyname('yskje').asfloat-adoquery4.fieldbyname('skje').asfloat;
end;
procedure Tfm_yskcl2.RadioButton2Click(Sender: TObject);
begin
if combobox1.text='批發' then
begin
//adoquery2.Filter:='sqje<>0';
adoquery2.Filtered:=false;
end
else
begin
//adoquery4.Filter:='sqje<>0';
adoquery4.Filtered:=false;
end;
end;
procedure Tfm_yskcl2.RadioButton1Click(Sender: TObject);
begin
if combobox1.text='批發' then
begin
adoquery2.Filter:='sqje<>0';
adoquery2.Filtered:=true;
end
else
begin
adoquery4.Filter:='sqje<>0';
adoquery4.Filtered:=true;
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -