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

📄 fnedcredence.pas

📁 详细的ERP设计资料
💻 PAS
字号:
unit FNEdCredence;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BaseVoucherEditA, Menus, ActnList, DB, ComCtrls, StdCtrls, Mask,
  DBCtrls, ExtCtrls, ToolWin, Grids, DBGrids, QLDBGrid, ADODB;

type
  TFNCredenceEditForm = class(TBaseVoucherEditAForm)
    adsCredMaster: TADODataSet;
    adsCredDetail: TADODataSet;
    adsCredMasterID: TAutoIncField;
    adsCredMasterCreateDate: TDateTimeField;
    adsCredMasterCreateUserID: TIntegerField;
    adsCredMasterRecordState: TStringField;
    adsCredMasterDate: TDateTimeField;
    adsCredMasterCode: TStringField;
    adsCredMasterClientID: TIntegerField;
    adsCredMasterEmployeeID: TIntegerField;
    adsCredMasterBillMode: TStringField;
    adsCredMasterModeDC: TIntegerField;
    adsCredMasterModeC: TIntegerField;
    adsCredMasterBrief: TStringField;
    adsCredMasterMemo: TStringField;
    adsCredMasterOriginID: TIntegerField;
    adsCredMasterOriginTable: TStringField;
    DBComboBox1: TDBComboBox;
    Label1: TLabel;
    adsCredDetailID: TAutoIncField;
    adsCredDetailMasterID: TIntegerField;
    adsCredDetailGoodsID: TIntegerField;
    adsCredDetailGoodsSpec: TStringField;
    adsCredDetailQuantity: TBCDField;
    adsCredDetailPriceBase: TBCDField;
    adsCredDetailPriceCost: TBCDField;
    adsCredDetailGoods: TStringField;
    adsCredDetailMemo: TStringField;
    procedure DBGridEditButtonClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure adsCredDetailCalcFields(DataSet: TDataSet);
    procedure adsCredDetailPriceBaseChange(Sender: TField);
    procedure adsCredDetailPriceCostChange(Sender: TField);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure New; override;
  end;

implementation

uses CommonDM, DASubject, WSUtils, WSSecurity;

{$R *.dfm}

procedure TFNCredenceEditForm.DBGridEditButtonClick(Sender: TObject);
var
  SubID: Integer;
begin
  inherited;
  SubID := TDASubjectForm.ShowSelect;
  if SubID <> -1 then
    with DetailDataSet do
    begin
      Edit;
      FieldByName('GoodsID').AsInteger := SubID;
    end;
end;

procedure TFNCredenceEditForm.FormCreate(Sender: TObject);
begin
  inherited;
  VoucherTableName := 'FNCred';
  CommonData.adsDASubject.Close;
end;

procedure TFNCredenceEditForm.New;
begin
  inherited;
  with MasterDataSet do
  begin
    FieldByName('Date').AsDateTime := Date;
    FieldByName('Code').AsString:= GetMaxCode('Code','FNCredMaster',number);
    FieldByName('CreateUserID').AsInteger := Guarder.UserID;
    FieldByName('BillMode').AsString :='收';
  end;
end;

procedure TFNCredenceEditForm.adsCredDetailCalcFields(DataSet: TDataSet);
var
  SubCode, S: string;
  V: Variant;
  Len: Integer;
begin
  inherited;
  CommonData.adsDASubject.Open;
  with DataSet do
  begin
    V := CommonData.adsDASubject.Lookup('ID', FieldByName('GoodsID').Value, 'SubCode; Name');
    if not VarIsNull(V) then
    begin
      SubCode := V[0];
      S := V[1];
      Len := Length(SubCode);
      Dec(Len, 3);
      while Len > 3 do
      begin
        V := CommonData.adsDASubject.Lookup('SubCode', Copy(SubCode, 1, Len), 'Name');
        if not VarIsNull(V) then S := V + ' → ' + S;
        Dec(Len, 3);
      end;
    end;
    FieldByName('Goods').AsString := S; //CommonData.adsDASubject.Lookup('ID', FieldByName('GoodsID').Value, 'Name');
  end;
end;

procedure TFNCredenceEditForm.adsCredDetailPriceBaseChange(Sender: TField);
begin
  inherited;
  if Sender.AsCurrency <> 0 then DetailDataSet.FieldByName('PriceCost').Clear
end;

procedure TFNCredenceEditForm.adsCredDetailPriceCostChange(Sender: TField);
begin
  inherited;
  if Sender.AsCurrency <> 0 then DetailDataSet.FieldByName('PriceBase').Clear
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -