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

📄 udmcost.pas

📁 成本系统三层结构源码 开发工具:Delphi 7.0+SQLServer 2005 主要技术:Midas、COM+ 所用第三方控件: FastReport V2.47 D7 Inforp
💻 PAS
字号:
unit udmcost;

interface

uses
  SysUtils, Classes, DB, DBClient;

type
  TDMCost = class(TDataModule)
    CVoucherMas: TClientDataSet;
    CVoucherSub: TClientDataSet;
    CVoucherSubRecNo: TIntegerField;
    CVoucherSubYear_NO: TIntegerField;
    CVoucherSubMonth_NO: TIntegerField;
    CVoucherSubVou_ID: TStringField;
    CVoucherSubFS_NO: TStringField;
    CVoucherSubFS_Name: TStringField;
    CVoucherSubDebit_Or_Credit: TBooleanField;
    CVoucherSubDebit_Money: TFloatField;
    CVoucherSubCredit_Money: TFloatField;
    CVoucherSubremark: TStringField;
    CVoucherSubPageNo: TIntegerField;
    CVoucherSubPageCount: TIntegerField;
    CVoucherSubAction: TStringField;
    CVoucherSubAmount1: TAggregateField;
    CVoucherSubAmount2: TAggregateField;
    CVoucherMasYear_NO: TIntegerField;
    CVoucherMasMonth_NO: TIntegerField;
    CVoucherMasVou_ID: TStringField;
    CVoucherMasHand_ID: TIntegerField;
    CVoucherMasVen_abbr: TStringField;
    CVoucherMasOrd_No: TStringField;
    CVoucherMasTotal_Money: TFloatField;
    CVoucherMasRemark: TStringField;
    CVoucherMasQVoucherSub: TDataSetField;
    CVoucherMasBigMoney: TStringField;
    CFinance: TClientDataSet;
    CFinanceYearNo: TSmallintField;
    CFinanceMonthNo: TSmallintField;
    CFinanceStatus: TBooleanField;
    CFinanceConfirmer: TStringField;
    CFinanceConfirmDate: TDateTimeField;
    CFinanceRemark: TStringField;
    CCostDetail: TClientDataSet;
    CStatCost: TClientDataSet;
    CCostInitial: TClientDataSet;
    CStatCostYearNo: TIntegerField;
    CStatCostMonthNo: TIntegerField;
    CStatCostODStatus: TStringField;
    CStatCostCost01: TFloatField;
    CStatCostCost02: TFloatField;
    CStatCostCost03: TFloatField;
    CStatCostCost04: TFloatField;
    CStatCostCost05: TFloatField;
    CStatCostCost06: TFloatField;
    CStatCostCost07: TFloatField;
    CStatCostCost08: TFloatField;
    CStatCostCost09: TFloatField;
    CStatCostCost10: TFloatField;
    CStatCostCost11: TFloatField;
    CStatCostCost12: TFloatField;
    CStatCostCost13: TFloatField;
    CStatCostCost14: TFloatField;
    CStatCostCost15: TFloatField;
    CStatCostCost16: TFloatField;
    CStatCostCost17: TFloatField;
    CStatCostCost18: TFloatField;
    CStatCostCost19: TFloatField;
    CStatCostCost20: TFloatField;
    CStatCostCost21: TFloatField;
    CStatCostCost22: TFloatField;
    CStatCostCost23: TFloatField;
    CStatCostCost24: TFloatField;
    CStatCostCost25: TFloatField;
    CStatCostCost26: TFloatField;
    CStatCostCost27: TFloatField;
    CStatCostCost28: TFloatField;
    CStatCostCost29: TFloatField;
    CStatCostCost30: TFloatField;
    CStatCostCost31: TFloatField;
    CStatCostCost32: TFloatField;
    CStatCostCost33: TFloatField;
    CStatCostCost34: TFloatField;
    CStatCostCost35: TFloatField;
    CStatCostCost36: TFloatField;
    CStatCostCost37: TFloatField;
    CStatCostCost38: TFloatField;
    CStatCostCost39: TFloatField;
    CStatCostCost40: TFloatField;
    CStatCostTotalCost: TFloatField;
    CCostInitialOrderNO: TStringField;
    CCostInitialYearNo: TIntegerField;
    CCostInitialMonthNo: TIntegerField;
    CCostInitialCost01: TFloatField;
    CCostInitialCost02: TFloatField;
    CCostInitialCost03: TFloatField;
    CCostInitialCost04: TFloatField;
    CCostInitialCost05: TFloatField;
    CCostInitialCost06: TFloatField;
    CCostInitialCost07: TFloatField;
    CCostInitialCost08: TFloatField;
    CCostInitialCost09: TFloatField;
    CCostInitialCost10: TFloatField;
    CCostInitialCost11: TFloatField;
    CCostInitialCost12: TFloatField;
    CCostInitialCost13: TFloatField;
    CCostInitialCost14: TFloatField;
    CCostInitialCost15: TFloatField;
    CCostInitialCost16: TFloatField;
    CCostInitialCost17: TFloatField;
    CCostInitialCost18: TFloatField;
    CCostInitialCost19: TFloatField;
    CCostInitialCost20: TFloatField;
    CCostInitialCost21: TFloatField;
    CCostInitialCost22: TFloatField;
    CCostInitialCost23: TFloatField;
    CCostInitialCost24: TFloatField;
    CCostInitialCost25: TFloatField;
    CCostInitialCost26: TFloatField;
    CCostInitialCost27: TFloatField;
    CCostInitialCost28: TFloatField;
    CCostInitialCost29: TFloatField;
    CCostInitialCost30: TFloatField;
    CCostInitialCost31: TFloatField;
    CCostInitialCost32: TFloatField;
    CCostInitialCost33: TFloatField;
    CCostInitialCost34: TFloatField;
    CCostInitialCost35: TFloatField;
    CCostInitialCost36: TFloatField;
    CCostInitialCost37: TFloatField;
    CCostInitialCost38: TFloatField;
    CCostInitialCost39: TFloatField;
    CCostInitialCost40: TFloatField;
    CCostInitialTotalCost: TFloatField;
    CCostInitialLogTime: TDateTimeField;
    CCostInitialLogApp: TStringField;
    CCostReport: TClientDataSet;
    COrderFinish: TClientDataSet;
    COrderFinishOrderNo: TStringField;
    COrderFinishCustomerId: TStringField;
    COrderFinishShortName: TStringField;
    COrderFinishFullName: TStringField;
    COrderFinishPoNo: TStringField;
    COrderFinishStatus: TStringField;
    COrderFinishShipDate: TDateTimeField;
    COrderFinishShipedDate: TDateTimeField;
    COrderFinishOrderDate: TDateTimeField;
    COrderFinishStatus1: TStringField;
    CExtraMas: TClientDataSet;
    CExtraMasExtraNo: TStringField;
    CExtraMasCostDate: TDateTimeField;
    CExtraMasDeptID: TStringField;
    CExtraMasCurrencyID: TStringField;
    CExtraMasRate: TFloatField;
    CExtraMasTotalMoney: TFloatField;
    CExtraMasRemark: TStringField;
    CExtraMasCreater: TStringField;
    CExtraMasCreateDate: TDateTimeField;
    CExtraMasUpdater: TStringField;
    CExtraMasUpdateDate: TWideStringField;
    CExtraMasQExtraSub: TDataSetField;
    CExtraSub: TClientDataSet;
    CExtraSubExtraNo: TStringField;
    CExtraSubOrderNo: TStringField;
    CExtraSubCostType: TStringField;
    CExtraSubProject: TStringField;
    CExtraSubSourceNo: TStringField;
    CExtraSubRemark: TStringField;
    CExtraMasDeptName: TStringField;
    CExtraSubTypeLabel: TStringField;
    CCostType: TClientDataSet;
    CCostTypeCostType: TStringField;
    CCostTypeTypeLabel: TStringField;
    CCostTypeTypeName: TStringField;
    CCostTypeCategoryID: TStringField;
    CCostTypeCategoryName: TStringField;
    CCostTypeEnabled: TBooleanField;
    CCostTypeBalance: TBooleanField;
    CCostTypeCostRate: TFloatField;
    CCostTypeRemark: TStringField;
    CCostTypeCreater: TStringField;
    CCostTypeCreateDate: TDateTimeField;
    CCostTypeUpdater: TStringField;
    CCostTypeUpdateDate: TDateTimeField;
    CExtraMasStatus: TStringField;
    CExtraSubSubTotal: TFloatField;
    CExtraMasApprover: TStringField;
    CExtraMasApproveDate: TDateTimeField;
    CExtraMasConfirmer: TStringField;
    CExtraMasConfirmDate: TDateTimeField;
    CExtraSubCostTypeName: TStringField;
    CStatExtra: TClientDataSet;
    CFinanceFinished: TBooleanField;
    CFinanceCostMonth: TIntegerField;
    CExtraList: TClientDataSet;
    CExtraListItemType: TSmallintField;
    CExtraListItemID: TStringField;
    CExtraListItemName: TStringField;
    CExtraListRemark: TStringField;
    CStatCostOrderNo: TWideStringField;
    procedure CExtraSubNewRecord(DataSet: TDataSet);
    procedure CExtraMasNewRecord(DataSet: TDataSet);
    procedure CExtraSubCostTypeValidate(Sender: TField);
    procedure CExtraSubOrderNoValidate(Sender: TField);
    procedure CFinanceCalcFields(DataSet: TDataSet);
    procedure CExtraListNewRecord(DataSet: TDataSet);
    procedure CExtraSubProjectValidate(Sender: TField);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  DMCost: TDMCost;

implementation

uses udata, udmbase;

{$R *.dfm}
procedure TDMCost.CExtraSubNewRecord(DataSet: TDataSet);
begin
  CExtraSub['ExtraNo']:=CExtraMas['ExtraNo'];
end;

procedure TDMCost.CExtraMasNewRecord(DataSet: TDataSet);
begin
  CExtraMas['CostDate']:=Date;
  CExtraMas['ExtraNo']:=AutoExtraNo(11);
  CExtraMas['Status']:='0';
  CExtraMas['Rate']:=1;
  CExtraMas['CurrencyID']:=CurrencyID;
end;

procedure TDMCost.CExtraSubCostTypeValidate(Sender: TField);
begin
  CheckCostType(TField(Sender).Value);
end;

procedure TDMCost.CExtraSubOrderNoValidate(Sender: TField);
begin
  CheckOrderNo(TField(Sender).Value);
end;

procedure TDMCost.CFinanceCalcFields(DataSet: TDataSet);
begin
  CFinance['CostMonth']:=100*CFinance['YearNo']+CFinance['MonthNo'];
end;

procedure TDMCost.CExtraListNewRecord(DataSet: TDataSet);
begin
  CExtraList['ItemType']:=10;
  CExtraList['ItemID']:=IntToStr(abs(CExtraList.RecNo));
end;

procedure TDMCost.CExtraSubProjectValidate(Sender: TField);
begin
  if not DMCost.CExtraList.Active then exit;
  if not DMCost.CExtraList.Locate('ItemName',TField(Sender).asstring,[]) then
  DMCost.CExtraList.AppendRecord([10,nil,TField(Sender).AsString, '系统提取']);
end;

end.

⌨️ 快捷键说明

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