📄 upurpayment.pas
字号:
unit upurpayment;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, MDIbaseinfo, StdCtrls, wwdblook, Menus, FR_Class, FR_DSet,
FR_DBSet, DB, DBClient, ImgList, ActnList, Grids, DBGridEh,
wwdbdatetimepicker, Mask, wwdbedit, Buttons, ExtCtrls;
type
Tfrmpurpayment = class(TfrmMDIbaseinfo)
Label5: TLabel;
wwDBEdit2: TwwDBEdit;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
wwDBLookupCombo1: TwwDBLookupCombo;
wwDBLookupCombo2: TwwDBLookupCombo;
wwDBLookupCombo3: TwwDBLookupCombo;
Button1: TButton;
wwDBEdit3: TwwDBEdit;
Label9: TLabel;
wwDBEdit4: TwwDBEdit;
Label10: TLabel;
wwDBEdit5: TwwDBEdit;
CDSmasterfid: TAutoIncField;
CDSmasterfresid: TIntegerField;
CDSmasterfrefno: TWideStringField;
CDSmasterfno: TWideStringField;
CDSmasterfprovider: TWideStringField;
CDSmasterfpaymenttype: TWideStringField;
CDSmasterfreceipttype: TWideStringField;
CDSmasterfdeposituser: TWideStringField;
CDSmasterfbillno: TWideStringField;
CDSmasterfnote: TWideStringField;
CDSmasterfcountpay: TBCDField;
CDSmasterfcreauser: TWideStringField;
CDSmasterfcreadate: TDateTimeField;
CDSpaytype: TClientDataSet;
CDSreceipttype: TClientDataSet;
CDSdeposit: TClientDataSet;
CDSpaytypeField: TStringField;
CDSreceipttypeStringField: TStringField;
CDSdepositStringField: TStringField;
CDSsubfid: TAutoIncField;
CDSsubfresid: TIntegerField;
CDSsubfpurno: TWideStringField;
CDSsubfitemid: TBCDField;
CDSsubfincludetax: TBCDField;
CDSsubftax: TBCDField;
CDSsubfalreadypay: TBCDField;
CDSsubfpay: TBCDField;
CDSsubfnote: TWideStringField;
CDSsubfnopayment: TFloatField;
procedure CDSsubCalcFields(DataSet: TDataSet);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure acsaveExecute(Sender: TObject);
private
procedure createdataset;
{ Private declarations }
public
{ Public declarations }
end;
var
frmpurpayment: Tfrmpurpayment;
implementation
uses Global, upurpayment_f;
{$R *.dfm}
procedure Tfrmpurpayment.CDSsubCalcFields(DataSet: TDataSet);
begin
inherited;
With CDSsub do
begin
Fieldbyname('fnopayment').AsFloat:=fieldbyname('fitemid').AsFloat-
fieldbyname('falreadypay').AsFloat-
fieldbyname('fpay').AsFloat;
end;
end;
procedure Tfrmpurpayment.createdataset;
begin
with CDSpaytype do
begin
Close;
FieldDefs.Add('选项',ftString,20);
CreateDataSet;
AppendRecord(['应付款']);
AppendRecord(['预付款']);
AppendRecord(['预付冲应付']);
open;
end;
with CDSreceipttype do
begin
Close;
FieldDefs.Add('选项',ftString,20);
CreateDataSet;
AppendRecord(['应收款']);
AppendRecord(['预收款']);
open;
end;
with CDSdeposit do
begin
Close;
FieldDefs.Add('选项',ftString,20);
CreateDataSet;
AppendRecord(['现金']);
AppendRecord(['支票']);
AppendRecord(['银行存款']);
open;
end;
end;
procedure Tfrmpurpayment.FormShow(Sender: TObject);
begin
inherited;
createdataset;
end;
procedure Tfrmpurpayment.FormCreate(Sender: TObject);
begin
inherited;
titlecaption:='采购付款单';
Maintable:='Tpurpayment';
MainView:='Vpurpayment';
SubTable:='Tpurpaymentsub';
Subview:='Vpurpaymentsub';
Searchfrm:=Tfrmpurpayment_f;
frname:=gs_appPath+'\Prints\frpurpayment.frf';
Keyfield:='fid';
iBillTypeid:=4;
end;
procedure Tfrmpurpayment.Button1Click(Sender: TObject);
var
Countpay:Real;
begin
inherited;
Countpay:=0;
if not (CDSMaster.State in [dsInsert,dsEdit]) then
Exit;
if CDSSub.RecordCount=0 then
Exit;
CDSsub.First;
while not CDSsub.Eof do
begin
Countpay:=Countpay+CDSsub.fieldbyname('fpay').AsFloat;
CDSsub.Next;
end;
CDSMaster.FieldByName('fcountpay').AsFloat:=Countpay;
end;
procedure Tfrmpurpayment.acsaveExecute(Sender: TObject);
begin
Button1Click(Sender);
inherited;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -