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

📄 dm.pas

📁 delphi作得信息业进销存源码.功能全面,运行稳定.
💻 PAS
📖 第 1 页 / 共 3 页
字号:
    FykzzbBZ: TStringField;
    FykzzbCZY: TStringField;
    SrzclbHelp: TClientDataSet;
    IntegerField26: TIntegerField;
    StringField28: TStringField;
    StringField34: TStringField;
    BooleanField1: TBooleanField;
    StringField35: TStringField;
    StringField36: TStringField;
    sSrzclbHelp: TDataSource;
    Qtsr: TClientDataSet;
    IntegerField27: TIntegerField;
    IntegerField28: TIntegerField;
    DateField11: TDateField;
    IntegerField29: TIntegerField;
    StringField37: TStringField;
    StringField38: TStringField;
    StringField39: TStringField;
    FloatField15: TFloatField;
    Qtsrzb: TClientDataSet;
    IntegerField30: TIntegerField;
    StringField40: TStringField;
    DateField12: TDateField;
    SmallintField1: TSmallintField;
    StringField41: TStringField;
    SmallintField2: TSmallintField;
    StringField42: TStringField;
    StringField43: TStringField;
    StringField44: TStringField;
    FloatField18: TFloatField;
    StringField45: TStringField;
    StringField46: TStringField;
    sQtsrzb: TDataSource;
    sQtsr: TDataSource;
    Yhckqk: TClientDataSet;
    sYhckqk: TDataSource;
    YhckqkID: TIntegerField;
    YhckqkJSR: TStringField;
    YhckqkZCZHID: TSmallintField;
    YhckqkaZCZHMC: TStringField;
    YhckqkZRZHID: TSmallintField;
    YhckqkaZRZHMC: TStringField;
    YhckqkPH: TStringField;
    YhckqkJE: TFloatField;
    YhckqkBZ: TStringField;
    YhckqkCZY: TStringField;
    YhckqkRQ: TDateField;
    XskdHelp: TClientDataSet;
    IntegerField31: TIntegerField;
    StringField47: TStringField;
    DateField13: TDateField;
    FloatField19: TFloatField;
    sXskdHelp: TDataSource;
    XskdHelpaKHBH: TStringField;
    XskdHelpaKHMC: TStringField;
    XskdHelpaXSLX: TStringField;
    XsSkgc: TClientDataSet;
    sXsSkgc: TDataSource;
    XsSkgcDJBH: TWideStringField;
    XsSkgcRQ: TDateField;
    XsSkgcZJE: TFloatField;
    XsSkgcBCJE: TFloatField;
    CgFkgc: TClientDataSet;
    WideStringField1: TWideStringField;
    DateField14: TDateField;
    BCDField1: TFloatField;
    BCDField2: TFloatField;
    sCgFkgc: TDataSource;
    CgshHelp: TClientDataSet;
    sCgshHelp: TDataSource;
    CgshHelpID: TIntegerField;
    CgshHelpDJBH: TStringField;
    CgshHelpRQ: TDateField;
    CgshHelpJE: TFloatField;
    CgshHelpaCGLX: TStringField;
    CgshHelpaGYSBH: TStringField;
    CgshHelpaGYSMC: TStringField;
    Thgc: TClientDataSet;
    IntegerField32: TIntegerField;
    IntegerField33: TIntegerField;
    DateField15: TDateField;
    IntegerField36: TIntegerField;
    StringField48: TStringField;
    StringField49: TStringField;
    StringField50: TStringField;
    FloatField20: TFloatField;
    sThgc: TDataSource;
    QtkcbdHpHelp: TClientDataSet;
    sQtkcbdHpHelp: TDataSource;
    QtkcbdHpHelpaBH: TWideStringField;
    QtkcbdHpHelpaPM: TWideStringField;
    QtkcbdHpHelpaDW: TWideStringField;
    CnBb: TDCOMConnection;
    HpQCJQJ: TFloatField;
    XsddDJ: TFloatField;
    XskdCBDJ: TFloatField;
    XsthCBDJ: TFloatField;
    ThgcDJ: TFloatField;
    HpJQJ: TFloatField;
    ZhQCJE: TFloatField;
    ZhQMJE: TFloatField;
    ZhITMP: TIntegerField;
    XsThgc: TClientDataSet;
    WideStringField2: TWideStringField;
    sXsThgc: TDataSource;
    XsThgcRQ: TDateField;
    XsThgcSL: TFloatField;
    XsThgcDJ: TFloatField;
    XsThgcNSL: TFloatField;
    XsThgcJE: TFloatField;
    XsThgcBH: TWideStringField;
    XsThgcPM: TWideStringField;
    XsThgcDW: TWideStringField;
    CgshzbFKQX: TIntegerField;
    CgshzbYFJE2: TFloatField;
    XskdzbYSJE: TFloatField;
    CgshzbYFJE3: TFloatField;
    XskdzbYSJE2: TFloatField;
    {-Common Begin-}
    procedure ReconcileError(DataSet: TClientDataSet; E: EReconcileError;
      UpdateKind: TUpdateKind; var Action: TReconcileAction);
    procedure DataModuleCreate(Sender: TObject);
    procedure AppMenumCaptionGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure ZeroToEmpty(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure SetID(DataSet: TDataSet);
    {-Common End-}
    procedure ConverHphsff(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure NSLGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    { ------------------------------------------------------------------------ }
    procedure ZhYHLGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure SrzclbSRLGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure YgJSFFGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure QtkcbdlxRKLGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure QtkcbdlxTHBZGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure CgddCalcFields(DataSet: TDataSet);
    procedure CgshCalcFields(DataSet: TDataSet);
    procedure CgfkzbBeforeOpen(DataSet: TDataSet);
    procedure CgthzbBeforeOpen(DataSet: TDataSet);
    procedure CgshzbBeforeOpen(DataSet: TDataSet);
    procedure LlzbBeforeOpen(DataSet: TDataSet);
    procedure LlCalcFields(DataSet: TDataSet);
    procedure ChtjCalcFields(DataSet: TDataSet);
    procedure QtkcbdzbBeforeOpen(DataSet: TDataSet);
    procedure FykzzbBeforeOpen(DataSet: TDataSet);
    procedure YhckqkBeforeOpen(DataSet: TDataSet);
    procedure SfkfsBeforeOpen(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Data: TData;

implementation

uses RecError, Common;

{$R *.DFM}

{-Common Begin-}

//DataModuleCreate
procedure TData.DataModuleCreate(Sender: TObject);
var
  i: integer;
begin
  Cn.Connected := True;
  CnBb.Connected := True;
  for i := 0 to ComponentCount - 1 do
    if Components[i] is TNumericField then
      with TNumericField(Components[i]) do
        if (DisplayFormat <> '') and (EditFormat = '') then
          EditFormat := StringReplace(DisplayFormat, ',', '', [rfReplaceAll]);
end;

//ReconcileError
procedure TData.ReconcileError(DataSet: TClientDataSet;
  E: EReconcileError; UpdateKind: TUpdateKind;
  var Action: TReconcileAction);
begin
//  Action := HandleReconcileError(DataSet, UpdateKind, E);
  Action := ComReconcileError(DataSet, UpdateKind, E);
end;

//零值变空字符串
procedure TData.ZeroToEmpty(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
  if Sender is TNumericField then
    if TField(Sender).AsFloat = 0 then
      Text := ''
    else
      Text := FormatFloat(TFloatField(Sender).DisplayFormat, TField(Sender).Value);
end;

//AppMenumCaptionGetText
procedure TData.AppMenumCaptionGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
var
  i : integer;
begin
  Text := AppMenu.FieldByName('mCaption').AsString;
  for i := 1 to AppMenu.FieldByName('mLevel').AsInteger do
    Text := '    ' + Text;
  Text := Copy(Text, 1, 50);
end;

//SetID
procedure TData.SetID(DataSet: TDataSet);
begin
  if DataSet.State in [dsInsert] then
    SetFieldValue('select iif(isnull(max(ID)), 1, max(ID)+1) from ' +
      DataSet.Name + ' where ID > 0', DataSet, 'ID');
end;

{-Common End-}

//货品核算方法
procedure TData.ConverHphsff(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
  case Sender.AsInteger of
    1: Text := '库存商品';
    2: Text := '服务/劳务';
    3: Text := '其它收入';
    4: Text := '其它支出';
    5: Text := '折扣';
  end;
end;

//税率
procedure TData.NSLGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
  Text := Sender.AsString + '%';
end;

{ ---------------------------------------------------------------------------- }

//帐户
procedure TData.ZhYHLGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
  if Sender.AsBoolean then
    Text := '银行存款类'
  else
    Text := '现金类';
end;

//收入支出类别
procedure TData.SrzclbSRLGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
  if Sender.AsBoolean then
    Text := '收入类'
  else
    Text := '支出类';
end;

//其它库存变动类型
procedure TData.QtkcbdlxRKLGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
  if Sender.AsBoolean then
    Text := '入库类'
  else
    Text := '出库类';
end;

procedure TData.QtkcbdlxTHBZGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
  if Sender.AsBoolean then
    Text := '需要'
  else
    Text := '不需要';
end;

//员工
procedure TData.YgJSFFGetText(Sender: TField; var Text: String;
  DisplayText: Boolean);
begin
  case Sender.AsInteger of
    1: Text := '月薪';
    2: Text := '计件';
  end;
end;

//采购订单
procedure TData.CgddCalcFields(DataSet: TDataSet);
begin
  DataSet.FieldByName('cJE').AsFloat := DataSet.FieldByName('SL').AsFloat *
                                        DataSet.FieldByName('DJ').AsFloat *
                                        (1 + DataSet.FieldByName('NSL').AsFloat / 100);
end;

//采购收货
procedure TData.CgshCalcFields(DataSet: TDataSet);
begin
  DataSet.FieldByName('cJE').AsFloat := DataSet.FieldByName('SL').AsFloat *
                                        DataSet.FieldByName('DJ').AsFloat *
                                        (1 + DataSet.FieldByName('NSL').AsFloat / 100);
  if DataSet.FieldByName('DDID').AsInteger = 0 then
    DataSet.FieldByName('cDDBH').AsString := ''
  else if DataSet.FieldByName('cDDBH').AsString = '' then
    DataSet.FieldByName('cDDBH').AsString := VarToStr(GetFieldValue('select DJBH from CGDDZB where ID = ' + DataSet.FieldByName('DDID').AsString));
end;

procedure TData.CgshzbBeforeOpen(DataSet: TDataSet);
begin
  if not SFKFS.Active then
    SFKFS.Active := True;
  if not CK.Active then
    CK.Active := True;
end;

//采购付款
procedure TData.CgfkzbBeforeOpen(DataSet: TDataSet);
begin
  if not SFKFS.Active then
    SFKFS.Active := True;
end;

//采购退款
procedure TData.CgthzbBeforeOpen(DataSet: TDataSet);
begin
  if not SFKFS.Active then
    SFKFS.Active := True;
  if not CK.Active then
    CK.Active := True;
end;

//领料
procedure TData.LlzbBeforeOpen(DataSet: TDataSet);
begin
  if not CK.Active then
    CK.Active := True;
end;

procedure TData.LlCalcFields(DataSet: TDataSet);
begin
  DataSet.FieldByName('cJE').AsFloat := DataSet.FieldByName('SL').AsFloat *
                                        DataSet.FieldByName('DJ').AsFloat;
end;

//存库调价
procedure TData.ChtjCalcFields(DataSet: TDataSet);
begin
  DataSet.FieldByName('cJE').AsFloat := DataSet.FieldByName('SL').AsFloat *
                                        (DataSet.FieldByName('DJ').AsFloat - DataSet.FieldByName('JDJ').AsFloat);
end;

//其它库存变动
procedure TData.QtkcbdzbBeforeOpen(DataSet: TDataSet);
begin
  if not CK.Active then
    CK.Active := True;
  if not QTKCBDLX.Active then
    QTKCBDLX.Active := True;
end;

//费用开支
procedure TData.FykzzbBeforeOpen(DataSet: TDataSet);
begin
  if not SFKFS.Active then
    SFKFS.Active := True;
end;

//银行存款/取款
procedure TData.YhckqkBeforeOpen(DataSet: TDataSet);
begin
  if not ZH.Active then
    ZH.Active := True;
end;

//收付款方式
procedure TData.SfkfsBeforeOpen(DataSet: TDataSet);
begin
  if not ZH.Active then
    ZH.Active := True;
end;

end.

⌨️ 快捷键说明

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