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

📄 f_zcfy.pas

📁 ERP成本管理系统DELPHI ERP成本核算系统常常要设计含有如下车间
💻 PAS
字号:
unit f_zcfy;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, StdCtrls, Buttons, DB, ADODB, Mask, DBCtrls;

type
  Tw_zcfy = class(TForm)
    GroupBox1: TGroupBox;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    Label2: TLabel;
    Label1: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    BitBtn1: TBitBtn;
    DBGrid1: TDBGrid;
    ado_overhead_distribute: TADOQuery;
    data_overhead_distribute: TDataSource;
    DBEdit1: TDBEdit;
    ADOQuery2: TADOQuery;
    DataSource2: TDataSource;
    DBEdit2: TDBEdit;
    Label3: TLabel;
    Edit3: TEdit;
    Button1: TButton;
    ADOQuery3: TADOQuery;
    DataSource3: TDataSource;
    DBEdit3: TDBEdit;
    Label4: TLabel;
    ado_overhead_distributeactive_id: TStringField;
    ado_overhead_distributecost_active_id: TStringField;
    ado_overhead_distributerate: TFloatField;
    ado_overhead_distributeproduct_id: TStringField;
    ado_overhead_distributeproduct_distribute_cost: TFloatField;
    ADOQuery4: TADOQuery;
    DataSource4: TDataSource;
    DBEdit4: TDBEdit;
    DataSource5: TDataSource;
    ADOQuery5: TADOQuery;
    ADOQuery6: TADOQuery;
    DataSource6: TDataSource;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Label9: TLabel;
    ADOQuery2sum: TFloatField;
    ADOQuery5sum: TFloatField;
    ADOQuery3sum: TFloatField;
    ADOQuery4ss: TFloatField;
    DBEdit6: TDBEdit;
    DBEdit5: TDBEdit;
    ADOQuery1: TADOQuery;
    ADOQuery1sum: TFloatField;
    DataSource1: TDataSource;
    ADOQuery6s: TFloatField;
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  w_zcfy: Tw_zcfy;

implementation

uses f_active_id, f_cost_active_id, data_1;

{$R *.dfm}

procedure Tw_zcfy.SpeedButton1Click(Sender: TObject);
begin
 application.CreateForm(tw_active_id,w_active_id);
  if w_active_id.ShowModal=mrok then
  edit1.Text:=copy(trim(w_active_id.ComboBox1 .Text),1,5);
end;

procedure Tw_zcfy.SpeedButton2Click(Sender: TObject);
begin
application.CreateForm(tw_cost_active_id,w_cost_active_id);
  if w_cost_active_id.ShowModal=mrok then
  edit2.Text:=copy(trim(w_cost_active_id.ComboBox1 .Text),1,5);
end;

procedure Tw_zcfy.Button1Click(Sender: TObject);
begin
if edit1.Text='' then
   begin
      application.MessageBox('请选择活动号!!','提示',mb_ok+mb_IconInformation);
   end
else if edit2.Text ='' then
   begin
    application.MessageBox('请选择成本动因号!!','提示',mb_ok+mb_IconInformation);
   end
else begin
edit3.Text:=floattostr((strtofloat(dbedit1.Text))/(strtofloat(dbedit2.Text)));
edit7.Text:=floattostr((strtofloat(dbedit6.Text))*(strtofloat(edit3.text))) ;   //  104
edit6.Text:=floattostr((strtofloat(dbedit5.Text))*(strtofloat(edit3.text))) ;  //  103
edit4.Text:=floattostr((strtofloat(dbedit3.Text))*(strtofloat(edit3.text))) ;   //101
edit5.Text:=floattostr((strtofloat(dbedit4.Text))*(strtofloat(edit3.text))) ; //102
end;
end;
procedure Tw_zcfy.BitBtn1Click(Sender: TObject);
begin
    data1.database1.connected:=true;
    ado_overhead_distribute.Connection:=data1.database1;
 if edit4.Text+edit5.Text+edit6.Text+edit7.Text +edit3.Text='' then
 begin
   application.MessageBox('请先计算费用!!','提示',mb_ok+mb_IconInformation);
  end
 else
with   ado_overhead_distribute do begin
    Close;
    SQL.Clear;
    SQL.Add('insert into overhead_distribute(active_id,cost_active_id,rate,product_id,product_distribute_cost)'); //SQL文
    SQL.Add('values(:a_id,:c_id,:rate,:p_id,:p_d)');
    Parameters.Clear;
    Parameters.AddParameter.Name := 'a_id';
    Parameters.AddParameter.Name := 'c_id';
    Parameters.AddParameter.Name := 'rate';
    parameters.AddParameter.Name:='p_id';
    parameters.AddParameter.Name:='p_d';
    Parameters.ParamByName('a_id').Value := edit1.Text ;
    Parameters.ParamByName('c_id').Value := edit2.Text;
    Parameters.ParamByName('rate').Value := strtofloat(edit3.Text);
    Parameters.ParamByName('p_id').Value := 101;
    Parameters.ParamByName('p_d').Value :=strtofloat(edit4.Text);         //插入101
    ExecSQL; //執行


    SQL.Clear;
    SQL.Add('insert into overhead_distribute(active_id,cost_active_id,rate,product_id,product_distribute_cost)'); //SQL文
    SQL.Add('values(:a_id,:c_id,:rate,:p_id,:p_d)');
    Parameters.Clear;
    Parameters.AddParameter.Name := 'a_id';
    Parameters.AddParameter.Name := 'c_id';
    Parameters.AddParameter.Name := 'rate';
    parameters.AddParameter.Name:='p_id';
    parameters.AddParameter.Name:='p_d';
    Parameters.ParamByName('a_id').Value := edit1.Text ;
    Parameters.ParamByName('c_id').Value := edit2.Text;
    Parameters.ParamByName('rate').Value := strtofloat(edit3.Text);
    Parameters.ParamByName('p_id').Value := 102;
    Parameters.ParamByName('p_d').Value :=strtofloat(edit5.Text);
    ExecSQL; //執行                                                           //插入102

    SQL.Clear;
    SQL.Add('insert into overhead_distribute(active_id,cost_active_id,rate,product_id,product_distribute_cost)'); //SQL文
    SQL.Add('values(:a_id,:c_id,:rate,:p_id,:p_d)');
    Parameters.Clear;
    Parameters.AddParameter.Name := 'a_id';
    Parameters.AddParameter.Name := 'c_id';
    Parameters.AddParameter.Name := 'rate';
    parameters.AddParameter.Name:='p_id';
    parameters.AddParameter.Name:='p_d';
    Parameters.ParamByName('a_id').Value := edit1.Text ;
    Parameters.ParamByName('c_id').Value := edit2.Text;
    Parameters.ParamByName('rate').Value := strtofloat(edit3.Text);
    Parameters.ParamByName('p_id').Value := 103;
    Parameters.ParamByName('p_d').Value :=strtofloat(edit6.Text);            //插入103
    ExecSQL; //執行


    SQL.Clear;
    SQL.Add('insert into overhead_distribute(active_id,cost_active_id,rate,product_id,product_distribute_cost)'); //SQL文
    SQL.Add('values(:a_id,:c_id,:rate,:p_id,:p_d)');
    Parameters.Clear;
    Parameters.AddParameter.Name := 'a_id';
    Parameters.AddParameter.Name := 'c_id';
    Parameters.AddParameter.Name := 'rate';
    parameters.AddParameter.Name:='p_id';
    parameters.AddParameter.Name:='p_d';
    Parameters.ParamByName('a_id').Value := edit1.Text ;
    Parameters.ParamByName('c_id').Value := edit2.Text;
    Parameters.ParamByName('rate').Value := strtofloat(edit3.Text);
    Parameters.ParamByName('p_id').Value := 104;
    Parameters.ParamByName('p_d').Value :=strtofloat(edit7.Text);              //插入104
    ExecSQL; //執行

   ado_overhead_distribute.Close;
   ado_overhead_distribute.SQL.Clear;
   ado_overhead_distribute.SQL.Add('select * from overhead_distribute') ;
   ado_overhead_distribute.SQL.Add('exec pro_over 101');
   ado_overhead_distribute.SQL.Add('exec pro_over 102');
   ado_overhead_distribute.SQL.Add('exec pro_over 103');
   ado_overhead_distribute.SQL.Add('exec pro_over 104');
   ado_overhead_distribute.Open;
   application.MessageBox('分配成功!!','提示',mb_ok+mb_IconInformation);

   end;
            //显示表格
end;
end.

⌨️ 快捷键说明

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