mrprmtype.~pas

来自「家具行業的成本核算報价系統,主要征對家個產品的結構展開進行材料成本及人工制造費用」· ~PAS 代码 · 共 150 行

~PAS
150
字号
unit MRPRMTYPE;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base06, Menus, ImgList, Db, Grids, DBGrids, RXDBCtrl, StdCtrls, Buttons,
  DBCtrls, ExtCtrls, DBTables, Mask, CheckLst, ToolEdit, ComCtrls, DBActns,
  ActnList, ToolWin, DBGridEh, DBxEdit, RxCalc, XPMenu, ppDB, ppBands,
  ppCtrls, ppVar, ppPrnabl, ppClass, ppCache, ppProd, ppReport, ppComm,
  ppRelatv, ppDBPipe, lgmPanel, ADODB;

type
  TFrmMrpRmtype = class(TFmBase06)
    Panel3: TPanel;
    Label1: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    t_rmmst: TQuery;
    t_rmmstfrmcode: TStringField;
    t_rmmstfrmname: TStringField;
    t_rmmstfrmename: TStringField;
    t_rmmstfweight: TFloatField;
    t_rmmstfrmunit: TStringField;
    t_rmmstfrmlUnit: TStringField;
    t_rmmstl: TFloatField;
    t_rmmstfrmwUnit: TStringField;
    t_rmmstw: TFloatField;
    t_rmmstfrmhUnit: TStringField;
    t_rmmsth: TFloatField;
    t_rmmstfrmfnsh: TStringField;
    t_rmmstfrmscrew: TStringField;
    t_rmmstfrmnstup: TFloatField;
    t_rmmstfrmnstup0: TFloatField;
    t_rmmstfrmstdup: TFloatField;
    t_rmmstfkj: TFloatField;
    t_rmmstFCRYCODE: TStringField;
    t_rmmstfbctyp: TStringField;
    t_rmmstfbctup: TStringField;
    t_rmmstfpp: TStringField;
    TreeView: TTreeView;
    Splitter1: TSplitter;
    Edit2: TEdit;
    DBEdit1: TDBxEdit;
    DBEdit2: TDBxEdit;
    Label7: TLabel;
    v_loc: TQuery;
    StringField1: TStringField;
    StringField2: TStringField;
    StringField3: TStringField;
    StringField4: TStringField;
    StringField5: TStringField;
    StringField6: TStringField;
    StringField7: TStringField;
    ds_rep: TDataSource;
    v_rep: TQuery;
    ppDBPipeline1: TppDBPipeline;
    ppReport1: TppReport;
    ppHeaderBand1: TppHeaderBand;
    ppLabel1: TppLabel;
    ppLabel4: TppLabel;
    ppLabel5: TppLabel;
    ppSystemVariable1: TppSystemVariable;
    ppSystemVariable2: TppSystemVariable;
    ppColumnHeaderBand1: TppColumnHeaderBand;
    ppLabel2: TppLabel;
    ppLine1: TppLine;
    ppLine2: TppLine;
    ppLabel3: TppLabel;
    ppDetailBand1: TppDetailBand;
    ppDBText1: TppDBText;
    ppDBText2: TppDBText;
    ppLine3: TppLine;
    ppColumnFooterBand1: TppColumnFooterBand;
    ppFooterBand1: TppFooterBand;
    v_repfRmTypCode: TStringField;
    v_repfRmTypName: TStringField;
    v_repfbgtype: TStringField;
    v_repfasstype: TStringField;
    v_repfdisp: TStringField;
    v_repfSubjectCode: TStringField;
    qry: TADOQuery;
    v_cqusrtorm: TADOQuery;
    v_cqusrtormfRmTypCode: TWideStringField;
    v_cqusrtormfRmTypName: TWideStringField;
    v_cqusrtormfbgtype: TWideStringField;
    v_cqusrtormfasstype: TWideStringField;
    v_cqusrtormfdisp: TWideStringField;
    v_cqusrtormfSubjectCode: TWideStringField;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DSBase06StateChange(Sender: TObject);
    procedure BtnEditClick(Sender: TObject);
    procedure v_cqusrtormBeforePost(DataSet: TDataSet);
    procedure Edit2Change(Sender: TObject);
    procedure TreeViewExpanded(Sender: TObject; Node: TTreeNode);
    procedure TreeViewChange(Sender: TObject; Node: TTreeNode);
    procedure v_cqusrtormNewRecord(DataSet: TDataSet);
    procedure DBEdit1Exit(Sender: TObject);
    procedure act_addExecute(Sender: TObject);
    procedure act_editExecute(Sender: TObject);
    procedure act_saveExecute(Sender: TObject);
  private
      basesql,ordersql,SS: string;
    procedure addnode(node:TTreeNode;len:integer;grade:integer);

    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmMrpRmtype: TFrmMrpRmtype;
  node:ttreenode;

implementation

uses SYSdatA,unitpublic;
{$R *.DFM}

procedure TFrmMrpRmtype.addnode(node:TTreeNode;len:integer;grade:integer);
var
  i:integer;
  tmpnode:ttreenode;
begin
  for i:=node.Count downto 1  do
  begin
   qry.close;
   qry.sql.clear;
   qry.sql.Add('select fRmTypCode ,fRmTypName From t_rmtypmst where len(fRmTypCode)='+ inttostr(len) +' and left(fRmTypCode,'+inttostr(grade) + ')='+#39+copy(node.Item[i-1].Text,1,grade)+#39);
   qry.open;
   tmpnode:=node.Item[i-1];
   if tmpnode.GetLastChild.Index=qry.RecordCount-1 then  Continue;
   while not qry.eof do
     begin
       treeview.items.AddChild(tmpnode,qry.fields[0].asstring+'('+qry.fields[1].asstring+')');
       qry.next;
     end;
  end;
end;

procedure TFrmMrpRmtype.FormCreate(Sender: TObject);
var
  i : integer;
begin
  inherited;
  basesql:=v_cqusrtorm.sql.text;
  ordersql:=' order by frmtypcode ';
  treeview.Items.Clear;
  TreeView.Items.Add(NIL,'

⌨️ 快捷键说明

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