⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 upurpayment.pas

📁 三層進銷存 使用接口和連接池 是他人的面试作品 delphi语言编写
💻 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 + -